toge's diary

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

makefileでMinGW32だけ特殊扱い

Makefileもの2連発。

SDL-OFFとその前の準備で他人の環境への配慮の無さを反省したので、ちょっと工夫してみた。

MinGW32な環境はリンクするライブラリが結構変わってしまったり、ヘッダの場所が違ったりと、気をつけるところが多々ある。
そこでMinGW32な環境での実効を自動判別するように工夫してみた。

GCCMACHINE:=$(shell $(CC) -dumpmachine)

ifeq ($(findstring "mingw32","$(GCCMACHINE)"),"mingw32")
	LDFLAG += -lwinmm -lopengl32 -lwsock32 -lcomctl32 -lglu32
else
	LDFLAG += -lGL -lGLU -ldl
endif 

ちなみにWindows上のMinGW32/Msysのgccではgccは"mingw32"となるけれど、Linux上のi386-mingw-gccでは"i386-mingw"だった。
とりあえず両方ともに対応するため、findstringしてみました。
これでmake時にCC, CXXだけ指定すれば良くなり結構快適になった。

その分GNU makeとgccへの依存が増えたけれど。