2015-11-05 71 views

回答

0

简单的Makefile中添加此:

ifeq ($(UNAME_S),Linux) 
OPCJE = -Wall -Wno-unused-const-variable 
else 
OPCJE = -Wall 
endif 
1

您可以使用内置shell命令(如uname(在Unix系统上))并解析输出。没有内置的功能。

+0

这个答案不适合我的问题。它依赖于系统。我在不同的系统中编译我的程序 – Powoli

0

如果你是在分发软件的意图,而不是在内部调整Makefiles(没有好的解决方案,我甚至不会尝试),你应该调查一个构建系统,它允许用户动态配置构建。

最常见的机制是autoconf。 Autoconf开始有点棘手 - 有一个不平凡的学习曲线,但实际上它比首先看起来简单 - 但它具有使用autoconf的优势非常广泛的优点。如果人们从源头上构建一些软件,他们很少会惊讶于看到一个configure脚本,此时他们的手指会自动点击./configure; make; make install。因为图表显示了全面的autoconf + automake + autoheader + aclocal生态系统(他们错过了什么,他们错过了libtool?!)。因为图表显示了它比它更加难看,因为图表显示了全面的autoconf + automake + autoheader + aclocal生态系统(他们错过了libtool?!)。该页面还反映了它对autoconf的批评。虽然它们所做的任何一点实际上都不是虚假,但它们的重要性却被夸大了。

相关问题