我有一组C程序,通常在makefile中使用gcc编译,但OSX Mavericks现在使用clang。在makefile中测试现有编译器并使用适当的编译器的好方法是什么?此外,我还想使用依赖于体系结构的优化标志(例如,对于Linux上的gcc,我会使用-O3,但是在OSX上我会使用-fast;对于OSX上的clang我会使用-Ofast)。
非常感谢,
赖安
答案 0 :(得分:3)
如果您正在MacOS X和Linux上进行编译,那么您可以将以下内容放在makefile中:
UNAME := $(shell uname)
ifeq ($(UNAME), Darwin)
CFLAGS = -Ofast
endif
ifeq ($(UNAME), Linux)
CFLAGS = -O3
endif
# etc