我为我的项目创建了一个 makefile,它看起来像这样:
CC = g++
LDFLAGS = -lpthread
CFLAGS = -Wall -pedantic -Wno-long-long -O0 -ggdb
SOURCES = main.o List.o ProcessCommands.o HandleTransfers.o
all: $(SOURCES)
%.o: %.cpp
$(CC) $< -o $@ -c $(CFLAGS) $(LDFLAGS)
compile:
$(CC) $(SOURCES) -o executable/ftp $(LDFLAGS)
run:
./executable/ftp
clean:
rm -rf *o ftp
doc:
doxygen ftpDocConf
主要问题是,当我修改包含在我的一个源文件中的任何头文件时,“make all”命令不会注意到任何更改,因此返回“make: Nothing to be done for `all'”。我已经搜索了互联网,但仍然无法让它工作。makefile 还有另一个“问题”。这个makefile用于的项目是一个ftp服务器,当我输入“make run”来运行可执行文件时,对服务器做一些事情并退出makefile返回的程序“make:* [run] Interrupt”。有什么办法可以让这条消息不出现?我猜它出现是因为我使用 ctrl+c 退出程序,但是有没有办法以不同的方式执行它,所以我不会得到任何“错误”?
提前感谢您的任何答案