makefile与OS相关的编译器

时间:2014-07-03 20:53:10

标签: c macos compiler-construction makefile osx-mavericks

我有一组C程序,通常在makefile中使用gcc编译,但OSX Mavericks现在使用clang。在makefile中测试现有编译器并使用适当的编译器的好方法是什么?此外,我还想使用依赖于体系结构的优化标志(例如,对于Linux上的gcc,我会使用-O3,但是在OSX上我会使用-fast;对于OSX上的clang我会使用-Ofast)。

非常感谢,

赖安

1 个答案:

答案 0 :(得分:3)

如果您正在MacOS X和Linux上进行编译,那么您可以将以下内容放在makefile中:

UNAME := $(shell uname)

ifeq ($(UNAME), Darwin)
CFLAGS = -Ofast
endif

ifeq ($(UNAME), Linux)
CFLAGS = -O3
endif

# etc