token_check: token_check.o $(STATIC_LIBRARIES)
$(CC) -o $@ $^
%.o: %.c pipeline/*.h compiler/*.h
$(CC) $(COMPILER_FLAGS) -I./pipeline -I./compiler -c $<
但是,当我跑的时候
make
,实际运行的命令是
cc -c -o token_check.o token_check.c
我得到了错误
token_check.c:3:10: fatal error: scanner.h: No such file or directory
3 | #include "scanner.h"
| ^~~~~~~~~~~
compilation terminated.
make: *** [<builtin>: token_check.o] Error 1
为什么我的
-I
指令被忽略?
编辑:
我检查了,我在管道和编译器中都有头文件。
%.o: %.c pipeline/*.h compiler/*.h
echo blah
然后跑
make token_check.o