[問題] 一個makefile的內容

看板Linux作者 (Arim5566)時間13年前 (2011/06/20 23:53), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
最近在看linux的list_head 在網路上面載了別人的範例來跑看看 他提供了makefile obj-m += list_head_ex.o KDIR=/lib/modules/$(shell uname -r)/build all: make -C $(KDIR) M=$(PWD) modules clean: make -C $(KDIR) M=$(PWD) clean 在第1行的LHS,不知道為什麼會是obj-m?(不是應該只有一個變數而已?,而且obj也沒有 定義) 在第2行的shell uname -r 本來以為是先執行這行指令然後output當成上述路徑的其中之一個節點(ex:/.../) 但是在bash shell上面執行 shell uname -r 是找不到的,why? -- ~宅男的四個徵兆~ ∠□ ○ ! * \○/ ★    (○ ? ╦╦└□ " ○□═ □   □> ║║√√ ╦══╦ ∥    |\ 一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.197.57 ※ 編輯: Arim 來自: 114.32.197.57 (06/21 00:00)

06/21 01:08, , 1F
obj-m 定義被編譯的檔案, 選項, etc., 其本身是
06/21 01:08, 1F

06/21 01:10, , 2F
loadable module, 可用變數$(CONFIG_SOMETHING)取代.
06/21 01:10, 2F

06/21 01:11, , 3F
例, obj-$(CONFIG_HELLO) += hell.o
06/21 01:11, 3F

06/21 08:04, , 4F
$(shell uname -r) 會轉成 uname -r 的結果
06/21 08:04, 4F

06/21 08:04, , 5F
shell 指的應該是用 default shell 當作命令的 interpreter
06/21 08:04, 5F

06/21 15:11, , 6F
謝謝:)
06/21 15:11, 6F
文章代碼(AID): #1D_sq94c (Linux)