为 C 编译器编写 MakeFile,出现 "no input files" 致命错误

Writing a MakeFile for a C compiler, getting a "no input files" fatal error

我的 MakeFile 是这样的:(这创建了一个主程序,它获取一个文件并生成语法树、TAC 代码等。main.cpp 中使用的 类 和 parser.y 是在 classes.cpp)

中定义
MAIN = main
PARSE = parser
SCAN = scanner
CLASS = classes

compiler: lex.yy.c y.yab.h y.tab.c $(CLASSES).cpp
     g++ -std=c++11 -Wno-write-strings -o compiler $(MAIN).cpp

y.tab.c y.tab.h: $(PARSE).y $(CLASSES).cpp
     yacc -d $(PARSE).y

lex.yy.c: $(SCAN).l
     lex $(SCAN).l

clean:
     rm -f lex.yy.* y.tab.* *.tokens *.syntree *.tac *.log compiler

但是当我 运行 让我得到

g++          -o .cpp
g++: fatal error: no input files
compilation terminated.
<builtin>: recipe for target '.cpp' failed
make: *** [.cpp] Error 1

我该如何解决?

“error: no input files”表示源文件不存在。常见原因是您移动或删除了一些 src 文件。