導航:首頁 > 操作系統 > linuxmakefile

linuxmakefile

發布時間:2022-02-04 08:37:33

1. linux下makefile文件的編寫

INC_PATH:=-I./include/
LIB_PATH:=-L./lib/
LIBS:=$(LIB_PATH)-lerr-larm
CC:=gcc
LD:=gcc
CFLAGS:=-O2-Wall$(INC_PATH)
SRC_PATH:=./source
SOURCE:=$(SRC_PATH)/a.c
$(SRC_PATH)/b.c
$(SRC_PATH)/c.c
TARGET:=target
OBJS:=a.ob.oc.o
$(TARGET):$(OBJS)
$(LD)-O2-o$(TARGET)$(OBJS)$(LIBS)
a.o:$(SRC_PATH)/a.c
$(CC)$(CFLAGS)-c-o$@$<
b.o:$(SRC_PATH)/b.c
$(CC)$(CFLAGS)-c-o$@$<
c.o:$(SRC_PATH)/c.c
$(CC)$(CFLAGS)-c-o$@$<
.PHONY:clean
clean:
-rm-f$(OBJS)

2. linux Makefile configure裡面 += := -= 這些符號的意思

:= 和 = 用在賦值時,:= 的賦值是馬上生效, 而 = 則是等到變數被引用時才遞歸生效。用兩個簡單的makefile舉例說明最簡單:

makefile1:
bar=456
foo=${bar}
bar=${xxx}
xxx=123

all:
echo ${foo}

echo出的結果是 123, foo的值在 echo 的時候,先被擴展成 ${bar}, 再遞歸的被擴展成 ${xxx},最終是123

makefile2:
bar=456
foo:=${bar}
bar=${xxx}
xxx=123

all:
echo ${foo}
此時由於 用了 := ,在賦值時候 foo 的值就直接被擴展成 bar 在那個時刻的值,即 456, 最後的echo的結果也就是 456 了。

+= 就很簡單了,就是在一個變數的值的尾部增加內容,如:
foo = abc
foo += efg

則 foo 的值就是 abc efg

makefile沒有 -= 這個操作符。

3. linux 系統自帶makefile的么在哪裡找到

redhat 4.0?你說的是RHEL4吧

makefile僅僅是文件而已,或者說一系列腳本,可以手工編寫,也可以其他腳本或者開發環境自動生成,然後你使用make命令調用makefile文件

寒死我了lz makefile是隨源代碼發行包一起提供的 ,通常來講,下載源代碼後運行./configure 然後就自動生成合適你的系統的makefile 然後運行make即可

總之上搜索引擎查查make的使用方法就了解了

4. LINUX makefile 命令

第4步是第三步的說明。
也就是說 第三步應該會輸出第四步這些東西。
然後你要根據你的需求 以及第四步的說明,來配置./18_angels的參數。

5. 關於linux的makefile

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

6. 在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命令執行的效果是一樣的。

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

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

8. linux下makefile問題

A目錄MAkefile內容是什麼。cd ../A ?這里有問題 ,不是上一級目錄,可以這樣改:

make -C A/
make -C B/

9. 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文件。

10. 如何在linux下寫makefile

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

make命令的選項與參數

然後就完了。

閱讀全文

與linuxmakefile相關的資料

熱點內容
oppor系列如何解除應用加密 瀏覽:598
程序員那麼可愛姜逸城初戀 瀏覽:495
modbustcp編程 瀏覽:490
實況為什麼安卓看不了 瀏覽:129
Java多線程Queue 瀏覽:94
雲伺服器499元三年 瀏覽:980
nbd源碼 瀏覽:846
x86在arm上編譯 瀏覽:7
linux怎麼配置網路 瀏覽:307
程序員想要的小禮物 瀏覽:186
java獲取網頁url 瀏覽:624
怎麼做解壓神器泡泡版 瀏覽:966
自己動手做一個c編譯器 瀏覽:929
手機如何鏈接谷歌伺服器地址 瀏覽:137
廢掉一個程序員的武功 瀏覽:249
java樹形演算法 瀏覽:641
通達信加鎖指標源碼怎麼看 瀏覽:754
將同名文件移動到部分同名文件夾 瀏覽:403
擺盪指標加壓力線源碼 瀏覽:915
新一代單片機特徵 瀏覽:770