我在makefile中使用find命令,如下所示:
CC = clang++
CODE = $(shell find . -name *.cpp) #find command here !!!!!!
EXEC = tcr_translator
.PHONY: all clean
all: $(OBJECT)
clear
$(CC) $(CODE) -o $(EXEC) -I src/
clean:
rm $(EXEC)
run: all
./tcr_translator
所以,这个find命令列出了要编译的所有cpp文件,比在我的makefile中硬写它们更容易。这对我的上一个项目非常有效,所以我为我的新项目采用了相同的makefile。我的问题,现在find命令(char为char,相同的命令)不会查看我的子目录。 所以,如果我在src /子文件夹中有.cpp,它就找不到它们。
为什么这样的命令在某个目录中工作而在另一个目录中不起作用。我真的不知所措:(
答案 0 :(得分:2)
您应引用*.cpp
以避免在传入find
之前被shell扩展。
CODE = $(shell find . -name '*.cpp')