基本的に、Windowsには単純なmakefileがあります。このスレッドを読みました。clean
たとえば、makefile と同じフォルダーに名前の付いたファイルがあり、makefile 内のいくつかのファイルを消去するコマンドがあり、その名前がクリーンである場合、makefile はコマンドを実行しないと彼らは言っています。むしろこのメッセージが表示されます
'clean' is up-to-date
この問題に対処するには、 を追加する必要が.PHONY : clean
あります。したがって、同じフォルダーに という別のファイルがある場合でもclean
、makefile は実際のコマンドを実行します。これが私の理解です。追加phony
してもまったく効果がありません。このメッセージを再度出力します。
'clean' is up-to-date
これは、Windows での私のメイクファイルです。注:私は使用しますnmake
# Specify compiler
CC = cl.exe
# Specify flags
# /Zi -- Enable debugging
# /O2 --
CFLAGS = /EHsc /c /W1 /Zi /O2
# Specify linker
LINK = link.exe
.PHONY : all
all : app
# Link the object files into a binary
app : main.o
$(LINK) /OUT:app.exe main.o
# Compile the source files into object files
main.o : main.cpp
$(CC) $(CFLAGS) main.cpp /Fomain.o
# Clean target
.PHONY : clean
clean:
del *.o *.exe *.pdb
main.cpp
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
}
同じフォルダ内のファイル。