一个很好makefile实例!

来源:互联网 发布:pes2018意甲球员数据库 编辑:程序博客网 时间:2024/06/06 07:17

TARGET = /export/bin/liveupdate_C2_debug  //目标文件的当前目录
CPPOBJS = $(filter-out irtest.o,$(patsubst %.cpp,%.o,$(wildcard *.cpp)))  //将当前目录下的所有.cpp文件转换为.o文件
CPPOBJS += ../../../../../ShineManagement_MspInterface/LibTools/Source/IniFile.o
COBJS += $(filter-out irtest.o,$(patsubst %.c,%.o,$(wildcard *.c))) // 将当前目录下的所有.c文件转换为.o文件

CC = c2-linux-gcc //c文件编译
CXX = c2-linux-g++  //c++文件编译
CXXFLAGS = -g -Wall -ggdb -D_Debug  -D_SHINE_LINUX_ -D_SHINE_LINUX_SUNPLUS_  -D_SHINE_SHOW_MAC_ -D_SHINE_LINUX_SUNPLUS_NO_ORDERSERVER_ -D_SHINE_DEBUG_AUTODOWN_LASTLOGIN_ -D_SHINE_2_LINUX_ -D_SHINE_2_LINUX_C2_ -D_SHINE_LINUX_C2_ 

LIB_PATH =
CXXLIBS = $(LIB_PATH) -lpthread
all : $(TARGET)

$(TARGET) : $(CPPOBJS) $(COBJS)
 $(CXX)  -o $@ $(CXXFLAGS) $+ $(CXXLIBS)

$(CPPOBJS) : %.o : %.cpp
 $(CXX) $(CXXFLAGS) -c $< -o $@


$(COBJS) : %.o : %.c
 $(CC) $(CXXFLAGS) -c $< -o $@

distclean : clean
 rm -f $(TARGET)

clean :
 rm -f $(COBJS)
 rm -f $(CPPOBJS)
 rm -f $(TARGET)

原创粉丝点击