#設定編譯器和編譯參數
CC=g++ -std=c++11 -g -Wall
#設定需要包含的頭檔案目錄
CFLAGS = -I./inc
#設定需要包含的動态庫和靜态庫目錄
LFLAGS = -L/usr/local/lib
#指定要連結的動态庫或靜态庫
LDEXEFLAGS = -ljemalloc -lcurl
#設定存放.o檔案的目錄
OBJDIR = obj
#設定存放.c和.cpp檔案的目錄
SRCDIR += src
ALL_SRC += $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.cpp))
ALL_OBJ += $(patsubst src/%.cpp, $(OBJDIR)/%.o, $(ALL_SRC))
#設定可執行檔案名
all:server
server: $(ALL_OBJ)
$(CC) $(LFLAGS) $(ALL_OBJ) $(LDEXEFLAGS) -o $@
$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
$(CC) $(CFLAGS) $(ALL_INCLUDE) -c $< -o $@
#make clean
clean:
rm -f ./obj/*.o server