假如位於同乙個目錄demo,源程式位於src目錄下有a.c,b,c,include目錄下有my.h
這事編寫makefile需要的原始檔和標頭檔案位於不同目錄下,因此需要makefile規則中的函式,
$(wildcard *.c)獲取當前目錄下的所有.c檔案;
$(patsubst %.o,%.c,a.c,b.c);
把字串"a.c b.c"符合模式[%.c]的單詞替換成[%。o],返回a.o b.o;
%表示匹配零個或若干字元,%.h表示匹配所有以".h"結尾的檔案;
$(patsubst %.o,./%.o,obj/%.c,%.c);表示把當前目錄下的.c檔案替換成.o檔案,b儲存到obj目錄下。
bin=./bin
src=./src
inc=./include
obj=./obj;
source=$(wildcard $/*.c)
object=$(patsubst,%.o,$/%.o,$(notdir $))
target=exec;
bin_target=$/$
cc=gcc
cflags=-g -wall -i$
$(bin_target):$(object)
$ -o $@ $
$(object)/%.o:$/%.c
$ $ -o $@ -c $<
.phony:clean
clean:
find $ *o -exec rm -rf {} \;
rm -rf $
makefile 程式設計一
什麼是makefile?或許很多winodws的程式設計師都不知道這個東西,因為那些windows的ide都為你做了這個工作,但我覺得要作乙個好的和professional的程式設計師,makefile還是要懂。這就好像現在有這麼多的html的編輯器,但如果你想成為乙個專業人士,你還是要了解html...
Makefile基礎 變數
這一節我們詳細看看makefile中關於變數的語法規則。先看乙個簡單的例子 foo bar bar huh?all echo foo 我們執行make將會打出huh?當make讀到foo bar 時,確定foo的值是 bar 但並不立即展開 bar 然後讀到bar huh?確定bar的值是huh?然...
Makefile基礎講解
1 makefile基本語法 在makefile中我們經常看到 這幾個賦值運算子,那麼他們有什麼區別呢?我們來做個簡單的實驗 新建乙個makefile,內容為 ifdef define vre vre hello world else endif ifeq opt define vre hello ...