PracticeDev/study_clang/Mimic/test_judge/Makefile

45 lines
899 B
Makefile
Raw Permalink Normal View History

2022-12-20 17:31:11 +08:00
ARCH ?=
CC = $(ARCH)g++
STRIP = $(ARCH)strip
#以下同根目录下的makefile的相同代码的解释
INC_DIR=./include ../common
DIR_SRC=./src
OBJS_DIR=./obj
LD_DIR=
TARGETS=./judge_test
CUR_SOURCE=$(wildcard ${DIR_SRC}/*.cpp)
CFLAGS += $(foreach dir,$(INC_DIR),-I$(dir))
CUR_OBJS = $(patsubst $(DIR_SRC)/%.cpp, $(OBJS_DIR)/%.o, $(CUR_SOURCE))
CFLAGS += -Wall -std=c++11 -g
LD=-lpthread $$(mysql_config --cflags --libs) -lzmq
all:$(TARGETS)
$(OBJS_DIR)/%.o : $(DIR_SRC)/%.cpp
@mkdir -p $(OBJS_DIR)
@$(CC) $(CFLAGS) -c $< -o $@
@echo $(CC) $(CFLAGS) "-c" $(notdir $<) "-o" $(notdir $@)
$(TARGETS): $(CUR_OBJS)
@$(CC) $(CUR_OBJS) -o $(TARGETS) -L$(LD_DIR) $(LD)
#@$(STRIP) $(TARGETS)
clean:
@rm -rf $(CUR_OBJS)
@rm -rf $(TARGETS)
@rm -rf $(OBJS_DIR)
install:
$(INSTALL) $(TARGETS) $(BIN_DIR)
print:
@echo $(CC) $(CFLAGS)
@echo $(CUR_OBJS)
@echo $(CUR_SOURCE)