u
This commit is contained in:
89
jtlsrv-cpp/Makefile
Normal file
89
jtlsrv-cpp/Makefile
Normal file
@@ -0,0 +1,89 @@
|
||||
CXX := g++
|
||||
CC := gcc
|
||||
PKGFLAGS := $(shell pkg-config --cflags libuv openssl vips)
|
||||
PKGLIBS := $(shell pkg-config --libs libuv openssl vips)
|
||||
|
||||
BUILD_DIR := build
|
||||
BINARY := jtlsrv
|
||||
|
||||
CXXFLAGS := -std=c++17 -Wall -Wextra -Isrc -Ivendor $(PKGFLAGS)
|
||||
CFLAGS := -Wall -Ivendor
|
||||
LDFLAGS := $(PKGLIBS) -lodbc -pthread
|
||||
|
||||
ifeq ($(DEBUG),1)
|
||||
CXXFLAGS := -std=c++17 -Wall -Wextra -g -O0 -Isrc -Ivendor $(PKGFLAGS)
|
||||
CFLAGS := -Wall -g -O0 -Ivendor
|
||||
else
|
||||
CXXFLAGS += -O2
|
||||
CFLAGS += -O2
|
||||
endif
|
||||
|
||||
CPP_SRCS := \
|
||||
src/main.cpp \
|
||||
src/log.cpp \
|
||||
src/http.cpp \
|
||||
src/tls_server.cpp \
|
||||
src/pairing.cpp \
|
||||
src/router.cpp \
|
||||
src/endpoints/client.cpp \
|
||||
src/endpoints/init.cpp \
|
||||
src/endpoints/category.cpp \
|
||||
src/endpoints/product.cpp \
|
||||
src/endpoints/productcomposite.cpp \
|
||||
src/endpoints/deleted_entity.cpp \
|
||||
src/endpoints/customergroup.cpp \
|
||||
src/endpoints/order.cpp \
|
||||
src/endpoints/pimage.cpp \
|
||||
src/endpoints/cimage.cpp \
|
||||
src/db/pool.cpp \
|
||||
src/queries/shop.cpp \
|
||||
src/request_log.cpp \
|
||||
src/order_log.cpp
|
||||
|
||||
C_SRCS := \
|
||||
vendor/llhttp.c \
|
||||
vendor/api.c \
|
||||
vendor/http.c
|
||||
|
||||
CPP_OBJS := $(patsubst src/%.cpp,$(BUILD_DIR)/src/%.o,$(CPP_SRCS))
|
||||
C_OBJS := $(patsubst vendor/%.c,$(BUILD_DIR)/vendor/%.o,$(C_SRCS))
|
||||
OBJS := $(CPP_OBJS) $(C_OBJS)
|
||||
|
||||
.PHONY: all debug clean rebuild run help
|
||||
|
||||
all: $(BINARY)
|
||||
|
||||
debug:
|
||||
$(MAKE) DEBUG=1 all
|
||||
|
||||
$(BINARY): $(OBJS)
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
$(CXX) $(OBJS) -o $@ $(LDFLAGS)
|
||||
|
||||
$(BUILD_DIR)/src/%.o: src/%.cpp
|
||||
@mkdir -p $(dir $@)
|
||||
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
|
||||
$(BUILD_DIR)/vendor/%.o: vendor/%.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR) $(BINARY)
|
||||
|
||||
rebuild: clean all
|
||||
|
||||
run: all
|
||||
@mkdir -p logs
|
||||
./$(BINARY)
|
||||
|
||||
help:
|
||||
@echo "Usage: make [target]"
|
||||
@echo ""
|
||||
@echo " all Build $(BINARY) (default)"
|
||||
@echo " debug Build with -g -O0"
|
||||
@echo " clean Remove $(BUILD_DIR)/"
|
||||
@echo " rebuild clean + all"
|
||||
@echo " run Build and start the server"
|
||||
@echo ""
|
||||
@echo "Variables: DEBUG=1"
|
||||
Reference in New Issue
Block a user