Linux/Mac:在编译时确定平台的好方法是什么?

Set*_*jmp 2 linux conditional compilation build vendor

我想概括一个构建系统,以便在几个(有些类似的)平台上进行编译.确定运行shell脚本或Makefile的主机类型的好方法是什么.我想区分mac和linux,还有不同的linux特定发行版(例如RHEL,Ubuntu).Cygwin对我来说并不重要,但如果你把它包含在你的回复中,我相信其他人会发现它很有价值.

基本原理可能包括使用主机类型来获取和安装正确版本的二进制包,这比从源代码编译更方便.此外,一些商业软件是针对特定发行版进行二进制打包的,因此部分动机是获取正确的二进制文件.

谢谢,

那么setjmp

rmk*_*rmk 5

Autotools救援.它有大量的宏可以帮助你做这种事情.

http://www.lrde.epita.fr/~adl/autotools.html