Say on FreeBSD an application needs to be compiled with GNU make (gmake), not the standard system make. Is there any directive I could put to the Makefile to stop executing it and print an error if the Makefile is not compiled with gmake?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Call your makefile GNUmakefile
. GNU Make will find it, but not other makes.
The first name checked, GNUmakefile, is not recommended for most makefiles. You should use this name if you have a makefile that is specific to GNU make, and will not be understood by other versions of make. Other make programs look for makefile and Makefile, but not GNUmakefile.
回答2:
This is an addon to Jack Kelly's answer.
After you have renamed your Makefile to GNUmakefile create Makefile with:
USEGNU=gmake $*
all:
@$(USEGNU)
.DEFAULT:
@$(USEGNU)
This will call gmake for you every time you run make.