我創建了一個Makefile文件我的項目,它看起來像這樣:生成文件的FTP服務器 - 編譯時頭文件修改
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 [email protected] -c $(CFLAGS) $(LDFLAGS)
compile:
$(CC) $(SOURCES) -o executable/ftp $(LDFLAGS)
run:
./executable/ftp
clean:
rm -rf *o ftp
doc:
doxygen ftpDocConf
主要的問題是,當我修改任何的頭文件,包含在一個我的源文件中,「make all」命令沒有注意到任何改變,因此返回「make:沒有爲'all'完成」。我搜索了互聯網,仍然無法使其工作。我也有makefile的另一個「問題」。這個makefile所用的項目是一個ftp服務器,當我輸入「make run」來運行可執行文件時,對服務器執行一些操作並退出程序makefile返回「make:* [run] Interrupt」。有沒有什麼辦法可以讓這條消息不出現?我想這似乎是因爲我用ctrl + c退出程序,但有沒有辦法以不同的方式做,所以我不會得到任何「錯誤」?
預先感謝任何答案
謝謝,我看到它不是很難解決:)。至於第二個問題,我通過捕獲^ c信號來解決它。 – user2274361