makelinux
❶ linux make命令什麼意思
Make的概念:
Make這個詞,英語的意思是"製作"。Make命令直接用了這個意思,就是要做出某個文件。比如,要做出文件a.txt,就可以執行下面的命令。
代碼如下:
$ make a.txt
但是,如果你真的輸入這條命令,它並不會起作用。因為Make命令本身並不知道,如何做出a.txt,需要有人告訴它,如何調用其他命令完成這個目標。
比如,假設文件 a.txt 依賴於 b.txt 和 c.txt ,是後面兩個文件連接(cat命令)的產物。那麼,make 需要知道下面的規則。
代碼如下:
a.txt: b.txt c.txt
cat b.txt c.txt > a.txt
也就是說,make a.txt 這條命令的背後,實際上分成兩步:第一步,確認 b.txt 和 c.txt 必須已經存在,第二步使用 cat 命令 將這個兩個文件合並,輸出為新文件。
像這樣的規則,都寫在一個叫做Makefile的文件中,Make命令依賴這個文件進行構建。Makefile文件也可以寫為makefile, 或者用命令行參數指定為其他文件名。
代碼如下:
$ make -f rules.txt
# 或者
$ make --file=rules.txt
上面代碼指定make命令依據rules.txt文件中的規則,進行構建。
總之,make只是一個根據指定的Shell命令進行構建的工具。它的規則很簡單,你規定要構建哪個文件、它依賴哪些源文件,當那些文件有變動時,如何重新構建它。
❷ linux下的make命令怎麼沒用
是因為linux中沒有安裝g++編譯器,只需安裝即可解決。具體操作步驟如下:
1、首先在Linux下按下「Alt + Ctrl + t」鍵,彈出窗口。然後輸入「stdo -i",單擊回車。
❸ linux make或make install的時候
一般來講,
CC 在Makefile中設置為 編譯器,如gcc
CCLD可能為鏈接器,如ld
所以以上步驟可能為編譯鏈接的過程......
希望可以幫到你.
❹ linux用make語句編譯
$ cat makefile
.SUFFEXES:.c .o
.c.o:
gcc -Wall -c $<
OBJS=my_file.o
all: my_exec_file
my_exec_file:$(OBJS)
gcc -Wall $(OBJS) -o $@
$ make
gcc -Wall -c my_file.c
gcc -Wall my_file.o -o my_exec_file
簡單說明:
.SUFFEXES:.c .o :告訴make識別哪些源程序和目標程序
.c.o: :告訴make命令.c程序如何生成.o文件,採用其下的gcc -Wall -c $<($<代表任意一個編譯時用到的.c文件)命令。
all: my_exec_file :告訴make命令自動生成哪個可執行程序
my_exec_file:$(OBJS) :告訴make命令如何生成my_exec_file文件,需要哪些目標代碼($(OBJS)),採用其下的命令: gcc -Wall $(OBJS) -o $@ ($@代表my_exec_file,即要編譯的可執行文件名)
❺ linux 怎麼安裝make
1、查看Linux位數:#getconfLONG_BIT 。
❻ linux下如何查看make的版本, 即$(MAKE_VERSION)
如果是在 shell 中查看,那麼直接 make -v 即可。
如果是在 makefile 中獲取,則用 $(MAKE_VERSION), 比如下面的makefile
.PHONY: all
all:
echo "VERSION is $(MAKE_VERSION)"
然後在包含此makefile的目錄下 make,就會看到相應的列印了。
注意, MAKE_VERSION 是 makefile 中的一個自帶變數,不是shell環境變數,所以不能在 shell 下直接 用 $MAKE_VERSION
❼ make是linux的自帶的還是需要安裝編譯器才有make功能
make程序不是Linux系統自帶的,也不是編譯器帶的,不要按照IDE的概念去理解(Windows下面的IDE一安裝什麼工具都有了),make工具是需要另外安裝的。
比如說我的Linux系統上,當時搭建開發環境時是這樣安裝的:(我的系統是Fedora,所以用的yum)
yum install make gcc gcc-c++
看,編譯器和make是分開安裝的哈。
make工具是需要makefile的時候才用,而makefile是多個源文件的時候才有,如果你編譯一個helloworld程序,直接用gcc或g++編譯就可以了,從這點來看,也沒理由把make和編譯器捆綁在一起。
❽ 在linux中執行make之後,終端顯示的make[1]之後又有make[2]還有make[3]之類的,這是什麼意思
這個應該是make的依賴層次吧,make[1]指的是當前make的對象距離最初make的目標對象有1層依賴關系,make[2]指的是當前make的對象距離最初make的目標對象有2層依賴關系,距離某個make[1]目標對象有1層依賴關系,以此類推。
這個層次的問題基本可以無視,你要關心的是有沒有出現error或者warning
❾ linux中執行make這段命令是啥意思
第1句,清除之前編譯產生的所有中間文件(比如OBJ一類),晶元指定為HI3518A
第2句,編譯,CPU內核為ARM。
❿ Linux中make, make install命令分別是什麼,用法
make是用來編譯的,它從Makefile中讀取指令,然後編譯。
make install是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置。
用法:
1、make:
這一步就是編譯,大多數的源代碼包都經過這一步進行編譯(當然有些perl或python編寫的軟體需要調用perl或python來進行編譯)。
如果 在 make 過程中出現 error ,就要記下錯誤代碼(注意不僅僅是最後一行),然後可以向開發者提交 bugreport(一般在 INSTALL 里有提交地址)。
或者系統少了一些依賴庫等,這些需要自己仔細研究錯誤代碼。
make 的作用是開始進行源代碼編譯,以及一些功能的提供,這些功能由他的 Makefile 設置文件提供相關的功能。
比如 make install 一般表示進行安裝,make uninstall 是卸載,不加參數就是默認的進行源代碼編譯。
make 是 Linux 開發套件裡面自動化編譯的一個控製程序,他通過藉助 Makefile 裡面編寫的編譯規范進行自動化的調用 gcc 、ld 以及運行某些需要的程序進行編譯的程序。
一般情況下,他所使用的 Makefile 控制代碼,由 configure 這個設置腳本根據給定的參數和系統環境生成。
2、make install
這條命令來進行安裝(當然有些軟體需要先運行 make check 或 make test來進行一些測試),這一步一般需要你有 root 許可權(因為要向系統寫入文件)。
(10)makelinux擴展閱讀
當我們在使用make命令時,常常會在make後面加上其他單詞,比如check,install,installcheck…這些單詞都是make的參數,我們稱之為「目標(targets)」。
最常見的幾個目標:
make all:編譯程序、庫、文檔等(等同於make)
make install:安裝已經編譯好的程序。復制文件樹中到文件到指定的位置
make unistall:卸載已經安裝的程序。
make clean:刪除由make命令產生的文件
make distclean:刪除由./configure產生的文件
make check:測試剛剛編譯的軟體(某些程序可能不支持)
make installcheck:檢查安裝的庫和程序(某些程序可能不支持)
make dist:重新打包成packname-version.tar.gz