0
我正在嘗試構建一些我添加到Ubuntu源代碼中的內核模塊。經過多次失敗的嘗試編譯後,我發現相同的錯誤繼續發生在不同的地方。編譯器無法找到位於文件夾中的包含目錄中的一組標題。如何將include目錄添加到內核源代碼的makefile中?
E.X.
主要文件夾:驅動器/ SCST/
子文件夾:驅動器/ SCST/iSCSI的SCST/
包括文件夾:驅動器/ SCST /包括
我如何可以添加包括文件夾makefile?
這裏是makefile;
ccflags-y += -Wno-unused-parameter
scst-y += scst_main.o
scst-y += scst_pres.o
scst-y += scst_targ.o
scst-y += scst_lib.o
scst-y += scst_sysfs.o
scst-y += scst_mem.o
scst-y += scst_tg.o
scst-y += scst_debug.o
obj-$(CONFIG_SCST) += scst.o dev_handlers/ iscsi-scst/
我50%肯定的如何與一個「正常」的makefile做它作爲一個不與內核源代碼的工作,但我怎麼能有一個像上面這樣做呢?
在此先感謝。
我真的沒有一個正確的方法,我只是想讓這個東西編譯正確。所以你說我應該將「include」文件的內容複製到需要它們的目錄中? – ianc1215 2012-01-08 02:48:01
是的,因爲驅動程序中使用的標頭通常是特定於驅動程序的,並且標準約定是,如果僅在驅動程序中使用它,則將其添加到相同的目錄中。如果在通用內核邏輯中使用它,它將在include/linux中進行,如果它的體系結構特定並在多個點中使用,它將包含在include/asm – 2012-01-08 02:48:58
因此,如果所有正在構建的SCST模塊模塊都需要這些頭文件,我應該添加它們以包含/ linux的權利,因爲他們不具體的拱?即使他們只用於這個項目? – ianc1215 2012-01-08 03:08:01