hakeの日記

Windows環境でプログラミングの勉強をしています。

Makefile

下のスクリプトコンパイル用にMakefileを作ってみる。
他のからコピペしてので.cpp.oのところが解ってないけどhoge.oをhoge.cppから作る規則ということで良いみたい。問題はcleanの方、削除するオブジェクトファイルが無い場合にエラーで終了してしまってターゲットの削除まで行きません、困った。

    • rmに-fのオプションか$(RM)でできることを教えていただきました。下も修正しました。
TARGET=test
OBJECTS=test.o


all:$(TARGET)

$(TARGET):$(OBJECTS)
	g++ -o $(TARGET) $(OBJECTS)

.cpp.o :
	g++ -c $<

clean: clean_objects clean_target
 
clean_objects:
	$(RM) $(OBJECTS)    修正
clean_target:
	$(RM) $(TARGET)    修正