root/trunk/platforms/toolchain-syno-x07.mk

Revision 8621, 2.8 KB (checked in by bzhou, 2 years ago)

native gcc 3.4.6 for syno-x07, native toolchain part 2 of 3

Line 
1TARGET_ARCH=arm
2TARGET_OS=linux
3LIBC_STYLE=glibc
4
5LIBSTDC++_VERSION=6.0.3
6LIBNSL_VERSION=2.3.2
7
8GNU_TARGET_NAME = arm-marvell-linux-gnu
9
10STAGING_CPPFLAGS+= -DPATH_MAX=4096 -DLINE_MAX=2048 -DMB_LEN_MAX=16
11
12ifeq (armv5tejl, $(HOST_MACHINE))
13
14HOSTCC = $(TARGET_CC)
15GNU_HOST_NAME = $(GNU_TARGET_NAME)
16TARGET_CROSS = /opt/bin/
17TARGET_LIBDIR = /opt/lib
18TARGET_INCDIR = /opt/include
19TARGET_LDFLAGS = -L/opt/lib
20TARGET_CUSTOM_FLAGS= -O2 -pipe
21TARGET_CFLAGS= -I/opt/include $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_CUSTOM_FLAGS)
22
23toolchain:
24
25else
26
27HOSTCC = gcc
28GNU_HOST_NAME = $(HOST_MACHINE)-pc-linux-gnu
29TARGET_CROSS_TOP = $(BASE_DIR)/toolchain/gcc-3.4.3-glibc-2.3.2
30TARGET_CROSS = $(TARGET_CROSS_TOP)/bin/$(GNU_TARGET_NAME)-
31TARGET_LIBDIR = $(TARGET_CROSS_TOP)/$(GNU_TARGET_NAME)/lib
32TARGET_USRLIBDIR = $(TARGET_CROSS_TOP)/$(GNU_TARGET_NAME)/lib
33TARGET_INCDIR = $(TARGET_CROSS_TOP)/$(GNU_TARGET_NAME)/include
34TARGET_LDFLAGS =
35TARGET_CUSTOM_FLAGS= -O2 -pipe
36TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_CUSTOM_FLAGS)
37
38TOOLCHAIN_BINARY_SITE=http://download.synology.com/toolchain
39TOOLCHAIN_BINARY=gcc343_glibc232_88f5281.tbz
40
41TOOLCHAIN_KERNEL_SITE=ftp://ftp.kernel.org/pub/linux/kernel/v2.6
42TOOLCHAIN_KERNEL_VERSION=2.6.15
43TOOLCHAIN_KERNEL_SOURCE=linux-$(TOOLCHAIN_KERNEL_VERSION).tar.bz2
44
45NATIVE_GCC_VERSION=3.4.6
46NATIVE_GCC_EXTRA_PATCHES=$(GCC_SOURCE_DIR)/$(GCC_VERSION)/arm-softfloat.patch.conditional
47
48toolchain: $(TARGET_CROSS_TOP)/.unpacked
49
50$(DL_DIR)/$(TOOLCHAIN_BINARY):
51        $(WGET) -P $(@D) $(TOOLCHAIN_BINARY_SITE)/$(@F) || \
52        $(WGET) -P $(@D) $(SOURCES_NLO_SITE)/$(@F)
53
54$(DL_DIR)/$(TOOLCHAIN_KERNEL_SOURCE):
55        $(WGET) -P $(@D) $(TOOLCHAIN_KERNEL_SITE)/$(@F) || \
56        $(WGET) -P $(@D) $(SOURCES_NLO_SITE)/$(@F)
57
58$(BASE_DIR)/toolchain/linux-$(TOOLCHAIN_KERNEL_VERSION)/include/linux/version.h: $(DL_DIR)/$(TOOLCHAIN_KERNEL_SOURCE)
59        tar -xj -C $(BASE_DIR)/toolchain -f $(DL_DIR)/$(TOOLCHAIN_KERNEL_SOURCE)
60        $(MAKE) -C $(BASE_DIR)/toolchain/linux-$(TOOLCHAIN_KERNEL_VERSION) include/linux/version.h
61
62$(TARGET_CROSS_TOP)/.unpacked: \
63$(BASE_DIR)/toolchain/linux-$(TOOLCHAIN_KERNEL_VERSION)/include/linux/version.h \
64$(DL_DIR)/$(TOOLCHAIN_BINARY) \
65# $(OPTWARE_TOP)/platforms/toolchain-$(OPTWARE_TARGET).mk
66        rm -rf $(@D)
67        mkdir -p $(@D)
68        tar -xj -C $(BASE_DIR)/toolchain -f $(DL_DIR)/$(TOOLCHAIN_BINARY)
69        mv $(BASE_DIR)/toolchain/usr/local/$(GNU_TARGET_NAME)/* $(@D)
70        rm -rf $(BASE_DIR)/toolchain/usr
71        ln -s $(BASE_DIR)/toolchain/linux-$(TOOLCHAIN_KERNEL_VERSION)/include/linux $(TARGET_INCDIR)/
72        ln -s $(BASE_DIR)/toolchain/linux-$(TOOLCHAIN_KERNEL_VERSION)/include/asm-arm $(TARGET_INCDIR)/asm
73        ln -s $(BASE_DIR)/toolchain/linux-$(TOOLCHAIN_KERNEL_VERSION)/include/asm-generic $(TARGET_INCDIR)/
74        cp $(OPTWARE_TOP)/sources/toolchain-$(OPTWARE_TARGET)/autoconf.h $(BASE_DIR)/toolchain/linux-$(TOOLCHAIN_KERNEL_VERSION)/include/linux/
75        touch $@
76
77endif
Note: See TracBrowser for help on using the browser.