請問 make clean 與 make mrproper 的差異 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- FreeBSD & Linux 討 論 版


PCZONE 討論區



通知

-- FreeBSD & Linux 討 論 版 因為本站採用 FreeBSD 作業系統,所以自己本身也多學了一些技巧,希望各位在這裡互相討論 Unix 作業系統及程式等相關問題。

會員
請問 make clean 與 make mrproper 的差異
如題,請問 make clean 與 make mrproper 的差異....

在 kernel source 裡頭下 #make help 可知:
--------------------------------------------
Cleaning targets:
clean - remove most genearted files but keep the config
mrproper - remove all generated files + config + various backup files.


為何一般在編譯 kernel 時既已先執行了 make mrproper 還要再執行 make clean 如上文所述前者所清除掉的不是大(多)於後者嗎?

回覆
會員
回覆: 請問 make clean 與 make mrproper 的差異
是的, 如果先作了 make mrproper, 就不需再 make clean
回覆
會員
回覆: 請問 make clean 與 make mrproper 的差異
引用:
作者: wally
是的, 如果先作了 make mrproper, 就不需再 make clean
感謝.

真的嗎?...但為何我的書的確是兩步驟都有執行(教人編譯kernel之章節)
回覆
會員
回覆: 請問 make clean 與 make mrproper 的差異
make mrproper : 保證 Source Code 是乾淨的 !! (一拿到 Source Code 所以執行的動作)
----------------------------------------------
make clean : 將曾經產生過的 *.o 檔清除掉. (*.o 它是什麼時候產生的呢 ?? 在 make 的時候..)
(保留編譯的成果 , 可省略這一個步驟)
----------------------------------------------
小弟猜測您的步驟大至如下 ..

(1) Get SourceCode.tar.bz2
(2) tar xvjpf SourceCode.tar.bz2
(3) make mrproper : (一拿到 Source Code 所以執行的動作)
(4) make menuconfig
(5) make
(6) make install
(7) make clean : (保留編譯的成果 , 可省略這一個步驟)
(8) 修改 grub

----------------------------------------------
第 (7) 步個人認為是,個人習慣的問題 .... (不高興也可以每次都重頭來過啊 ..)

此篇文章於 2006-07-24 10:21 AM 被 imyoyopp 編輯。.
回覆
會員
回覆: 請問 make clean 與 make mrproper 的差異
Thanks#

所謂 -- make mrproper : 保證 Source Code 是乾淨的 !! --是何意?
難道下載來的 source code tarball 會有非原始樣貌(全新的)的情形??.....此步驟在何種情況下可省略?

另外,
我書上 (以討論 kernel 2.6 為主) 的 make clean 是在 make menuconfig 之後及 make zImage 之前,但卻無提到 make 與 make install ,請問與 imyoyopp 兄說的步驟有何差別嗎?


以下列出其提到的所有步驟:
(1) Get SourceCode.tar.gz
(2) tar zxvf SourceCode.tar.gz
(3) make mrproper : (一拿到 Source Code 所以執行的動作)
(4) make menuconfig
(5) make clean (書上說,若是未編譯過的全新 source 則可省略)
Q -> 但 wally 兄說的是 ~如果先作了 make mrproper, 就不需再 make clean~ .....兩說法感覺不太一樣,可否為我解疑惑??
Q -> 請問,定要執行時,既然功用相仿,可用make mrproper 取代嗎?
(6) make zImage
(7)
cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz-2.6.9
ln -s /boot/vmlinuz-2.6.9 /boot/vmlinuz
(8)
make modules
make modules_install
(9)
cp /usr/src/linux/System.map /boot/System.map-2.6.9
ln -s System.map-2.6.9 System.map
(10) 修改 grub

此篇文章於 2006-07-25 04:20 AM 被 b90220208 編輯。.
回覆
會員
回覆: 請問 make clean 與 make mrproper 的差異
看來我好像幫您省了不少動作厚 ~ (遺漏了很多....)
------------------------------------------------------------
引用:
所謂 -- make mrproper : 保證 Source Code 是乾淨的 !! --是何意?
(1) SourceCode.tar.gz , 它是一個壓縮檔 , 從同事或任何地方拿到時 , 很有可能內容已變更過(這裡指 configure 檔).

引用:
此步驟在何種情況下可省略?
(2) 個人習慣啦 ! (為了省掉一堆麻煩 , 我想您一定不會省掉這一步的 ..)
------------------------------------------------------------
引用:
另外,
我書上 (以討論 kernel 2.6 為主) 的 make clean 是在 make menuconfig 之後及 make zImage 之前,但卻無提到 make 與 make install ,請問與 imyoyopp 兄說的步驟有何差別嗎?
(3) 這裡要向您說聲 拍 Say !! 是我的錯 , 還請見諒嘿 .. (哪就先跳過 , 以您書上講的為前提 , 有興趣的話 , 建議您找些 make 相關的書籍 KK)
------------------------------------------------------------
引用:
(5) make clean (書上說,若是未編譯過的全新 source 則可省略)
Q -> 但 wally 兄說的是 ~如果先作了 make mrproper, 就不需再 make clean~ .....兩說法感覺不太一樣,可否為我解疑惑??
Q -> 請問,定要執行時,既然功用相仿,可用make mrproper 取代嗎?
(4) 這樣講好了 ~ (要開始唬爛了)

make menuconfig --> 會產生 ".config" (您在 `make menuconfig` 中所做的動作)
make zImage --> 開始編譯 (會花點時間) , 編譯後就會產生 *.o , vmlinuz , System.map (大至上是這樣)

make mrproper --> 回到初始裝態 (移除 *.o , 清除".config")
make clean --> 移除 *.o (不會清除 ".config")
回覆
會員
回覆: 請問 make clean 與 make mrproper 的差異
我翻了幾本書與網站都沒看到編譯核心時有用到
make
make install
只有提到編譯好後只須 copy bzImage 與 System.map 到 /boot 之下.....我糊塗了?

另外請教,
make bzImage 所製造出來的 kernel 映像檔是屬於所謂的 executable file(binary file) 嗎?


最後還是老問題:
make mrproper 也會執行到 make clean (詳見摩托學園)
所以 wally 兄所說的 ~如果先作了 make mrproper, 就不需再 make clean~ 算是"鐵則"囉??

此篇文章於 2006-07-25 10:26 PM 被 b90220208 編輯。.
回覆
會員
回覆: 請問 make clean 與 make mrproper 的差異
引用:
我翻了幾本書與網站都沒看到編譯核心時有用到
make
make install
只有提到編譯好後只須 copy bzImage 與 System.map 到 /boot 之下.....我糊塗了?
關於這點,小弟在此向您說聲 ~ 對不起 ~ 誤導了您的思考方向 .. (編譯核心 !! 沒有 !! 沒有 !!)
-------------------------------------------------
引用:
另外請教,
make bzImage 所製造出來的 kernel 映像檔是屬於所謂的 executable file(binary file) 嗎?
-------------------------------------------------
bzImage (big zImage) : 是用 gzip 壓縮的,至於壓縮檔等不等於 binary file 呢 ..... ( 嗯災 )

引用:
所以 wally 兄所說的 ~如果先作了 make mrproper, 就不需再 make clean~ 算是"鐵則"囉??
嗯嗯 ~
-------------------------------------------------
突然覺得自己是來亂的 ~ 擔誤大家時間,拍 Say ~

回覆
會員
回覆: 請問 make clean 與 make mrproper 的差異
不好意思,關於我前文所提到的(摩托學園) -- make mrproper 也會執行到 make clean

可否請教是如何看出來的呢?.....謝謝.
回覆
會員
回覆: 請問 make clean 與 make mrproper 的差異
引用:
不好意思,關於我前文所提到的( 摩托學園 ) -- make mrproper 也會執行到 make clean

可否請教是如何看出來的呢?.....謝謝.
(1) 假設下載的 kernel 叫 -> "linux-2.x.xx.tar.bz2"
(2) 解壓的後得到的目錄 -> linux-2.xx.xx
(3) 在 linux-2.xx.xx 底下會有個叫 Makefile 的檔案
(4) 您在 Makefile 中,可以找到這一行 -> "mrproper: clean archmrproper"
(5) 這一行的意思 : 遇到 mrproper 這個 target 時,去找 clean (執行),還有 archmrproper (執行),如果找不到 archmrproper 就不往下做了.
------------------------------------------------------------------

回覆
主題工具


類似的主題
主題 主題作者 討論版 回覆 最後發表
AON 跟 PON 的差異 overclockserver -- FTTB / FTTC / FTTH 光纖寬頻討論版 5 2010-07-06 12:10 AM
【討論】清鍵盤不錯用的Cyber Clean tim1124 -- 電 腦 硬 體 討 論 版 4 2008-12-01 10:20 PM
【轉貼】Using WindowsXP to Make RAID 5 Happen | Tom's Hardware FYI -- 電 腦 硬 體 討 論 版 24 2007-10-02 11:28 PM
FC5 & Kernel 2.6.10編譯後 make bzImage 出現error dk0521 -- FreeBSD & Linux 討 論 版 1 2006-09-11 10:02 PM
請教有關mysql之[make].... vicky2395 -- 網 路 技 術 版 1 2002-06-25 11:52 PM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。