3 # (directory of the last (this) makefile)
4 export TOP
:= $(shell cd
$(dir $(word $(words $(MAKEFILE_LIST
)),$(MAKEFILE_LIST
))) && pwd
)
7 export SRCBASE
:= $(shell (cd
$(TOP
)/..
&& pwd
))
8 export SRCBASEDIR
:= $(shell (cd
$(TOP
)/..
&& pwd | sed
's/.*release\///g'))
10 export TOP
:= $(SRCBASE
)/router
13 include $(SRCBASE
)/tomato_profile.mak
14 include $(TOP
)/.config
16 export BUILD
:= $(shell (gcc
-dumpmachine
))
19 ifeq ($(TCONFIG_BCMARM
),y
)
20 export PLATFORM
:= arm-uclibc
21 export CROSS_COMPILE
:= arm-brcm-linux-uclibcgnueabi-
22 export CROSS_COMPILER
:= $(CROSS_COMPILE
)
23 export CONFIGURE
:= .
/configure
--host
=arm-linux
--build
=$(BUILD
)
24 export HOSTCONFIG
:= linux-armv4
25 ifeq ($(CONFIG_BCM7
),y
)
26 export BCMEX
:= _arm_7
30 export EXTRA_FLAG
:= -lgcc_s
32 export HOST
:= arm-linux
34 export PLATFORM
:= mipsel-uclibc
35 export CROSS_COMPILE
:= mipsel-uclibc-
36 export CROSS_COMPILER
:= $(CROSS_COMPILE
)
37 export CONFIGURE
:= .
/configure
--host
=mipsel-linux
--build
=$(BUILD
)
38 export HOSTCONFIG
:= linux-mipsel
40 export HOST
:= mipsel-linux
44 export TOOLCHAIN
:= $(shell cd
$(dir $(shell which
$(CROSS_COMPILE
)gcc
))/..
&& pwd
-P
)
46 export CC
:= $(CROSS_COMPILE
)gcc
47 export AR
:= $(CROSS_COMPILE
)ar
48 export AS
:= $(CROSS_COMPILE
)as
49 export LD
:= $(CROSS_COMPILE
)ld
50 export NM
:= $(CROSS_COMPILE
)nm
51 export OBJCOPY
:= $(CROSS_COMPILE
)objcopy
52 export RANLIB
:= $(CROSS_COMPILE
)ranlib
53 ifeq ($(TCONFIG_BCMARM
),y
)
54 export STRIP
:= $(CROSS_COMPILE
)strip
56 export STRIP
:= $(CROSS_COMPILE
)strip -R .note
-R .comment
58 export SIZE
:= $(CROSS_COMPILE
)size
60 include $(SRCBASE
)/target.mak
62 # Determine kernel version
63 SCMD
=sed
-e
's,[^=]*=[ ]*\([^ ]*\).*,\1,'
64 KVERSION
:= $(shell grep
'^VERSION[ ]*=' $(LINUXDIR
)/Makefile|
$(SCMD
))
65 KPATCHLEVEL
:= $(shell grep
'^PATCHLEVEL[ ]*=' $(LINUXDIR
)/Makefile|
$(SCMD
))
66 KSUBLEVEL
:= $(shell grep
'^SUBLEVEL[ ]*=' $(LINUXDIR
)/Makefile|
$(SCMD
))
67 KEXTRAVERSION
:= $(shell grep
'^EXTRAVERSION[ ]*=' $(LINUXDIR
)/Makefile|
$(SCMD
))
68 LINUX_KERNEL
=$(KVERSION
).
$(KPATCHLEVEL
).
$(KSUBLEVEL
)$(KEXTRAVERSION
)
69 LINUX_KERNEL_VERSION
=$(shell expr
$(KVERSION
) \
* 65536 + $(KPATCHLEVEL
) \
* 256 + $(KSUBLEVEL
))
70 ifeq ($(LINUX_KERNEL
),)
71 $(error Empty LINUX_KERNEL variable
)
75 export LIBDIR
:= $(TOOLCHAIN
)/lib
76 export USRLIBDIR
:= $(TOOLCHAIN
)/usr
/lib
78 export PLATFORMDIR
:= $(TOP
)/$(PLATFORM
)
79 export INSTALLDIR
:= $(PLATFORMDIR
)/install
80 export TARGETDIR
:= $(PLATFORMDIR
)/target
81 export STAGEDIR
:= $(PLATFORMDIR
)/stage
83 ifeq ($(EXTRACFLAGS
),)
84 ifeq ($(TCONFIG_BCMARM
),y
)
85 export EXTRACFLAGS
:= -DBCMWPA2
-DBCMARM
-fno-delete-null-pointer-checks
-marm
87 export EXTRACFLAGS
:= -DBCMWPA2
-fno-delete-null-pointer-checks
-mips32
-mtune
=mips32
90 export EXTRACFLAGS
+= -DLINUX_KERNEL_VERSION
=$(LINUX_KERNEL_VERSION
)
92 CPTMP
= @
[ -d
$(TOP
)/dbgshare
] && cp
$@
$(TOP
)/dbgshare
/ || true
94 ifeq ($(CONFIG_LINUX26
),y
)
95 export KERNELCC
:= $(CC
)
96 export KERNELLD
:= $(LD
)
98 export KERNELCC
:= $(CC
)-3.4.6
101 # ifneq ($(STATIC),1)
102 # SIZECHECK = @$(SRCBASE)/btools/sizehistory.pl $@ $(TOMATO_PROFILE_L)_$(notdir $@)
104 SIZECHECK
= @
$(SIZE
) $@