mieki256's diary



2024/02/29(木) [n年前の日記]

#1 [prog] Makefile内でgccのバージョンを取得して処理を分けたい

Windows10 x64 22H2 + MinGW (gcc 6.3.0, gcc 9.2.0) の環境で、Makefile内でgccのバージョンを取得して処理を分けたいと思った。

gccのバージョンを取得するのは、以下が参考になった。

_シェルスクリプトやmakefileでのバージョン番号 x.y.z の比較 ShellScript - Qiita

gcc -dumpversion で、バージョン部分のみが取得できるらしい。
> gcc -dumpversion
6.3.0

なので、Makefile内で以下を記述しておけば、gccのバージョンを GCC_VERSION という変数に入れられるはず。
GCC_VERSION=$(shell gcc -dumpversion)

ここまでできれば、ifeq - else - endif で処理を分けられそう。
GCC_VERSION=$(shell gcc -dumpversion)

ifeq ($(GCC_VERSION),6.3.0)
# ----------------------------------------
# MinGW gcc 6.3.0 (SourceForge)
glbitmfont_sample.exe: glbitmfont_sample.c glbitmfont.h Makefile
    gcc $< -o $@ -static -lSOIL -lglfw3dll -lopengl32 -lwinmm -lgdi32 -mwindows
else
# ----------------------------------------
# MinGW gcc 9.2.0 (OSDN), MSYS2
glbitmfont_sample.exe: glbitmfont_sample.c glbitmfont.h Makefile
    gcc $< -o $@ -static -lSOIL -lglfw3 -lopengl32 -lwinmm -lgdi32 -mwindows
endif

.PHONY: clean
clean:
    rm -f *.exe *.o

以上です。

過去ログ表示

Prev - 2024/02 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project