带有操作系统相关编译器的 makefile

Rya*_*yan 2 c compiler-construction macos makefile osx-mavericks

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

最诚挚的感谢,

瑞安

koa*_*oan 7

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

UNAME := $(shell uname)

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

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

# etc
Run Code Online (Sandbox Code Playgroud)