我有一個makefile模板來編譯單個DLL(用於插件系統)。 用戶的makefile文件看起來是這樣的:如何檢查文件是否存在於生成文件
EXTRA_SRCS=file1 file2
include makefile.in
在makefile.in
我:
plugin.dll: plugin.os $(patsubst %,%.os,$(EXTRA_SRCS))
哪裏plugin.os
是主要的C++文件進行編譯。順便說一句,結尾的文件是.os
是編譯爲共享庫的目標文件(使用即-fpic
選項與gcc
)
現在的問題是,額外的資源將可能(但不是必須)頭文件。理想情況下,我想將它們添加爲目標plugin.os
和file.cpp
的依存關係,但僅限於它們存在。
該方法應該適用於Windows和Linux,或者至少適用於每個。但是,我只使用make的GNU版本。
這不是我想要的...我有一個特定的.h文件列表來測試... – PierreBdR 2008-10-30 14:50:32
沒關係,你不需要使用通配符。使用$(通配符$(HEADER_FILES)) – JesperE 2008-10-31 11:11:14