1. linux 中的makefile
CC=gcc
MODCFLAGS:=-O6 -Wall -DMODULE -D__KERNEL__ -DLINUX
hello.o:hello.c /usr/include/linux/version.h
$(CC) $(MODCFLAGS) -c hello.c
echo insmod hello.o to turn it on
在執行語句行里必須有內tab縮進容
2. 有一本linux的書,不記得名字了,大概是通過makefile教你怎麼看linux內核代碼,有人知道是什麼書嗎
在Linux內核的頂層Makefile中,頂端就有,格式為 VERSION = 3 PATCHLEVEL = 0 SUBLEVEL = 8 EXTRAVERSION = NAME = Sneaky Weasel 以上的版本號就是3.08
3. Linux下面Makefile文件解讀
這個要兩句兩句的讀,先分析頭兩句,
libcl.a:CLMonolithic.o stdafx.o ii.o
ar cr libcl.a ii.o CLMonolithic.o stdafx.o
第一句表明了依賴,說的是libcl.a這個庫依賴於CLMonolithic.o stdafx.o ii.o這三個文件;而第二句說的是規則,也就是怎麼把這三個.o文件做成庫文件。
=====
CLMonolithic.o:CLMonolithic.cpp
g++ -c CLMonolithic.cpp -I home/chenxu/ii/ii/src
第一句也是說依賴,就是說CLMonolithic.o依賴於源文件CLMonolithic.cpp,第二句說怎麼編譯CLMonolithic.cpp到CLMonolithic.o,用g++ 編譯,參數是-c ,要用到的其他文件來自於home/chenxu/ii/ii/src
同理 stdafx.o ii.o
說說 clean,這是一個規則,就是說你輸入命令,make clean,會執行
rm libcl.a ii.o CLMonolithic.o stdafx.o -f
希望對你有幫組
4. Linux內核makefile文件
使用後綴復-objs、-y識別對象文件制,這句話中識別對象文件是需要標記的文件。你就理解是文件名字就可以了。
2.確定一個object文件是否是另一個object的組成部分,這個是通過「代碼(你看代碼部分的第一行代表注釋,第二行和第四行是代表判斷,通過這個語句,可以判斷出來)」判斷出來的
3.第四行代碼如果輸出「y」,就是代表例子中ext2.o只有xattr.o。如果沒有輸出「y」,則代表不是只有xattr.o。
組成部分 balloc.o和bitmap.o編譯了的。不懂再問我哈,我在linuxprobe.com等你繼續學習。
5. linux內核makefile中的scripts有什麼作用
obj-$(CONFIG_EXT2_FS) += ext2.o :表示當 CONFIG_EXT2_FS 為 y 是 ext2.0 將會編譯進內核,CONFIG_EXT2_FS 是你自己配置linux(make menuconfig)時選擇是 y,還是其他的,如果專不理解的話,你 一下linux kconfig 文件。屬
6. 幫忙解釋下面這段Linux kernel中的Makefile語句是什麼意思
幫忙解釋下面這段Linux kernel中的Makefile語句是回...1 天前答0
chk_compile.h = : quiet_chk_compile.h = echo ' CHK $@' silent_chk_compile....
7. linux內核中makefile的使用
obj-$(CONFIG_EXT2_FS) += ext2.o :表來示當 CONFIG_EXT2_FS 為 y 是 ext2.0 將會編譯進內核,自CONFIG_EXT2_FS 是你自己配置linux(make menuconfig)時選擇是 y,還是其他的,如果不理解的話,你 一下linux kconfig 文件。
ext2-y := balloc.o bitmap.o ....:表示 ext2.o 由後面的那些 .o 文件鏈接而來。
ext2-$(CONFIG_EXT2_FS_POSIX_ACL) += acl.o :$(CONFIG_EXT2_FS_POSIX_ACL) 和上面解釋的一樣的意思,如果為 y 則把 acl.o 也鏈接進 ext2.o ,注意:+= 表示在原有的基礎上增加。
obj-$(CONFIG_ISDN) += isdn.o:同上。
isdn-objs := isdn_net_lib.o isdn_v110.o isdn_common.o:isdn.o是由後面的文件鏈接而來。
8. 請大神詳解釋一下linux中這個makefile是什麼意思
這個是編譯內核模塊的 makefile, 這個makefile 可以用於在編譯內核時一起編譯(當 KERNELRELEASE 不為空版時)這個模塊,或者用在單權獨編譯此模塊的時候用。
KERNELRELEASE 是編譯linux內核時的一個變數,內容為當前所編譯內核的版本。
/lib/moles/$(shell uname -r)/build 這個對應於當前linux系統運行內核所對應的編譯路徑,所有為當前運行內核進行編譯的模塊,都要 -C 到這個目錄來進行。
PWD := $(shell pwd) 給 PWD 變數賦值,內容為 shell 命令 pwd 的輸出 (即當前目錄)。
你需要了解一下 makefile 的基礎, 以及 linux 內核編譯相關的知識。 或者就直接用這個makefile,linux內核模塊編譯的makefile的基礎框架都是這樣的。
9. Linux內核中的Makefile 文件是人寫還是用什麼軟體自動生成的
是寫好,再用下面的命令生成合適你自己環境的。
make config
或者
make menu config(menuconfig)中間有沒有空格記得不是很清楚。
10. Linux內核的Makefile文件在哪了啊
不太明白你說的啊?
你是不是把兩個設備掛在同一目錄下了了啊。
比如把hda1掛載了/usr/src下又把hdb1掛在了/usr/src
試試umount一下吧。
umount /usr/src 說不定能看到