簡單通用的makefile文件
########################################################################### 通用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文件,使用比較簡單,僅使用於源文件在同一目錄下應用。
詳細,參考文檔內說明即可
最後更新:2017-04-02 00:06:25
上一篇:
博客賺錢
下一篇:
誰偷走了我們的工資?
怎樣製作一個簡單ip,以方便在Quartus II和Nios II中使用?.[Nios II][上]
網絡•全智慧 安全•新變革
php隨機字符串
PostgreSQL 10.0 preview 功能增強 - 備庫支持"時間、字節"六維延遲
隻需七步就能掌握Python數據準備
《Google軟件測試之道》—第2章2.1節SET的工作
Java網絡教程:Protocol Design
解決方法:java.util.MissingResourceException Can't find bundle for base name
YARN-Capacity Scheduler
清除Android工程中沒用到的資源