Root/toolchain/wrapper/Makefile

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 "-muclibc $(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

Archive Download this file



interactive