【Linux】一步一步学Linux——make命令(259)
生活随笔
收集整理的這篇文章主要介紹了
【Linux】一步一步学Linux——make命令(259)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項(xiàng)
- 04. 參考示例
- 05. 附錄
01. 命令概述
make命令是GNU的工程化編譯工具,用于編譯眾多相互關(guān)聯(lián)的源代碼問(wèn)價(jià),以實(shí)現(xiàn)工程化的管理,提高開(kāi)發(fā)效率。
02. 命令格式
用法:make [選項(xiàng)] [目標(biāo)] ...03. 常用選項(xiàng)
-b, -m 忽略兼容性。-B, --always-make 無(wú)條件 make 所有目標(biāo)。-C DIRECTORY, --directory=DIRECTORY在執(zhí)行錢(qián)先切換到 DIRECTORY 目錄。-d 打印大量調(diào)試信息。--debug[=FLAGS] 打印各種調(diào)試信息。-e, --environment-overrides環(huán)境變量覆蓋 makefile 中的變量。--eval=STRING Evaluate STRING as a makefile statement.-f FILE, --file=FILE, --makefile=FILE從 FILE 中讀入 makefile。-h, --help 打印該消息并退出。-i, --ignore-errors Ignore errors from recipes.-I DIRECTORY, --include-dir=DIRECTORY在 DIRECTORY 中搜索被包含的 makefile。-j [N], --jobs[=N] 同時(shí)允許 N 個(gè)任務(wù);無(wú)參數(shù)表明允許無(wú)限個(gè)任務(wù)。-k, --keep-going 當(dāng)某些目標(biāo)無(wú)法創(chuàng)建時(shí)仍然繼續(xù)。-l [N], --load-average[=N], --max-load[=N]在系統(tǒng)負(fù)載高于 N 時(shí)不啟動(dòng)多任務(wù)。-L, --check-symlink-times 使用軟鏈接及軟鏈接目標(biāo)中修改時(shí)間較晚的一個(gè)。-n, --just-print, --dry-run, --reconDon't actually run any recipe; just print them.-o FILE, --old-file=FILE, --assume-old=FILE將 FILE 當(dāng)做很舊,不必重新生成。-p, --print-data-base 打印 make 的內(nèi)部數(shù)據(jù)庫(kù)。-q, --question Run no recipe; exit status says if up to date.-r, --no-builtin-rules 禁用內(nèi)置隱含規(guī)則。-R, --no-builtin-variables 禁用內(nèi)置變量設(shè)置。-s, --silent, --quiet Don't echo recipes.-S, --no-keep-going, --stop關(guān)閉 -k。-t, --touch touch 目標(biāo)而不是重新創(chuàng)建它們。-v, --version 打印 make 的版本號(hào)并退出。-w, --print-directory 打印當(dāng)前目錄。--no-print-directory 關(guān)閉 -w,即使 -w 默認(rèn)開(kāi)啟。-W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE將 FILE 當(dāng)做最新。--warn-undefined-variables 當(dāng)引用未定義變量的時(shí)候發(fā)出警告。--warn-undefined-functions Warn when an undefined user function is called.04. 參考示例
4.1 編譯程序
[deng@localhost 8make]$ make gcc mul.o test.o add.o sub.o -o test [deng@localhost 8make]$4.2 顯示編譯命令,但是實(shí)際上不編譯
[deng@localhost 8make]$ make -n gcc -c mul.c -o mul.o gcc -c test.c -o test.o gcc -c add.c -o add.o gcc -c sub.c -o sub.o gcc mul.o test.o add.o sub.o -o test [deng@localhost 8make]$4.3 清理編譯生成的中間文件
[deng@localhost 8make]$ make clean rm -rf ./mul.o ./test.o ./add.o ./sub.o test [deng@localhost 8make]$4.4 編譯,不顯示執(zhí)行的命令
[deng@localhost 8make]$ make -s [deng@localhost 8make]$4.5 處理 makefile 之前和之后,都顯示工作目錄
[deng@localhost 8make]$ make -w make: 進(jìn)入目錄“/mnt/hgfs/LinuxHome/code/3rd/2Makefile/8make” gcc mul.o test.o add.o sub.o -o test make: 離開(kāi)目錄“/mnt/hgfs/LinuxHome/code/3rd/2Makefile/8make” [deng@localhost 8make]$4.6 以四線程編譯程序
[deng@localhost 8make]$ make -j4 gcc mul.o test.o add.o sub.o -o test [deng@localhost 8make]$05. 附錄
參考:【Linux】一步一步學(xué)Linux系列教程匯總
總結(jié)
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——make命令(259)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Linux】一步一步学Linux——g
- 下一篇: 【Linux】一步一步学Linux——a