SRCDIR = . ../implc # 源代码目录,该目录所有文件均编译时添加
SRC = $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.c, $(dir)/*.cpp)) # 循环上文的全部目录中的全部代码文件
SRC += # 添加单个源文件
OBJS = (foreach file, $(SRCS), $(patsubst %.cpp, %.o, %(patsubst %.c, %.o, $(file))))
INCLUDE += -I./ -I../../SDK/Include # 头文件目录
PREFIX = . # 目录文件输出目录
CCM := gcc -MM -MG
CXXFLAGS += $(INCLUDE) -w -DHAVE_CXX_STDHEADERS -DNODEBUG -fPIC -ggdb
CLAGS += $(INCLUDE) -w -ggdb
LDFLAGS +=
LDDBSVR = -L/lib -Xlinker -rpath -Xlinker /lib -ldl
TesterLib = TesterLib
$(TesterLib): .precom $(OBJS)
$(CXX) $(INCLUDE) $(LDFLAGS) $(LDDBSVR) $(OBJS) -shared -o $(PREFIX)/lib$@.so # 行首为Tab键
.c.o:
$(CC) $(CFLAGS) -c $< -o $@ # 行首为Tab键
.cpp.o:
$(CXX) $(CXXFLAGS) -c $< -o $@ # 行首为Tab键
-include .precom
.precom:
$(CCM) $(SRCS) $(INCLUDE) $(CXXFLAGS) > .precom # 行首为Tab键
.PHONY: clean
clean:
rm -f $(OBJS) .precom $(PREFIX)/lib$(TesterLib).so # 行首为Tab键
distclean:clean