#./*.c SRC=. SRCFILE= $(wildcard $(SRC)/*.c) DETACHDIR= $(notdir $(SRCFILE)) OBJECTS= $(patsubst %.c, $(OBJ)/%.o, $(DETACHDIR)) #../lib/*.a + ../lib/*.so LIBPATH=./lib LIBFILE = $(wildcard $(LIBPATH)/*.a $(LIBPATH)/*.so) DETACHDIRLIB = $(notdir $(LIBFILE)) LIBOBJA = $(patsubst lib%.a, -l%, $(DETACHDIRLIB)) #LIBOBJ = $(patsubst lib%.so, -l%, $(LIBOBJA)) LIB= -Xlinker "-(" LIB+=-Wl,--whole-archive LIB+=-L$(LIBPATH) $(LIBOBJA) LIB+=-Wl,--no-whole-archive -Wl,-Bdynamic LIB+=-Xlinker "-)" LIB+=./lib/libmaatframe.a LIB+=./lib/libfastcommon.a LIB+=./lib/libfdfsclient.a LIB+=-lpthread LIB+=-lmagellan_logger -lMESA_handle_logger -lMESA_prof_load -lMESA_htable -lrt -lm -lrulescan -lpcre -lMESA_field_stat2 -lcrypto -lhiredis_vip -lwiredcfg -lWiredLB #LIB+=-lstdc++ #LIB+=-lrt #LIB+=-lcrypto #LIB+=-lz #-I iclude INC=./inc INCLUDE=-I$(INC) INCLUDE+=-I$(INC)/MESA #INCLUDE+=-I$(INC)/leveldb INCLUDE+=-I$(INC)/MAAT INCLUDE+=-I$(INC)/MANAGER INCLUDE+=-I$(INC)/fastdfs INCLUDE+=-I$(INC)/fastcommon #define fun #ifeq ($(fun), p) #BINFILE=tensor_producer #P_FLAG=-D CONFIG_P #else ifeq ($(fun), c) #BINFILE=tensor_consumer #P_FLAG=-D CONFIG_C #endif BINFILE=tensor # target ../bin/ BIN=../bin #BIN=./bin TARGET=$(BIN)/$(BINFILE) OBJ=./obj G_FLAG= -g -Wall G_FLAG += -D_XOPEN_SOURCE=500 #add -D G_FLAG += -D__STDC_FORMAT_MACROS #added by zzy #G_FLAG += $(P_FLAG) $(OBJ)/%.o:$(SRC)/%.c g++ -c $(G_FLAG) $(INCLUDE) $< -o $@ $(TARGET):$(OBJECTS) g++ $(OBJECTS) $(G_FLAG) $(LIB) $(INCLUDE) -o $@ #cp ../bin/tensor /home/liujunpeng/pzx_pro/ #cp ../bin/tensor /home/liujunpeng/pzx_con/ help: @echo "make clean;make" clean: rm -rf $(BIN)/tensor rm -rf $(OBJ)/*