APP_TOOL_PASSTHROUGH= ar as cpp ld nm objcopy objdump ranlib readelf
APP_TOOL_PASSTHROUGH+= size strings strip
-GNUPLATFORM:= $(shell ${RUMPMAKE} -f bsd.own.mk -V '$${RUMPRUN_TUPLE}')
-
_CCVARIANT:=$(shell ${RUMPMAKE} -f bsd.own.mk -V '$${HAVE_LLVM:Dclang:Ugcc}')
_CXXVARIANT:=$(shell ${RUMPMAKE} -f bsd.own.mk -V '$${HAVE_LLVM:Dclang++:Ug++}')
LDFLAGS_BAKE:= ${LDFLAGS.${PLATFORM}.${MACHINE_ARCH}}
_APP_TOOL_TARGETS:= \
- $(APP_TOOL_FILES:%=$(APP_TOOLS_DIR)/$(GNUPLATFORM)-%) \
- $(APP_TOOLS_DIR)/$(GNUPLATFORM)-$(_CCVARIANT) \
- $(APP_TOOLS_DIR)/$(GNUPLATFORM)-$(_CXXVARIANT) \
+ $(APP_TOOL_FILES:%=$(APP_TOOLS_DIR)/$(TOOLTUPLE)-%) \
+ $(APP_TOOLS_DIR)/$(TOOLTUPLE)-$(_CCVARIANT) \
+ $(APP_TOOLS_DIR)/$(TOOLTUPLE)-$(_CXXVARIANT) \
$(APP_TOOL_SPECS:%=$(APP_TOOLS_DIR)/%) \
- $(APP_TOOL_PASSTHROUGH:%=$(APP_TOOLS_DIR)/$(GNUPLATFORM)-%) \
- $(APP_TOOLS_DIR)/specs-bake-$(GNUPLATFORM)-$(PLATFORM)
+ $(APP_TOOL_PASSTHROUGH:%=$(APP_TOOLS_DIR)/$(TOOLTUPLE)-%) \
+ $(APP_TOOLS_DIR)/specs-bake-$(TOOLTUPLE)-$(PLATFORM)
.PHONY: app-tools
app-tools: $(_APP_TOOL_TARGETS)
-APP_TOOLS_MAKE := $(APP_TOOLS_DIR)/$(GNUPLATFORM)-make
-APP_TOOLS_CC := $(APP_TOOLS_DIR)/$(GNUPLATFORM)-${_CCVARIANT}
-APP_TOOLS_CXX := $(APP_TOOLS_DIR)/$(GNUPLATFORM)-${_CXXVARIANT}
+APP_TOOLS_MAKE := $(APP_TOOLS_DIR)/$(TOOLTUPLE)-make
+APP_TOOLS_CC := $(APP_TOOLS_DIR)/$(TOOLTUPLE)-${_CCVARIANT}
+APP_TOOLS_CXX := $(APP_TOOLS_DIR)/$(TOOLTUPLE)-${_CXXVARIANT}
define APPTOOLS_templ
$(APP_TOOLS_DIR)/${2}: \
-e 's#!APPTOOLS_CC!#$(APP_TOOLS_CC)#g;' \
-e 's#!APPTOOLS_CXX!#$(APP_TOOLS_CXX)#g;' \
-e 's#!MACHINE_ARCH!#$(MACHINE_ARCH)#g;' \
- -e 's#!GNUPLATFORM!#$(GNUPLATFORM)#g;' \
+ -e 's#!GNUPLATFORM!#$(TOOLTUPLE)#g;' \
-e 's#!DESTDIR!#$(DESTDIR)#g;' \
-e 's#!APPTOOLS_DIR!#$(APP_TOOLS_DIR)#g;' \
- -e 's#!APPTOOLS_PLATFORM!#$(PLATFORM)#g;' \
+ -e 's#!APPTOOLS_PLATFORM!#$(PLATFORM)#g;' \
-e 's#!CPPFLAGS!#$(BUILDRUMP_TOOL_CPPFLAGS)#g;' \
-e 's#!CFLAGS!#$(BUILDRUMP_TOOL_CFLAGS)#g;' \
-e 's#!CXXFLAGS!#$(BUILDRUMP_TOOL_CXXFLAGS)#g;' \
mv -f $$@.tmp $$@
endef
$(foreach tool,${APP_TOOL_FILES},$(eval \
- $(call APPTOOLS_templ,${tool}.in,$(GNUPLATFORM)-${tool})))
+ $(call APPTOOLS_templ,${tool}.in,$(TOOLTUPLE)-${tool})))
$(foreach spec,${APP_TOOL_SPECS},$(eval \
$(call APPTOOLS_templ,${spec}.in,${spec})))
-$(eval $(call APPTOOLS_templ,cc.in,$(GNUPLATFORM)-${_CCVARIANT}))
-$(eval $(call APPTOOLS_templ,cc.in,$(GNUPLATFORM)-${_CXXVARIANT}))
-$(eval $(call APPTOOLS_templ,specs-bake.in,specs-bake-$(GNUPLATFORM)-$(PLATFORM)))
+$(eval $(call APPTOOLS_templ,cc.in,$(TOOLTUPLE)-${_CCVARIANT}))
+$(eval $(call APPTOOLS_templ,cc.in,$(TOOLTUPLE)-${_CXXVARIANT}))
+$(eval $(call APPTOOLS_templ,specs-bake.in,specs-bake-$(TOOLTUPLE)-$(PLATFORM)))
define APPTOOLS_passthrough
uptool_$1=$(shell echo $1 | tr '[:lower:]' '[:upper:]')
toolval_$1=$${$${uptool_$1}}
-$(APP_TOOLS_DIR)/$(GNUPLATFORM)-$1:
+$(APP_TOOLS_DIR)/$(TOOLTUPLE)-$1:
printf '#!/bin/sh\n\nexec %s "$$$${@}"\n' $${toolval_${1}} >$$@.tmp
chmod +x $$@.tmp
mv -f $$@.tmp $$@
MACHINE_ARCH=$(${RUMPMAKE} -f /dev/null -V '${MACHINE_ARCH}')
[ -n "${MACHINE_ARCH}" ] || die could not figure out target machine arch
+ TOOLTUPLE=$(${RUMPMAKE} -f bsd.own.mk \
+ -V '${MACHINE_GNU_PLATFORM:S/--netbsd/-rumprun-netbsd/}')
+
[ $(${RUMPMAKE} -f bsd.own.mk -V '${_BUILDRUMP_CXX}') != 'yes' ] \
|| HAVECXX=true
[ -z "${PLATFORM_MKCONF}" ] \
|| echo "${PLATFORM_MKCONF}" >> ${RUMPTOOLS}/mk.conf
- TOOLTUPLE=$(${RUMPMAKE} -f bsd.own.mk \
- -V '${MACHINE_GNU_PLATFORM:S/--netbsd/-rumprun-netbsd/}')
echo "RUMPRUN_TUPLE=${TOOLTUPLE}" >> ${RUMPTOOLS}/mk.conf
# build rump kernel
echo "BUILDRUMP_TOOLFLAGS=$(pwd)/${RUMPTOOLS}/toolchain-conf.mk" >> ${1}
echo "MACHINE=${MACHINE}" >> ${1}
echo "MACHINE_ARCH=${MACHINE_ARCH}" >> ${1}
+ echo "TOOLTUPLE=${TOOLTUPLE}" >> ${1}
echo "KERNONLY=${KERNONLY}" >> ${1}
echo "PLATFORM=${PLATFORM}" >> ${1}