[英]How to append to CXXFLAGS in Makefile without editing Makefile?
[英]How to append to a list of variables in a Makefile?
我正在嘗試為以下項目結構編寫 Makefile
/project
Makefile
main.cpp
test.hpp
/a
s1.cpp
s1.hpp
s2.cpp
s2.hpp
/b
s1.cpp
s1.hpp
s2.cpp
s2.hpp
/c
s1.cpp
s1.hpp
s2.cpp
s2.hpp
我有 3 個包含 .cpp 和 .hpp 文件的文件夾,我想在 INC 變量中將所有 hpp 文件放在一起
DIRS = ./a ./b ./c
INC = $(wildcard *.hpp) # how to have here ./a/s1.hpp ./a/s2.hpp ./b/s1.hpp ./b/s2.hpp etc...?
INC 只抓取 Makefile 目錄而不是子目錄中的.hpp 文件。 如何自動指定子目錄中的所有標題? 感謝您的提示。
wildcard
function 采用多種模式。 后綴addsuffix
為列表中的每個單詞附加一個后綴。 所以:
INC = $(wildcard $(addsuffix /*.hpp,$(DIRS)))
應該做你想做的。 還有其他方法,例如:
INC = $(foreach d,$(DIRS),$(wildcard $(d)/*.hpp))
或者,如果您有find
實用程序並想在任何深度的任何子目錄中查找所有*.hpp
文件(不僅僅是在$(DIRS)
中):
INC = $(shell find . -type f -name '*.hpp')
最后一種形式可能會更好,因為您不需要提供目錄列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.