一個makefile的內容 - Linux

Table of Contents

最近在看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 每天想正妹 以當好人為樂 忘記正妹虧欠自己

--

All Comments

Iris avatarIris2011-06-22
obj-m 定義被編譯的檔案, 選項, etc., 其本身是
Andrew avatarAndrew2011-06-27
loadable module, 可用變數$(CONFIG_SOMETHING)取代.
Skylar DavisLinda avatarSkylar DavisLinda2011-07-01
例, obj-$(CONFIG_HELLO) += hell.o
Connor avatarConnor2011-07-05
$(shell uname -r) 會轉成 uname -r 的結果
shell 指的應該是用 default shell 當作命令的 interpreter
Puput avatarPuput2011-07-05
謝謝:)