一個很好makefile實例!

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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章