我是新來makefile並面臨一些問題。我創建了以下makefile。它工作正常。但是當我修改main.cpp並運行使得,它說「一切都是最新的」。我需要做一個清潔並再次運行make,一切都會工作。makefile不構建程序的更新部分 - C++
看起來像這個makefile有一些問題,我無法弄清楚它出錯的地方。任何人都可以幫助我找出這個makefile中的錯誤,以及它爲什麼不構建更改的文件?
#Main makefile which does the build
CFLAGS =
CC = g++
PROG = fooexe
#each module will append the source files to here
SRC :=
#including the description
include foo/module.mk
OBJ := $(patsubst %.cpp, %.o, $(filter %.cpp,$(SRC))) main.o
#linking the program
fooexe: $(OBJ)
$(CC) -o $(PROG) $(OBJ)
%.o:
$(CC) -c $(SRC) -o $(patsubst %.cpp, %.o, $(filter %.cpp,$(SRC)))
main.o:
$(CC) -c main.cpp
depend:
makedepend -- $(CFLAGS) -- $(SRC)
.PHONY:clean
clean:
find . -name "*.o" | xargs rm -vf
rm -vf fooexe
你是男人。這工作。我忘了給那個。 – 2009-04-24 04:17:17
如果您只想重建已更改的文件,則填寫正確的命令以替換「...」也很重要。 – bk1e 2009-04-24 05:33:36