當前位置:首頁 » 法規百科 » linux的makefile語法規則

linux的makefile語法規則

發布時間: 2022-02-04 13:39:11

㈠ linux makefile或命令前的@有什麼意義

$@是Makfile里的一種自動化變數,代表目前規則中所有的目標的集合,在模式規則中,如果有多個目標,那麼,"$@"就是匹配於目標中模式定義的集合。
Makefile規則語法
targets : prerequisites

command
...
$@就是對應targets目標集合。
舉個例子具體說明:

objects = t1.o t2.o

$(objects): %.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
這里objects包含兩個目標,t1.o和t2.o,$@就代表objects,也即{t1.o t2.o}這個目標集合。

㈡ WINDOW NMAKE的makefile規則與linux的makefile有多大差異

foreach 是一個很重要的函數,在wind下應該支持,$(PATH_SC)\$(arg)裡面的\字元換下,windows和linux在路徑上是很有區別蝗,你把\換成/ 或者 兩個\即\\試下
$(PATH_SC)\$(arg)或者先把$(PATH_SC)\這部分去掉,看能不能從$(FILE_SR)裡面讀出數據
foreach 應該是支持的

㈢ windows和linux的makefile文件語法都一樣的嗎

關於 C 語言的多模塊編譯工具 make,其 makefile 文件中的語法規則都是一樣的。但是必須要仔細寫清楚編譯中的先後關系、甚至一個標點符號都不能夠缺少,否則的話,make 在編譯 makefile 文件時就會發生錯誤。

㈣ linux下makefile的問題

Makefile裡面有個all。這個是在make後面預設的時候會調用all。而make後面加上wang.exe是需要在Makefile裡面規定一個wang.exe的標簽的,一邊make wang.exe的時候能夠找到入口。看不到你完全的Makefile無法做出更詳細的回答

㈤ 關於linux的makefile

命令行必需以[Tab]鍵開始,以和Makefile其他行區別。
就是說所有的命令行必需以[Tab] 字元開始,但並不是所有的以[Tab]鍵出現行都是命令行。但make程序會把出現在第一條規則之後的所有以[Tab]字元開始的行都作為命令行來處理。
你下面的rm語法上沒問題的,所以應該是[Tab]的問題。

㈥ linux的makefile問題

edit : main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
cc -o edit main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o

這個意思是說把這些目標文件鏈接生成叫做edit的可執行文件。cc就是gcc編譯器

㈦ linux裡面的make和makefile是做什麼的

1、make:是一個非常重要的編譯命令,本質上它是一個程序。利用make工具,可以將大型的開發項目分解成為多個更易於管理的模塊,對於一個包括幾百個源文件的應用程序,使用make和makefile工具就可以簡潔明快地理順各個源文件之間紛繁復雜的相互關系。而且如此多的源文件,如果每次都要鍵入gcc命令進行編譯的話,那對程序員來說簡直就是一場災難。而make工具則可自動完成編譯工作,並且可以只對程序員在上次編譯後修改過的部分進行編譯。

2、Makefile文件 :Make工具最主要也是最基本的功能就是通過makefile文件來描述源程序之間的相互關系並自動維護編譯工作,本質上makefile文件是個文本文件,用於配置編譯過程。makefile 文件需要按照某種語法進行編寫,文件中需要說明如何編譯各個源文件並連接生成可執行文件,並要求定義源文件之間的依賴關系。makefile 文件是許多編譯器--包括 Windows NT 下的編譯器--維護編譯信息的常用方法,只是在集成開發環境中,用戶通過友好的界面修改 makefile 文件而已。

3、在 UNIX 系統中,習慣使用 Makefile 作為 makfile 文件。如果要使用其他文件作為 makefile,則可利用類似下面的 make 命令選項指定 makefile 文件:

$ make -f Makefile.debug

例如,一個名為prog的程序由三個C源文件filea.c、fileb.c和filec.c以及庫文件LS編譯生成,這三個文件還分別包含自己的頭文件a.h 、b.h和c.h。通常情況下,C編譯器將會輸出三個目標文件filea.o、fileb.o和filec.o。假設filea.c和fileb.c都要聲明用到一個名為defs的文件,但filec.c不用。即在filea.c和fileb.c里都有這樣的聲明:
#include "defs"
那麼下面的文檔就描述了這些文件之間的相互聯系:
#It is a example for describing makefile
prog : filea.o fileb.o filec.o
cc filea.o fileb.o filec.o -LS -o prog
filea.o : filea.c a.h defs
cc -c filea.c
fileb.o : fileb.c b.h defs
cc -c fileb.c
filec.o : filec.c c.h
cc -c filec.c
這個描述文檔就是一個簡單的makefile文件。

㈧ linux中Makefile中:=表示意思,解釋一下,謝謝

makefile中:=是指引用,比如 KDIR:= /lib/moles/2.6.30/build,其中文件路徑太長,用KDIR來表示,在後面的語句中就可以用$KDIR來代指/lib/moles/2.6.30/build;其實就是為了方便程序的書寫。記著引用時要在前面加$。 就類似於C語言變數的概念。

㈨ 在linux下怎麼makefile

Linux系統下makefile的作用把編寫好的源文件進行編譯與鏈接,makefile的基本格式如下:

target…
:prerequisite…
(Tab鍵)command
#格式解釋
target:生成的目標文件,可以是可執行文件,也可以是中間目標文件
prerequisite:生成target所需要的文件
command:make需要的執行命令,一般是編譯與鏈接的命令,命令前面必須要有Tab鍵才能有效果

makefile的簡單例子(用的Ubuntu11.10):

gcc–chello.c:編譯command目錄下的hello.c源文件,編譯之後會生成hello.o中間文件。
rm:刪除command目錄下的hello.o與exe.out文件
./exe.out:輸出exe.out可執行文件,hello.c中寫的是HelloWorld!
make:make命令與makeexe命令執行的效果是一樣的。

㈩ 如何在linux下寫makefile

Make工具最主要也是最基本的功能就是通過makefile文件來描述源程序之間的相互關系並自動維護編譯工作。而makefile 文件需要按照某種語法進行編寫,文件中需要說明如何編譯各個源文件並連接生成可執行文件,並要求定義源文件之間的依賴關系。

make命令的選項與參數

然後就完了。

熱點內容
談道德教育 發布:2025-06-22 17:04:45 瀏覽:292
什麼是經濟法基礎理論體系 發布:2025-06-22 17:01:01 瀏覽:450
王曉雨司法 發布:2025-06-22 16:53:47 瀏覽:284
平陰弘正法律服務 發布:2025-06-22 16:44:30 瀏覽:833
刑事訴訟法被告人申請證人出庭程序 發布:2025-06-22 16:42:36 瀏覽:776
中國政法大學研究生院有民事訴訟法 發布:2025-06-22 16:41:58 瀏覽:542
法院怎麼投訴 發布:2025-06-22 16:35:22 瀏覽:795
東莞市最新相關產假的勞動法 發布:2025-06-22 16:35:20 瀏覽:64
王竹梅2014一建法規 發布:2025-06-22 16:33:03 瀏覽:50
深圳區法院網 發布:2025-06-22 16:29:56 瀏覽:330