diff options
Diffstat (limited to 'makefiles/Makefile.tools')
-rw-r--r-- | makefiles/Makefile.tools | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/makefiles/Makefile.tools b/makefiles/Makefile.tools index c5a243b..a2bd984 100644 --- a/makefiles/Makefile.tools +++ b/makefiles/Makefile.tools @@ -36,7 +36,12 @@ endif # Host/target platform detection ############################################################################### -HOST := $(shell uname -s) +# Autodetect host if necessary +ifeq ($(HOST),) + HOST := $(shell uname -s) +endif + +# Simple host sanitisation ifeq ($(HOST),) # Don't ask HOST := riscos @@ -66,6 +71,11 @@ ifeq ($(TARGET),) endif endif +# Sanitise HOST and TARGET +# TODO: Ideally, we want the equivalent of s/[^A-Za-z0-9]/_/g here +HOST := $(subst .,_,$(subst -,_,$(subst /,_,$(HOST)))) +TARGET := $(subst .,_,$(subst -,_,$(subst /,_,$(TARGET)))) + # Now setup our tooling ifeq ($(TARGET),riscos) ifeq ($(HOST),riscos) @@ -236,13 +246,9 @@ endif ASFLAGS ?= -xassembler-with-cpp -CFLAGS := $(CFLAGS) $(OPTCFLAGS) -CXXFLAGS := $(CXXFLAGS) $(OPTCXXFLAGS) -# Some attempt to sanitise TARGET and HOST when used as pre-defines -CFLAGS := $(CFLAGS) -DBUILD_TARGET_$(subst .,_,$(subst -,_,$(TARGET))) -CXXFLAGS := $(CXXFLAGS) -DBUILD_TARGET_$(subst .,_,$(subst -,_,$(TARGET))) -CFLAGS := $(CFLAGS) -DBUILD_HOST_$(subst .,_,$(subst -,_,$(HOST))) -CXXFLAGS := $(CXXFLAGS) -DBUILD_HOST_$(subst .,_,$(subst -,_,$(HOST))) +CFLAGS := $(CFLAGS) $(OPTCFLAGS) -DBUILD_TARGET_$(TARGET) -DBUILD_HOST_$(HOST) +CXXFLAGS := $(CXXFLAGS) $(OPTCXXFLAGS) \ + -DBUILD_TARGET_$(TARGET) -DBUILD_HOST_$(HOST) ASFLAGS := $(ASFLAGS) $(CFLAGS) LDFLAGS := $(LDFLAGS) $(OPTLDFLAGS) |