1# 2# Copyright (C) 2012 OpenWrt.org 3# 4# This is free software, licensed under the GNU General Public License v2. 5# See /LICENSE for more information. 6# 7 8include $(TOPDIR)/rules.mk 9 10PKG_NAME:=wrapper 11PKG_VERSION:=1 12 13include $(INCLUDE_DIR)/toolchain-build.mk 14 15 16# 1: args 17define toolchain_util 18$(strip $(SCRIPT_DIR)/ext-toolchain.sh --toolchain $(CONFIG_TOOLCHAIN_ROOT) \ 19 --cflags $(CONFIG_TARGET_OPTIMIZATION) \ 20 --cflags "$(if $(call qstrip,$(CONFIG_TOOLCHAIN_LIBC)),-m$(call qstrip,$(CONFIG_TOOLCHAIN_LIBC))) $(if $(CONFIG_SOFT_FLOAT),-msoft-float)" \ 21 --cflags "$(patsubst ./%,-I$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_INC_PATH)))" \ 22 --cflags "$(patsubst ./%,-L$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_LIB_PATH)))" \ 23 $(1)) 24endef 25 26# 1: config symbol 27# 2: feature 28define toolchain_test 29$$(if $$($(1)), \ 30 @echo -n "Testing external toolchain for $(2) support ... "; \ 31 if $(call toolchain_util,--test "$(2)"); then \ 32 echo "ok"; exit 0; \ 33 else \ 34 echo "failed"; \ 35 echo "ERROR: $(1) is enabled but the external toolchain does not support it"; \ 36 exit 1; \ 37 fi) 38endef 39 40 41define Host/Prepare 42 $(call toolchain_test,CONFIG_SOFT_FLOAT,softfloat) 43 $(call toolchain_test,CONFIG_IPV6,ipv6) 44 $(call toolchain_test,CONFIG_NLS,wchar) 45 $(call toolchain_test,CONFIG_PACKAGE_libpthread,threads) 46endef 47 48define Host/Configure 49endef 50 51define Host/Compile 52endef 53 54define Host/Install 55 $(call toolchain_util,--wrap "$(TOOLCHAIN_DIR)/bin") 56endef 57 58define Host/Clean 59 rm -rf $(TOOLCHAIN_DIR)/bin 60endef 61 62$(eval $(call HostBuild)) 63