我正在学习编写makefile并为此编写一个项目
CC = g++
CFLAGS = -c -Wall -g
SRCS = $(wildcard*.cpp)
OBJS = $(patsubst %.cpp, %.o, $(SRCS))
%.o:%.cpp%.h
$(CC) $(CFLAGS) $< -o $@
calc:$(OBJS)
$(CC) -o $@ $^
clean:
rm -f $(OBJS) calc *~
我正在包含文件的目录中工作
$ls
infixToPostfix.cpp infixToPostfix.h lexer.cpp lexer.h main.cpp Makefile postfix_eval.cpp postfix_eval.h tokenizer.cpp tokenizer.h
即使我添加了$^
,这也意味着我读过:
右侧的
$make
g++ -o calc
g++: fatal error: no input files
compilation terminated.
make: *** [Makefile:11: calc] Error 1