Linux ( ) と OS X Intel ( ) でmakefile
透過的に動作する があります。これは、64 ビット固有の GCC オプションを使用します。x86_64
x86_64
32 ビットおよび 64 ビットの OS X PPC ( ppc
, ppc64
) 用にビルドできるようにメイクファイルを調整する方法はありますか?建てる前の建築?
Linux ( ) と OS X Intel ( ) でmakefile
透過的に動作する があります。これは、64 ビット固有の GCC オプションを使用します。x86_64
x86_64
32 ビットおよび 64 ビットの OS X PPC ( ppc
, ppc64
) 用にビルドできるようにメイクファイルを調整する方法はありますか?建てる前の建築?
ARCH := $(shell getconf LONG_BIT)
CPP_FLAGS_32 := -D32_BIT ... Some 32 specific compiler flags ...
CPP_FLAGS_64 := -D64_BIT
CPP_FLAGS := $(CPP_FLAGS_$(ARCH)) ... all the other flags ...
ファイルを含めてみてください。これは、標準の Makefile 構文 (Single Unix v3 仕様のもの) の一部ではありませんが、広くサポートされています。GNU make では、これは次のようになります。
include otherfile
これにより、次のような x86 Makefile を作成できます。
ARCHFLAGS = -m64 -mtune=core2
include common.mk
および PowerPC Makefile:
ARCHFLAGS = -mcpu=g3
include common.mk
また、コンパイル ルールの大部分は、必要に応じcommon.mk
て使用して 1 つのファイル ( ) に格納されます$(ARCHFLAGS)
。
cmake や GNU autotools などのビルド システムを使用することで、より少ない作業 (および痛み) で目標を達成できると思います。
これを行う 1 つの方法は次のとおりです。
posix
、win32
、win32-gcc
など。私はこれを小規模から中規模のプロジェクト (数年間コードに取り組んでいる 2 人または 3 人) で使用してきました。