最简单语法,利用系统隐含变量OS 来做判断:
ifeq (Windows,$(findstring Windows,$(OS)))LINKFLAG=
endif
不过变量OS 不见于任何文档,如何发现gnumake定义的所有的内置隐含variables?
GNU make provides .VARIABLES which holds all global variables' names
简单的Makefile语句打印出所有的定义的内置变量可以发现OS赫然其中了:
VARS_OLD = $(.VARIABLES)
$(foreach v,$(VARS_OLD),$(info $(v)))