1.makefile常析(一)

include ../make_env \\表示上层目录的make_env 文件

语法:include <filename>filename可以是当前操作系统Shell的文件模式(可以保含路径和通配符

 

)这很像C语言的#include,被包含的文件会原模原样的放在当前文件的包含位置


COMM_INC = -I$(MTLIB_INCLUDE_PATH)/mtagent_api_open -I$(MYSQL_INCLUDE)/mysql -I$(MTLIB_INCLUDE_PATH)/Sockets -I/usr/include/fastcgi/ -I$(MTLIB_INCLUDE_PATH)/cgi -I$(MTLIB_INCLUDE_PATH)/my_proto -I$(MTLIB_INCLUDE_PATH)/mtreport_api -I$(MTLIB_INCLUDE_PATH)/mysqlwrapped -I$(MTLIB_INCLUDE_PATH)/cgicomm

ifneq ($(USE_DLL_COMM_LIB), yes)
COMM_LIB = $(MTLIB_LIB_PATH)/libfcgi.a $(MTLIB_LIB_PATH)/libneo_cgi.a $(MTLIB_LIB_PATH)/libneo_cs.a $(MTLIB_LIB_PATH)/libneo_utl.a -lz $(MTLIB_LIB_PATH)/libcgicomm.a $(MTLIB_LIB_PATH)/libmysqlwrapped.a $(MTLIB_LIB_PATH)/libmtreport_api_open.a $(MTLIB_LIB_PATH)/libSockets.a -L$(MYSQL_LIB) -lmysqlclient $(MTLIB_LIB_PATH)/libmyproto.a $(MTLIB_LIB_PATH)/libprotobuf.a $(MTLIB_LIB_PATH)/libmtreport_api.a -lz -lpthread -lrt
else
COMM_LIB = -L$(MTLIB_LIB_PATH) -lfcgi -lneo_cgi -lneo_cs -lneo_utl -lcgicomm -lmysqlwrapped -lmtreport_api_open -lSockets -L$(MYSQL_LIB) -lmysqlclient -L$(MTLIB_LIB_PATH) -lmyproto -lprotobuf -lmtreport_api -lz -lpthread -lrt
endif

CC = g++
OBJECT=$(patsubst %.cpp,%,$(wildcard *.cpp))
all: $(OBJECT)

SRC := $(wildcard *.cpp)
OBJ := $(SRC:.cpp=.o)
#DEP := $(SRC:.cpp=.d)

%:%.cpp
$(CC) $(CXXFLAGS) -o $@ $< $(OBJ_COMM) $(COMM_LIB) $(COMM_INC)
ifeq ($(USE_DLL_COMM_LIB), yes)
strip $@
endif

posted @ 2020-07-07 22:58  janeyjhon1  阅读(104)  评论(0)    收藏  举报