私はmakefileを初めて使用しています。私は次のmakefileを作成しました。それは正しく動作します。しかし、main.cppを変更してを実行するとになると、は "すべて最新です"と表示されます。私はを行う必要がありますをきれいにして、もう一度makeを実行してください。すべて動作します。makefileはプログラムの更新された部分をビルドしていません - C++
このメイクファイルに問題があるように見えますが、どこが間違っているのか分かりません。誰でもこのメイクファイルのどこにエラーがあり、変更されたファイルをビルドしていないのかを知る手助けはできますか?
#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
あなたは男です。それはうまくいった。私はそれを忘れてしまった。 –
"..."の代わりに正しいコマンドを入力することは、変更したファイルのみを再作成する場合にも重要です。 – bk1e
メインビットは冗長です。...はどちらの場合も同じテキストを表します。 –