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
26 export EXTRA_FLAG
:= -lgcc_s
28 export HOST
:= arm-linux
30 export PLATFORM
:= mipsel-uclibc
31 export CROSS_COMPILE
:= mipsel-uclibc-
32 export CROSS_COMPILER
:= $(CROSS_COMPILE
)
33 export CONFIGURE
:= .
/configure
--host
=mipsel-linux
--build
=$(BUILD
)
34 export HOSTCONFIG
:= linux-mipsel
36 export HOST
:= mipsel-linux
40 export TOOLCHAIN
:= $(shell cd
$(dir $(shell which
$(CROSS_COMPILE
)gcc
))/..
&& pwd
-P
)
42 export CC
:= $(CROSS_COMPILE
)gcc
43 export AR
:= $(CROSS_COMPILE
)ar
44 export AS
:= $(CROSS_COMPILE
)as
45 export LD
:= $(CROSS_COMPILE
)ld
46 export NM
:= $(CROSS_COMPILE
)nm
47 export OBJCOPY
:= $(CROSS_COMPILE
)objcopy
48 export RANLIB
:= $(CROSS_COMPILE
)ranlib
49 ifeq ($(TCONFIG_BCMARM
),y
)
50 export STRIP
:= $(CROSS_COMPILE
)strip
52 export STRIP
:= $(CROSS_COMPILE
)strip -R .note
-R .comment
54 export SIZE
:= $(CROSS_COMPILE
)size
56 include $(SRCBASE
)/target.mak
58 # Determine kernel version
59 SCMD
=sed
-e
's,[^=]*=[ ]*\([^ ]*\).*,\1,'
60 KVERSION
:= $(shell grep
'^VERSION[ ]*=' $(LINUXDIR
)/Makefile|
$(SCMD
))
61 KPATCHLEVEL
:= $(shell grep
'^PATCHLEVEL[ ]*=' $(LINUXDIR
)/Makefile|
$(SCMD
))
62 KSUBLEVEL
:= $(shell grep
'^SUBLEVEL[ ]*=' $(LINUXDIR
)/Makefile|
$(SCMD
))
63 KEXTRAVERSION
:= $(shell grep
'^EXTRAVERSION[ ]*=' $(LINUXDIR
)/Makefile|
$(SCMD
))
64 LINUX_KERNEL
=$(KVERSION
).
$(KPATCHLEVEL
).
$(KSUBLEVEL
)$(KEXTRAVERSION
)
65 LINUX_KERNEL_VERSION
=$(shell expr
$(KVERSION
) \
* 65536 + $(KPATCHLEVEL
) \
* 256 + $(KSUBLEVEL
))
66 ifeq ($(LINUX_KERNEL
),)
67 $(error Empty LINUX_KERNEL variable
)
71 export LIBDIR
:= $(TOOLCHAIN
)/lib
72 export USRLIBDIR
:= $(TOOLCHAIN
)/usr
/lib
74 export PLATFORMDIR
:= $(TOP
)/$(PLATFORM
)
75 export INSTALLDIR
:= $(PLATFORMDIR
)/install
76 export TARGETDIR
:= $(PLATFORMDIR
)/target
77 export STAGEDIR
:= $(PLATFORMDIR
)/stage
79 ifeq ($(EXTRACFLAGS
),)
80 ifeq ($(TCONFIG_BCMARM
),y
)
81 export EXTRACFLAGS
:= -DBCMWPA2
-DBCMARM
-fno-delete-null-pointer-checks
-marm
83 export EXTRACFLAGS
:= -DBCMWPA2
-fno-delete-null-pointer-checks
-mips32
-mtune
=mips32
86 export EXTRACFLAGS
+= -DLINUX_KERNEL_VERSION
=$(LINUX_KERNEL_VERSION
)
88 CPTMP
= @
[ -d
$(TOP
)/dbgshare
] && cp
$@
$(TOP
)/dbgshare
/ || true
90 ifeq ($(CONFIG_LINUX26
),y
)
91 export KERNELCC
:= $(CC
)
92 export KERNELLD
:= $(LD
)
94 export KERNELCC
:= $(CC
)-3.4.6
98 # SIZECHECK = @$(SRCBASE)/btools/sizehistory.pl $@ $(TOMATO_PROFILE_L)_$(notdir $@)
100 SIZECHECK
= @
$(SIZE
) $@