簡單通用的makefile文件

上一篇 / 下一篇  2009-08-31 12:21:40 / 個人分類:Linux

###########################################################
#通用makefile文件
# makefile規則
# target ... : prerequisites ...
# command
# ...
# ...
# target是一個目標文件,可以是Object File,也可以是執行文件?
# prerequisites是要生成那個target所需要的文件或是目標,用空格隔開
# command也就是make需要執行的命令。 (任意的Shell命令,以Tab開頭)
###########################################################

#定義編譯器
CC := g++

#定義應用程序名稱或者庫名稱
AppName := ugg

#版本信息(生成so文件需要設置)
#APP_VERSION = 1

#子目錄
SRCDIRS :=

#編譯選項
FLAGS := -g -Wall
CFLAGS := $(FLAGS)
CXXFLAGS := $(CFLAGS)

###########################################################

#以下部分不需修改

#定義編譯源文件
SRC = $(wildcard *.c) $(wildcard *.cc) $(wildcard *.cpp)

#定義包含文件,以及庫引用
#LINC := -I/home/y/include
LINC :=
#LLDLIBS := -L/home/y/lib -L/usr/local/lib -lmysqlclient -lyconf -llog4cpp_y LLDLIBS :=

OBJS := $(patsubst %.cpp,%.o, $(patsubst %.c, %.o, $(patsubst %.cc, %.o, $(SRC))))

all: depend $(OBJS)
     $(CC) $(FLAGS) $(OBJS) -o $(AppName)

depend: $(SRC)
     @$(CC) $(FLAGS) -w -MM $^ > $@

-include depend

.PHONY:clean install uninstall rebuild start check test tar

#刪除過程文件
clean:
     -rm $(AppName) $(OBJS) depend

#安裝
install:
     echo "No Support!";
#卸載
uninstall:
     echo "No Support!";

#重新編譯
rebuild: clean all

#開始運行
start:
     -./$(AppName)

#測試
check:
     -make -t

#測試
test: check

#打包
tar:rebuild
     echo "No Support!"

#################文件結束##################################
自己寫的makefile文件,使用比較簡單,僅使用於源文件在同一目錄下應用。

詳細,參考文檔內說明即可。

TAG: Linux LINUX makefile

 

評分:0

我來說兩句

顯示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

關於作者

網絡推薦

Real Time Web Analytics