toge's diary

コンピュータ関連の趣味をつらつらと。

Makefileの限界?

うぬぅ機能ごとにソースをディレクトリに分けたらMakefileにこういう面倒なのを書くことに。
そろそろMakefileの限界かのぉ。Jamとか使うか。
諦める前にMakefileの使い方をもう一度勉強してみよう、なにか良い方法があるかも。

hoge/main/Rival.o : hoge/main/Rival.cpp
	$(CXX) $(CFLAG) -Ihoge -Ihoge/main -c -o $@ $<
hoge/main/Player.o : hoge/main/Player.cpp
	$(CXX) $(CFLAG) -Ihoge -Ihoge/main -c -o $@ $<
hoge/main/Model.o : hoge/main/Model.cpp
	$(CXX) $(CFLAG) -Ihoge -Ihoge/main -c -o $@ $<
hoge/main/StageView.o : hoge/main/StageView.cpp
	$(CXX) $(CFLAG) -Ihoge -Ihoge/main -c -o $@ $<
hoge/main/SubStageView.o : hoge/main/SubStageView.cpp
	$(CXX) $(CFLAG) -Ihoge -Ihoge/main -c -o $@ $<
hoge/main/InitialView.o : hoge/main/InitialView.cpp
	$(CXX) $(CFLAG) -Ihoge -Ihoge/main -c -o $@ $<
hoge/main/TextView.o : hoge/main/TextView.cpp
	$(CXX) $(CFLAG) -Ihoge -Ihoge/main -c -o $@ $<
hoge/main/PlayerInfoView.o : hoge/main/PlayerInfoView.cpp
	$(CXX) $(CFLAG) -Ihoge -Ihoge/main -c -o $@ $<

一定のobjectファイルの生成の時だけにはコンパイルルールを変えるとか出来んのかのぉ。
もしくは以下のようなのでもいいけど。ルールの一括指定っていうことで。

hoge/main/Rival.o : hoge/main/Rival.cpp
hoge/main/Player.o : hoge/main/Player.cpp
hoge/main/Model.o : hoge/main/Model.cpp
hoge/main/StageView.o : hoge/main/StageView.cpp
hoge/main/SubStageView.o : hoge/main/SubStageView.cpp
hoge/main/InitialView.o : hoge/main/InitialView.cpp
hoge/main/TextView.o : hoge/main/TextView.cpp
hoge/main/PlayerInfoView.o : hoge/main/PlayerInfoView.cpp
	$(CXX) $(CFLAG) -Ihoge -Ihoge/main -c -o $@ $<