2016-09-18 50 views
-2

我有以下文件夾結構包括多個目錄和文件的Makefile

   test(current directory which has the makefile) 
           | 
         ---------------------- 
         |      | 
      source_files     header_files 
    (has all .c files)     (has all .h files) 

我需要另一個Makefile文件(稱之爲Makefile2)在列出所有這些來源的同一目錄下。如何告訴Makefile2查找source_files文件夾中的所有.c文件,並在header_files文件夾中查找頭文件。另外我將如何能夠在我的原始Makefile中引用這些文件。 (注意:我不能使用通配符,而只使用實際的文件名)。任何幫助,將不勝感激。

+0

你是什麼意思,你不能使用通配符?你的意思是shell通配符,還是做通配符,或者兩者兼而有之?你的操作系統是否有類似於unix'find'命令的東西(如果可以,你可以使用它)? – Beta

+0

@Beta我不能使用shell命令進行通配符搜索。我需要將文件列表添加到makefile2,然後在原始makefile中使用它們。 – user2808264

回答

1

的製作wildcard function

SOURCES := $(wildcard source_files/*.c) 

注意,這是一個通配符功能,而不是一個shell命令。把它放在makefile2,然後在makefile地說:

include makefile2 

然後你就可以使用變量SOURCES。 (您也可以使用HEADERS。)

+0

我嘗試了你的建議,但似乎並不奏效我編輯了這個問題以包含我的完整代碼(如果有幫助的話)。 – user2808264

+1

@ user2808264定義「似乎不起作用」。 – user657267

+0

@ user2808264:你似乎已經添加了,然後刪除了你的代碼,也許當你發現你的錯字。你已經在這裏足夠長的時間來了解[最小完整示例](http://stackoverflow.com/help/mcve);你的'makefile'遠比測試這個解決方案時要複雜得多。 – Beta

相關問題