90 lines
1.9 KiB
Makefile
90 lines
1.9 KiB
Makefile
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"
|