看板 Linux 關於我們 聯絡資訊
最近在看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)
n3oanderson:obj-m 定義被編譯的檔案, 選項, etc., 其本身是 06/21 01:08
n3oanderson:loadable module, 可用變數$(CONFIG_SOMETHING)取代. 06/21 01:10
n3oanderson:例, obj-$(CONFIG_HELLO) += hell.o 06/21 01:11
kiani:$(shell uname -r) 會轉成 uname -r 的結果 06/21 08:04
kiani:shell 指的應該是用 default shell 當作命令的 interpreter 06/21 08:04
Arim:謝謝:) 06/21 15:11