Makefile程式設計基礎

2021-08-16 20:13:16 字數 777 閱讀 1943

假如位於同乙個目錄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 ...