summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/build/mkrules/cc.rules.mk10
-rw-r--r--src/build/mkrules/dist.targets.mk7
-rw-r--r--src/usr/targeting/attroverride/makefile8
3 files changed, 22 insertions, 3 deletions
diff --git a/src/build/mkrules/cc.rules.mk b/src/build/mkrules/cc.rules.mk
index cb00ea001..c89995f82 100644
--- a/src/build/mkrules/cc.rules.mk
+++ b/src/build/mkrules/cc.rules.mk
@@ -5,7 +5,9 @@
#
# OpenPOWER HostBoot Project
#
-# COPYRIGHT International Business Machines Corp. 2013,2014
+# Contributors Listed Below - COPYRIGHT 2013,2017
+# [+] International Business Machines Corp.
+#
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -74,3 +76,9 @@ $(IMGDIR)/lib$(MODULE).so : $(OBJECTS) $(ROOTPATH)/src/module.ld $(MODULE_INIT)
$(OBJECTS) $(MODULE_INIT) \
-T $(ROOTPATH)/src/module.ld -o $@
endif
+
+try = $(shell set -e; if ($(1)) >/dev/null 2>&1; \
+ then echo "$(2)"; \
+ else echo "$(3)"; fi )
+
+try-cflag = $(call try,$(1) $(2) -x c -c /dev/null -o /dev/null,$(2))
diff --git a/src/build/mkrules/dist.targets.mk b/src/build/mkrules/dist.targets.mk
index 03ea19e2d..6a09a7278 100644
--- a/src/build/mkrules/dist.targets.mk
+++ b/src/build/mkrules/dist.targets.mk
@@ -71,7 +71,6 @@ COPY_FILES = \
obj/genfiles/targAttrInfo.csv:vpo \
obj/genfiles/target_types_merged.xml:openpower \
obj/genfiles/fapiattrs.xml:openpower \
- obj/genfiles/attributeOverride:tools,openpower \
src/usr/targeting/attroverride/README.attr_override:tools,openpower \
src/build/hwpf/prcd_compile.tcl:tools \
src/build/buildpnor/buildSbePart.pl:openpower \
@@ -96,6 +95,12 @@ COPY_FILES = \
src/usr/targeting/common/xmltohb/bios_metadata_petitboot.xslt:openpower \
$(foreach file, $(call ROOTPATH_WILDCARD,releaseNotes.html), $(file):fsp)\
+ifeq ($(call try-cflag,$(CCACHE) $(HOST_PREFIX)g++,-std=gnu++11),-std=gnu++11)
+COPY_FILES += obj/genfiles/attributeOverride:tools,openpower
+else
+COPY_FILES += obj/genfiles/attributeOverride:tools
+endif
+
include ${ROOTPATH}/config.mk
COPY_FILES += $(if $(CONFIG_INCLUDE_XML_OPPOWERVM),src/usr/targeting/common/xmltohb/target_types_oppowervm.xml:openpower) \
$(if $(CONFIG_INCLUDE_XML_OPPOWERVM),src/usr/targeting/common/xmltohb/attribute_types_oppowervm.xml:openpower) \
diff --git a/src/usr/targeting/attroverride/makefile b/src/usr/targeting/attroverride/makefile
index 8ab26fd50..d9f0e85b3 100644
--- a/src/usr/targeting/attroverride/makefile
+++ b/src/usr/targeting/attroverride/makefile
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2014,2016
+# Contributors Listed Below - COPYRIGHT 2014,2017
# [+] International Business Machines Corp.
#
#
@@ -49,8 +49,14 @@ include $(ROOTPATH)/config.mk
vpath %.C $(GENDIR)
vpath %.H $(GENDIR)
+ifeq ($(call try-cflag,$(CCACHE) $(HOST_PREFIX)g++,-std=gnu++11),-std=gnu++11)
$(OUT_FILE): $(C_FILES) $(H_FILES)
$(C2) " CC $(notdir $@)"
$(C1)$(CCACHE) $(HOST_PREFIX)g++ -std=gnu++11 -O3 -g -o $(OUT_FILE)\
$(foreach dir,$(INC_DIRS), -I $(dir)) -iquote.\
$(foreach file,$^,$(if $(findstring .H,$(file)),,$(file)))
+else
+$(OUT_FILE): $(C_FILES) $(H_FILES)
+ $(C2) " GEN-NULL $(notdir $@)"
+ @(echo '#!/bin/sh'; echo 'exit -1';) > $(OUT_FILE)
+endif
OpenPOWER on IntegriCloud