mvsw6171: note support for 88E6172 switches
[openwrt.git] / target / toolchain / Makefile
1 #
2 # Copyright (C) 2008-2009 Industrie Dial Face S.p.A.
3 #               Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com>
4 # Copyright (C) 2006-2008 OpenWrt.org
5 #
6 # This is free software, licensed under the GNU General Public License v2.
7 # See /LICENSE for more information.
8 #
9
10 include $(TOPDIR)/rules.mk
11 include $(INCLUDE_DIR)/kernel.mk
12 include $(INCLUDE_DIR)/host.mk
13
14 override MAKEFLAGS=
15
16 PKG_OS:=$(word 2,$(subst -, ,$(shell $(HOSTCC) -dumpmachine)))
17 PKG_CPU:=$(word 1,$(subst -, ,$(shell $(HOSTCC) -dumpmachine)))
18
19 TOOLCHAIN_NAME:=OpenWrt-Toolchain-$(BOARD)-for-$(ARCH)$(ARCH_SUFFIX)-gcc-$(GCCV)$(DIR_SUFFIX)
20 TOOLCHAIN_BUILD_DIR:=$(BUILD_DIR)/$(TOOLCHAIN_NAME)
21 EXCLUDE_DIRS:=*/ccache \
22         */initial \
23         */stamp \
24         */stampfiles \
25         */man \
26         */info
27
28 all: compile
29
30 TOOLCHAIN_PREFIX:=$(TOOLCHAIN_BUILD_DIR)/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX)
31
32 $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2: clean
33         mkdir -p $(TOOLCHAIN_BUILD_DIR)
34         $(TAR) -cf - -C $(TOPDIR)/staging_dir/  \
35                $(foreach exclude,$(EXCLUDE_DIRS),--exclude="$(exclude)") \
36                toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) | \
37                $(TAR) -xf - -C $(TOOLCHAIN_BUILD_DIR)
38
39         $(CP)  $(TOPDIR)/LICENSE ./files/README.TOOLCHAIN \
40                 $(TOOLCHAIN_BUILD_DIR)/
41
42         $(CP) ./files/wrapper.sh $(TOOLCHAIN_PREFIX)/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh
43         chmod +x $(TOOLCHAIN_PREFIX)/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh
44         (cd $(TOOLCHAIN_PREFIX)/bin; \
45                 for app in cc gcc g++ c++ cpp ld as ; do \
46                         [ -f $(REAL_GNU_TARGET_NAME)-$${app} ] && mv $(REAL_GNU_TARGET_NAME)-$${app} $(REAL_GNU_TARGET_NAME)-$${app}.bin ; \
47                         ln -sf $(REAL_GNU_TARGET_NAME)-wrapper.sh $(REAL_GNU_TARGET_NAME)-$${app} ; \
48                 done; \
49         )
50
51         @-( \
52                 find \
53                         $(TOOLCHAIN_BUILD_DIR)/*/bin \
54                         $(TOOLCHAIN_BUILD_DIR)/*/*/bin \
55                         $(TOOLCHAIN_BUILD_DIR)/*/libexec \
56                         -type f; \
57         ) | xargs strip 2>/dev/null >/dev/null
58
59         echo REVISION:="$(REVISION)" > $(TOOLCHAIN_BUILD_DIR)/version.mk
60         find $(TOOLCHAIN_BUILD_DIR) -name .git | $(XARGS) rm -rf
61         find $(TOOLCHAIN_BUILD_DIR) -name .svn | $(XARGS) rm -rf
62         find $(TOOLCHAIN_BUILD_DIR) -name CVS | $(XARGS) rm -rf
63         (cd $(BUILD_DIR); \
64                 tar cfj $@ $(TOOLCHAIN_NAME); \
65         )
66
67 download:
68 prepare:
69 compile: $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2
70 install: compile
71
72 clean:
73         rm -rf $(TOOLCHAIN_BUILD_DIR) $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2