makefile将一次生成.o文件并将其放入目录中,一次运行并清除一次。但是,在我清理完之后,它将不允许我重建。
CC=g++
CFLAGS=-Wall -lm
TARGET=out
C_SRCS := \
$(wildcard *.cpp) \
HDRS := \
$(wildcard*.h) \
OBJS := $(patsubst %.cpp, bin/%.o, $(wildcard *.cpp))
build: $(OBJS)
$(CC) $(OBJS) -o $(TARGET) $(CFLAGS)
bin/%.o: %.cpp $(HDRS)
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) $< -o $@
clean:
rm $(TARGET)
rm -r bin
run:
./$(TARGET) input.txt output.txt
此文件中使用的文件可以正确编译,只是make文件不正确