現在、2つの異なるマシンで開発しています。1 つgcc
は gcc 4.6 にマップされておりgcc3
、本当に古いバージョンの gcc が必要な人向けのマップがあります。他のマシンgcc
では v3 gcc にマップされgcc4
、新しいコンパイラを呼び出すコマンドがあります。
問題は明らかです。両方のマシンに単一のメイクファイルが必要です。これは、基本的に、見つかるCC
かどうかに応じて定義することを意味します。gcc4
現在、2つの異なるマシンで開発しています。1 つgcc
は gcc 4.6 にマップされておりgcc3
、本当に古いバージョンの gcc が必要な人向けのマップがあります。他のマシンgcc
では v3 gcc にマップされgcc4
、新しいコンパイラを呼び出すコマンドがあります。
問題は明らかです。両方のマシンに単一のメイクファイルが必要です。これは、基本的に、見つかるCC
かどうかに応じて定義することを意味します。gcc4
簡単なハックとして、makefile 内の gcc4 ビンの単純なシェル ベースのチェックを追加できます。例えば:
CC := $(shell gcc4 -dumpversion >/dev/null 2>&1; if [ "$$?" -eq 0 ]; then echo "gcc4"; else echo "gcc"; fi)
<...>
$(CC) -c myprogram.c -o myprogram.o
<...>
ただし、より成熟したプロジェクトでは、そのようなタスク用に設計されたツール ( autoconf )を検討することをお勧めします。