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
6 # This is free software, licensed under the GNU General Public License v2.
7 # See /LICENSE for more information.
10 include $(TOPDIR
)/rules.mk
11 include $(INCLUDE_DIR
)/kernel.mk
12 include $(INCLUDE_DIR
)/host.mk
16 PKG_OS
:=$(word 2,$(subst -, ,$(shell $(HOSTCC
) -dumpmachine
)))
17 PKG_CPU
:=$(word 1,$(subst -, ,$(shell $(HOSTCC
) -dumpmachine
)))
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 \
30 TOOLCHAIN_PREFIX
:=$(TOOLCHAIN_BUILD_DIR
)/toolchain-
$(ARCH
)$(ARCH_SUFFIX
)_gcc-
$(GCCV
)$(DIR_SUFFIX
)
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
)
39 $(CP
) $(TOPDIR
)/LICENSE .
/files
/README.TOOLCHAIN \
40 $(TOOLCHAIN_BUILD_DIR
)/
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} ; \
53 $(TOOLCHAIN_BUILD_DIR
)/*/bin \
54 $(TOOLCHAIN_BUILD_DIR
)/*/*/bin \
55 $(TOOLCHAIN_BUILD_DIR
)/*/libexec \
57 ) | xargs
strip 2>/dev
/null
>/dev
/null
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
64 tar cfj
$@
$(TOOLCHAIN_NAME
); \
69 compile
: $(BIN_DIR
)/$(TOOLCHAIN_NAME
).
tar.bz2
73 rm -rf
$(TOOLCHAIN_BUILD_DIR
) $(BIN_DIR
)/$(TOOLCHAIN_NAME
).
tar.bz2