Unix命令行:从dir到dir找到不同的行为

时间:2014-05-06 16:13:44

标签: unix command-line makefile find

我在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,它就找不到它们。

为什么这样的命令在某个目录中工作而在另一个目录中不起作用。我真的不知所措:(

1 个答案:

答案 0 :(得分:2)

您应引用*.cpp以避免在传入find之前被shell扩展。

CODE = $(shell find . -name '*.cpp')