1. 程式人生 > >linux: 幾個常用makefile模板

linux: 幾個常用makefile模板

不才,總結個人常用makefile模板,以備後用。

1、編譯動態庫

############################################################# 
# Makefile for shared library.
# 編譯動態連結庫
#############################################################
#set your own environment option
CC = g++
CC_FLAG = -D_NOMNG -D_FILELINE

#set your inc and lib
INC = 
LIB = -lpthread -L./ -lsvrtool

#make target lib and relevant obj 
PRG = libsvrtool.so
OBJ = Log.o

#all target
all:$(PRG)

$(PRG):$(OBJ)
	$(CC) -shared -o 
[email protected]
$(OBJ) $(LIB) .SUFFIXES: .c .o .cpp .cpp.o: $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o .PRONY:clean clean: @echo "Removing linked and compiled files......; rm -f $(OBJ) $(PRG)

2、編譯靜態庫

#############################################################
# Makefile for static library.
# 編譯靜態連結庫
#############################################################
#set your own environment option
CC = g++
CC_FLAG = -D_NOMNG -D_FILELINE

#static library use 'ar' command 
AR = ar

#set your inc and lib
INC = 
LIB = -lpthread -L./ -lsvrtool

#make target lib and relevant obj 
PRG = libsvrtool.a
OBJ = Log.o

#all target
all:$(PRG)
$(PRG):$(OBJ)
	${AR} rv ${PRG} $?

.SUFFIXES: .c .o .cpp
.cpp.o:
	$(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o

.PRONY:clean
clean:
	@echo "Removing linked and compiled files......"
	rm -f $(OBJ) $(PRG)

3、可執行程式

###########################################
#Makefile for simple programs
###########################################
INC=
LIB= -lpthread

CC=CC
CC_FLAG=-Wall

PRG=threadpooltest
OBJ=CThreadManage.o CThreadPool.o CThread.o CWorkerThread.o threadpooltest.o

$(PRG):$(OBJ)
	$(CC) $(INC) $(LIB) -o 
[email protected]
$(OBJ) .SUFFIXES: .c .o .cpp .cpp.o: $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o .PRONY:clean clean: @echo "Removing linked and compiled files......" rm -f $(OBJ) $(PRG)


隨機組合、舉一反三會寫出適合專案的makefile

相關推薦

linux: 常用makefile模板

不才,總結個人常用makefile模板,以備後用。 1、編譯動態庫 ############################################################# # Makefile for shared library. # 編譯動態連結庫

Linux先知和常用命令細講

ubun bubuko 選擇 用戶 庫文件 重命名 options 共享 手冊 Linux先知:   Linux歷史:     關於這個我就不再多說了,其實是一個很有意思的故事串,網上找下一大堆。   類Unix系統目錄結構:     ubuntu沒有盤符這個概念,只有一個

列舉常用linux命令以及說明?

在這裡,為大家整理了一些經常用到的Linux命令,及常用引數,希望大家有用!如有偏頗,請指正! LS命令 -作用:顯示目錄內容,類似DOS下的DIR -格式:LS【options】【filename】 -常用引數:   >-a:all,不隱藏任何以"."字元開始的檔案  

常用Linux監控指令碼

最近時不時有網際網路的朋友問我關於伺服器監控方面的問題,問常用的伺服器監控除了用開源軟體,比如:cacti,nagios監控外是否可以自己寫shell指令碼呢?根據自己的需求寫出的shell指令碼更能滿足需求,更能細化主機監控的全面性。 下面是我常用的幾個主機監控的指令碼,

Linux常用的快捷鍵

1. [tab] 鍵 在linux所有的shell中,[tab]是最常用的也是linux的bash shell中最棒的功能;它具有命令補全和檔案補全的功能。如果不使用[tab]鍵,那就別說自己懂linux! 舉例,命令補全 我想將磁碟格式化成ext3 ,但是不知道命令是什麼了

PHP執行系統命令的有常用的函數

exe 自動 文件操作 nal 外部命令 中間 ring 打開 lcm PHP執行系統命令的有幾個常用的函數,如有:system函數、exec函數、popen函數,passthru,shell_exec函數他們都可以執行系統命令,不過前提時必須系統給了權限了哦。 syste

miniui常用知識點匯總

簡單 去除 spa 自帶 超過 表格 繪制 val wro 1.在表格中去除系統自帶的序列號,請看代碼: function allAndBrief(id) { if(id==1){ grid.set({

hadoop的常用命令

hadoop官方文檔:http://hadoop.apache.org/docs/r1.2.1/file_system_shell.html1、登錄主節點,切換到hdfs用戶[[email protected]/* */~]#su - hdfs2、列出當前目錄有哪些子目錄,有哪些文件[[email

封裝對象,包含常用方法

nts opp 操作 阻止事件冒泡 3.1 坐標 stop pre 處理 這兩天復習了DOM事件綁定,記錄一下,便於復習學習。 1 事件處理程序  1.1 HTML事件處理程序:直接寫在html中,和html不解耦,修改麻煩  1.2 DOM0級事件處理程序:不寫在html

linux重要的組合鍵

str windows系統 有效 錯誤 alt font 參數 pwck ubuntu   我們在用Windows系統時,有沒有感覺快鍵鍵讓我們工作更有效率,在Linux系統中仍有很好用的快捷鍵,這些快捷鍵可以輔助我們進行指令的編寫與程序的中斷呢,下面介紹幾個經常用到的快捷

Python:print()函數的常用參數

com file open 默認 strong 其他 end 空格 文件的 1.參數sep:設置輸出字符產之間的字符串。默認是空格 1 name=‘Tomwenxing‘ 2 age=‘23‘ 3 job=‘student‘ 4 print(name,age,job) 5

請求網頁常用庫的用法:

完成 data report 第三方庫 () .get 參數說明 進度 函數 1、urllib urlopen()方法urllib.urlopen(url[, data[, proxies]]) :創建一個表示遠程url的類文件對象,然後像本地文件一樣操作這個類文件對

常用網絡/服務器監控開源軟件

memcached 托管 不能 不足 div ios系統 正在 linux下 tle 想要更清晰的了解你的網絡嗎?沒有比這幾個免費的工具更好用的了。 網絡和系統監控是一個很寬的範疇。有監控服務器、網絡設備、應用正常工作的方案,也有跟蹤這些系統和設備性能,提供趨勢性能分

Python的常用模塊

comm line 時間 sdi make 常用模塊 常用 一級目錄 就會 一、sys 用於提供對Python解釋器相關的操作: sys.argv 命令行參數List,第一個元素是程序本身路徑 sys.exit(n) 退出程序,正常退

常用規則引擎的簡單介紹和演示

規則引擎 drools ilog odm Ilog JRules 是最有名的商用BRMS;Drools 是最活躍的開源規則引擎;Jess 是Clips的java實現,就如JRuby之於Ruby,是AI系的代表;Visual Rules(旗正規則引擎)國內商業規則引擎品牌。今天對比了一下這四個頗

Eclipse的常用快捷鍵

單行 處理 所在 格式化 個常用快捷鍵 變量名 pan 單行註釋 自己 鍵盤操作             功能 Alt + /              語句或變量名自動補全 Ctrl + Shift + F          語句格式化 Ctrl + /      

XPATH的常用函數

寫法 www. ins 如果 情況 true id屬性 text 常用 1.contains (): //div[contains(@id,‘in‘)] ,表示選擇id中包含有’in’的div節點2.text():由於一個節點的文本值不屬於屬性,比如

wget命令的常用選項和示例

一個 上下 由於 cnblogs 覆蓋 tmp pos ica 文件名 wget命令用來從指定的URL下載文件。wget非常穩定,它在帶寬很窄的情況下和不穩定網絡中有很強的適應性,如果是由於網絡的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務器打斷下載

python通過一個語句分析常用函數和概念

完全 1.4 優點 難解 實現 word 開篇 iter 執行 前言 過年也沒完全閑著,每天用一點點時間學點東西,本文為大家介紹幾個python操作的細節,包含all、any、for in等操作,以及介紹我解決問題的思路。 一、開篇 先從我看到的一個簡單的語句開始。 tex

PHP常用的概率算法

pre 最終 iss 通過 col pretty rand AC each 算法一 /** * 全概率計算 * * @param array $p array(‘a‘=>0.5,‘b‘=>0.2,‘c‘=>0.4) * @return string 返回上