[英]makefile to take dependency of all file in particular directory
我有一个C ++项目。 在我的Project文件夹中,我有三个子项目文件夹。
Proj_Folder
Include
head1.h
head2.h
....
Sub_Proj1
proj1.cpp
makefile
Sub_Proj2
proj2.cpp
makefile
Sub_Proj3
proj3.cpp
makefile
ShareAll.cpp
makefile
这是“ Proj_Folder”文件夹中的makefile。
OBJS = ../ShareAll.o proj1.o
proj1: ${OBJS}
${CXX} ${CFLAGS} -o $@ $+
proj1.o : proj1.cpp
${CXX} ${CFLAGS} -c $< -o $@
../ShareAll.o : ../ShareAll.cpp
${CXX} ${CFLAGS} -c $< -o $@
我需要包括位于目录“包含”中的所有头文件作为整个项目的依赖项。
我尝试下面的代码。
C_HEADER_FILES := $(patsubst Include/*.h)
# The dependency file names.
DEPS := $(C_HEADER_FILES:.h=.d)
# Let make read the dependency files and handle them.
-include $(DEPS)
但是它说
makefile:30: *** insufficient number of arguments (1) to function `patsubst'. Stop.
如何将所有头文件作为依赖项包含在此项目的makefile中?
您使用错误的功能来收集.h文件集。 您需要使用:
C_HEADER_FILES := $(wildcard Include/*.h)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.