2 # Toplevel Makefile for the BCM947xx Linux Router release
4 # Copyright 2005, Broadcom Corporation
7 # THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 # KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 # SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 # FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
12 # $Id: Makefile,v 1.53 2005/04/25 03:54:37 tallest Exp $
15 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
17 # To rebuild everything and all configurations:
19 # make libc (usually doesn't need to be done ???)
20 # make V1=whatever V2=sub-whatever VPN=vpn3.6 a b c d m
21 # The 1st "whatever" would be the build number, the sub-whatever would
22 # be the update to the version.
25 # make V1=8516 V2="-jffs.1" a b c d m s
27 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
31 export SRCBASE
:= $(shell pwd
)
32 export SRCBASEDIR
:= $(shell pwd | sed
's/.*release\///g')
33 RELEASEDIR
:= $(shell (cd
$(SRCBASE
)/..
&& pwd
-P
))
34 PATH
:= $(RELEASEDIR
)/tools
:$(PATH
)
36 ifeq ($(ASUSWRTTARGETMAKDIR
),)
39 include $(ASUSWRTTARGETMAKDIR
)/target.mak
42 ifeq ($(ASUSWRTVERSIONCONFDIR
),)
43 include .
/version.conf
45 include $(ASUSWRTVERSIONCONFDIR
)/version.conf
48 export BRANCH
:= $(shell git branch
)
51 include .
/router
/extendno.conf
53 export EXTENDNO
:= $(shell git log
--pretty
=oneline asuswrt_
$(KERNEL_VER
).
$(FS_VER
).
$(SERIALNO
)..HEAD | wc
-l
)-g
$(shell git log
--pretty
=format
:'%h' -n
1)
57 export EXTENDNO
:= 0-g
$(shell git log
--pretty
=format
:'%h' -n
1)
60 export SWPJNAME
:= $(shell git branch | grep
"*" | grep
"swpj-" | sed
's/.*swpj-//g')
63 export SWPJVERNO
:= $(shell cat
$(SRCBASE
)/router
/APP-IPK
/$(SWPJNAME
)/CONTROL
/control | grep
"Version:" | sed
's/Version: //g')
65 export SWPJVER
:= $(SWPJNAME
)_
$(SWPJVERNO
)_
68 export SWPJEXTENDNO
:= $(shell git describe
--match swpj_
$(SWPJNAME
)_
$(SWPJVER
) | sed
's/swpj_$(SWPJNAME)_$(SWPJVER)-//g')
70 ifneq ($(SWPJEXTENDNO
),)
71 export EXTENDNO
:= $(SWPJEXTENDNO
)
73 export EXTENDNO
:= 0-g
$(shell git log
--pretty
=format
:'%h' -n
1)
77 include .
/platform.mak
81 export LD_LIBRARY_PATH
:= $(SRCBASE
)/toolchains
/hndtools-arm-linux-2.6
.36-uclibc-4.5
.3/lib
83 export PLATFORM
:= arm-uclibc
84 export PLATFORMDIR
:= $(SRCBASE
)/router
/$(PLATFORM
)
90 CTAGS_EXCLUDE_OPT
:= --exclude
=kernel_header
--exclude
=$(PLATFORM
)
91 CTAGS_DEFAULT_DIR
:= $(SRCBASE
)/..
/src
/router
/rc
$(SRCBASE
)/..
/src
/router
/httpd
$(SRCBASE
)/..
/src
/router
/shared
$(SRCBASE
)/..
/src
/router
/www
95 CTAGS_DEFAULT_DIR
+= $(SRCBASE
)/include $(SRCBASE
)/emf
$(SRCBASE
)/et
$(SRCBASE
)/wl
98 uppercase_N
= $(shell echo
$(N
) | tr a-z A-Z
)
99 lowercase_N
= $(shell echo
$(N
) | tr A-Z a-z
)
100 uppercase_B
= $(shell echo
$(B
) | tr a-z A-Z
)
101 lowercase_B
= $(shell echo
$(B
) | tr A-Z a-z
)
102 BUILD_TIME
:= $(shell LC_ALL
=C date
-u
)
103 #BUILD_USER=$(shell whoami)
104 BUILD_USER ?
= $(shell whoami
)
105 BUILD_INFO
:= $(shell git log
--pretty
="%h" -n
1)
107 ifeq ($(CONFIG_LINUX26
),y
)
108 mips_rev
= $(if
$(filter $(MIPS32
),r2
),MIPSR2
,MIPSR1
)
115 ifeq ($(CONFIG_RALINK
),y
)
116 KERNEL_BINARY
=$(LINUXDIR
)/vmlinux
118 KERNEL_BINARY
=$(LINUXDIR
)/arch
/mips
/brcm-board
/bcm947xx
/compressed
/zImage
122 @if
[ -f .config
-a
"$(BUILD_NAME)" != "" ] ; then \
125 echo
"Source tree is not configured. Run make with model name." ; \
129 @echo
'#ifndef RTVERSION' > router
/shared
/version.h
130 @echo
'#define RT_MAJOR_VERSION "$(KERNEL_VER)"' >> router
/shared
/version.h
131 @echo
'#define RT_MINOR_VERSION "$(FS_VER)"' >> router
/shared
/version.h
132 @echo
'#define RT_VERSION "$(KERNEL_VER).$(FS_VER)"' >> router
/shared
/version.h
133 @echo
'#define RT_SERIALNO "$(SERIALNO)"' >> router
/shared
/version.h
134 @echo
'#define RT_EXTENDNO "$(EXTENDNO)"' >> router
/shared
/version.h
135 @echo
'#define RT_SWPJVERNO "$(SWPJVERNO)"' >> router
/shared
/version.h
136 @echo
'#define RT_BUILD_NAME "$(BUILD_NAME)"' >> router
/shared
/version.h
137 @echo
'#define RT_BUILD_INFO "$(BUILD_TIME) $(BUILD_USER)@$(BUILD_INFO)"' >> router
/shared
/version.h
138 @echo
'#endif' >> router
/shared
/version.h
139 @echo
'$(BUILD_NAME)_$(KERNEL_VER).$(FS_VER) $(BUILD_TIME)' > router
/shared
/version
140 @echo
'EXTENDNO=$(EXTENDNO)' > router
/extendno.conf
143 @
rm -f ntools
/version
144 echo
'KERNEL_IMAGE = $(BUILD_NAME)_$(KERNEL_VER).$(FS_VER)_$(SERIALNO).trx' >> ntools
/version
146 all: rt_ver rt_ver_ntools
148 echo
"Building $(BUILD_NAME)_$(KERNEL_VER).$(FS_VER).trx"
152 $(MAKE
) -C router
all
153 $(MAKE
) -C router
install
154 echo
"*** install complete ***"
158 @if
[ -z
"$(BUILD_NAME)" ]; then \
159 echo
"No BUILD_NAME is assigned"; \
163 @
rm -f image
/$(BUILD_NAME
)_
$(KERNEL_VER
).
$(FS_VER
)_
$(SERIALNO
).trx
165 ifeq ($(CONFIG_RALINK
),y
)
166 # generate kernel part
167 @
rm -rf
$(PLATFORMDIR
)/zImage.lzma
; \
168 mipsel-linux-objcopy
-O binary
$(LINUXDIR
)/vmlinux
$(PLATFORMDIR
)/vmlinus
; \
169 asustools
/lzma
-9 -f
-c
$(PLATFORMDIR
)/vmlinus
> $(PLATFORMDIR
)/zImage.lzma
; \
170 cp
-f
$(PLATFORMDIR
)/zImage.lzma
$(PLATFORMDIR
)/zImage.img
; \
171 # padded kernel image size
172 @SIZE
=`wc -c $(PLATFORMDIR)/zImage.img | awk '{print $$1}'`; \
173 if
[ "`grep -c \"^CONFIG_ROOTFS_IN_FLASH_NO_PADDING\>\" $(LINUXDIR)/.config`" -eq
0 ] ; then \
174 CONFIG_MTD_KERNEL_PART_SIZ
=`grep "^CONFIG_MTD_KERNEL_PART_SIZ\>" $(LINUXDIR)/.config|sed -e "s,[^=]*=,," -e "s,^\(0x\)*,0x,"` ; \
175 MTD_KRN_PART_SIZE
=`printf "%d" $${CONFIG_MTD_KERNEL_PART_SIZ}` ; \
176 PAD
=`expr $${MTD_KRN_PART_SIZE} - 64 - $${SIZE}` ; \
177 echo
"S: $$SIZE $${MTD_KRN_PART_SIZE} $${PAD}" ; \
178 if
[ "$${PAD}" -le
"0" ] ; then \
179 echo
"CONFIG_MTD_KERNEL_PART_SIZ $${CONFIG_MTD_KERNEL_PART_SIZ} is smaller than " \
180 "`wc -c $(PLATFORMDIR)/zImage.img|awk '{printf "0x
%x
",$$1}'`. Increase it!" ; \
181 ls
-l
$(PLATFORMDIR
)/zImage.img
; \
184 dd if
=/dev
/zero count
=1 bs
=$${PAD} 2> /dev
/null | tr
\\000 \\377 >> $(PLATFORMDIR
)/zImage.img
; \
186 PAD
=`expr 64 - $${SIZE} % 64` ; \
187 dd if
=/dev
/zero count
=1 bs
=$${PAD} 2> /dev
/null | tr
\\000 \\377 >> $(PLATFORMDIR
)/zImage.img
; \
190 cat
$(PLATFORMDIR
)/target.image
>> $(PLATFORMDIR
)/zImage.img
; \
192 @ENTRY
=`LANG=en_US readelf -h $(ROOTDIR)/$(LINUXDIR)/vmlinux | grep "Entry" | awk '{print $$4}'` ; \
193 ISIZE
=`wc -c $(PLATFORMDIR)/zImage.img | awk '{print $$1}'` ; \
194 KSIZE
=`wc -c $(PLATFORMDIR)/zImage.lzma | awk '{print $$1}'` ; \
195 RSIZE
=`wc -c $(PLATFORMDIR)/target.image | awk '{print $$1}'` ; \
196 PAD2
=`expr $${ISIZE} - $${KSIZE} - $${RSIZE}` ; \
197 RFSOFFSET
=`expr 64 + $${KSIZE} + $${PAD2}` ; \
198 echo
"PAD2: $${PAD2}" ; \
199 asustools
/mkimage
-A mips
-O linux
-T kernel
-C lzma
-a
80000000 -e
$${ENTRY} -r
$${RFSOFFSET} \
200 -n
$(BUILD_NAME
) -V
"$(KERNEL_VER)" "$(FS_VER)" "0" "0" "0" "0" "0" "0" "0" "0" \
201 -d
$(PLATFORMDIR
)/zImage.img image
/$(BUILD_NAME
)_
$(KERNEL_VER
).
$(FS_VER
)_
$(SERIALNO
)_
$(SWPJVER
)$(EXTENDNO
).trx
203 echo
"*** make ctools start ***"
205 # Create generic TRX image
207 ctools
/objcopy
-O binary
-R .note
-R .note.gnu.build-id
-R .comment
-S
$(LINUXDIR
)/vmlinux ctools
/piggy
209 ctools
/objcopy
-O binary
-R .reginfo
-R .note
-R .comment
-R .mdebug
-S
$(LINUXDIR
)/vmlinux ctools
/piggy
211 ctools
/lzma_4k e ctools
/piggy ctools
/vmlinuz-lzma
212 ctools
/mksquashfs router
/arm-uclibc
/target ctools
/target.squashfs
-noappend
-all-root
213 ifneq (,$(filter y
,$(BCMWL6
) $(BCMWL6A
)))
214 ctools
/trx
-o image
/linux-lzma.trx ctools
/vmlinuz-lzma ctools
/target.squashfs
216 ctools
/trx
-o image
/linux-lzma.trx lzma-loader
/loader.gz ctools
/vmlinuz-lzma ctools
/target.squashfs
218 ctools
/trx_asus
-i image
/linux-lzma.trx
-r
$(BUILD_NAME
),$(KERNEL_VER
).
$(FS_VER
),image
/$(BUILD_NAME
)_
$(KERNEL_VER
).
$(FS_VER
)_
$(SERIALNO
)_
$(SWPJVER
)$(EXTENDNO
).trx
219 rm -f image
/linux-lzma.trx
224 [ ! -e .bin
/$(BUILD_NAME
)/Makefile
] ||
$(MAKE
) -C .bin
/$(BUILD_NAME
) O
=$(SRCBASE
)/image FW_FN
=$(BUILD_NAME
)_
$(KERNEL_VER
).
$(FS_VER
)_
$(SERIALNO
)_
$(SWPJVER
)$(EXTENDNO
).trx
227 @touch router
/.config
228 @
rm -f router
/config_
[a-z
]
229 @
rm -f router
/busybox
/config_
[a-z
]
230 @
$(MAKE
) -C router
$@
231 @
-rm -rf
$(PLATFORMDIR
)
232 @
$(MAKE
) -C btools
clean
237 @
rm -f router
/.config
238 @touch router
/.config
242 @
$(MAKE
) -C
$(LINUXDIR
)/scripts
/squashfs
clean
243 @
$(MAKE
) -C btools
clean
244 ifneq ($(RTCONFIG_RALINK
),y
)
245 @
$(MAKE
) -C ctools
clean
251 mv .config save-config
&& \
252 $(MAKE
) distclean || true
; \
253 cp
-p save-config .config || true
257 $(MAKE
) -C router kernel
258 [ ! -e
$(KERNEL_BINARY
) ] || ls
-l
$(KERNEL_BINARY
)
260 distclean: clean cleanimage cleankernel cleantools cleanlibc
261 ifneq ($(INSIDE_MAK
),1)
262 @
$(MAKE
) -C router
$@ INSIDE_MAK
=1
264 mv router
/busybox
/.config busybox-saved-config || true
265 @
$(MAKE
) -C router
/busybox
distclean
266 @
rm -f router
/busybox
/config_current
267 @cp
-p busybox-saved-config router
/busybox
/.config || true
268 @cp
-p router
/busybox
/.config router
/busybox
/config_current || true
269 @
rm -f router
/config_current
270 @
rm -f router
/.config.cmd router
/.config.old router
/.config
271 @
rm -f router
/libfoo_xref.txt
276 rm -f config_current
; \
277 ln
-s config_base config_current
; \
278 cp
-f config_current .config
279 ifeq ($(CONFIG_LINUX26
),y
)
280 $(MAKE
) -C
$(LINUXDIR
) oldconfig prepare
282 $(MAKE
) -C
$(LINUXDIR
) oldconfig dep
287 @echo
"$(current_BUILD_DESC)-$(current_BUILD_NAME)-$(TOMATO_PROFILE_NAME) Profile"
291 # The methodology for making the different builds is to
292 # copy the "base" config file to the "target" config file in
293 # the appropriate directory, and then edit it by removing and
294 # inserting the desired configuration lines.
295 # You can't just delete the "whatever=y" line, you must have
296 # a "...is not set" line, or the make oldconfig will stop and ask
299 # Options for "make bin" :
304 # NO_CIFS, NO_SSH, NO_ZEBRA, NO_SAMBA, NO_LIBOPT
305 # SAMBA3, OPENVPN, IPV6SUPP, EBTABLES, NTFS, MEDIASRV, PRINTER, BBEXTRAS, USBEXTRAS, BCM57, SLIM
309 if
[ "$(CONFIG_LINUX26)" = "y" ] ||
[ "$(SAMBA3)" = "y" ]; then \
310 sed
-i
"/RTCONFIG_SAMBA3/d" $(1); \
311 echo
"RTCONFIG_SAMBA3=y" >>$(1); \
313 sed
-i
"/RTCONFIG_EMF/d" $(1); \
314 if
[ "$(CONFIG_LINUX26)" = "y" ]; then \
315 if
[ "$(SLIM)" = "y" ]; then \
316 echo
"# RTCONFIG_EMF is not set" >>$(1); \
318 echo
"RTCONFIG_EMF=y" >>$(1); \
321 echo
"# RTCONFIG_EMF is not set" >>$(1); \
323 sed
-i
"/RTCONFIG_JFFSV1/d" $(1); \
324 if
[ "$(CONFIG_LINUX26)" = "y" ]; then \
325 if
[ "$(JFFSv1)" = "y" ]; then \
326 echo
"RTCONFIG_JFFSV1=y" >>$(1); \
328 echo
"# RTCONFIG_JFFSV1 is not set" >>$(1); \
331 echo
"RTCONFIG_JFFSV1=y" >>$(1); \
333 if
[ "$(FANCTRL)" = "y" ]; then \
334 sed
-i
"/RTCONFIG_FANCTRL/d" $(1); \
335 echo
"RTCONFIG_FANCTRL=y" >>$(1); \
337 if
[ "$(BCM5301X)" = "y" ]; then \
338 sed
-i
"/RTCONFIG_5301X/d" $(1); \
339 echo
"RTCONFIG_5301X=y" >>$(1); \
341 if
[ "$(BCMWL6)" = "y" ]; then \
342 sed
-i
"/RTCONFIG_BCMWL6/d" $(1); \
343 echo
"RTCONFIG_BCMWL6=y" >>$(1); \
345 if
[ "$(BCMWL6A)" = "y" ]; then \
346 sed
-i
"/RTCONFIG_BCMWL6A/d" $(1); \
347 echo
"RTCONFIG_BCMWL6A=y" >>$(1); \
349 if
[ "$(ARM)" = "y" ]; then \
350 sed
-i
"/RTCONFIG_BCMARM/d" $(1); \
351 echo
"RTCONFIG_BCMARM=y" >>$(1); \
353 if
[ "$(BCMSMP)" = "y" ]; then \
354 sed
-i
"/RTCONFIG_BCMSMP/d" $(1); \
355 echo
"RTCONFIG_BCMSMP=y" >>$(1); \
357 if
[ "$(COMA)" = "y" ]; then \
358 sed
-i
"/RTCONFIG_COMA/d" $(1); \
359 echo
"RTCONFIG_COMA=y" >>$(1); \
361 if
[ "$(WIRELESSWAN)" = "y" ]; then \
362 sed
-i
"/RTCONFIG_WIRELESSWAN/d" $(1); \
363 echo
"RTCONFIG_WIRELESSWAN=y" >>$(1); \
365 if
[ "$(PARENTAL)" = "y" ]; then \
366 sed
-i
"/RTCONFIG_OLD_PARENTALCTRL/d" $(1); \
367 echo
"RTCONFIG_OLD_PARENTALCTRL=y" >>$(1); \
369 if
[ "$(PARENTAL2)" = "y" ]; then \
370 sed
-i
"/RTCONFIG_PARENTALCTRL/d" $(1); \
371 echo
"RTCONFIG_PARENTALCTRL=y" >>$(1); \
373 if
[ "$(YANDEXDNS)" = "y" ]; then \
374 sed
-i
"/RTCONFIG_YANDEXDNS/d" $(1); \
375 echo
"RTCONFIG_YANDEXDNS=y" >>$(1); \
377 if
[ "$(PPTPD)" = "y" ]; then \
378 sed
-i
"/RTCONFIG_PPTPD/d" $(1); \
379 echo
"RTCONFIG_PPTPD=y" >>$(1); \
381 if
[ "$(REPEATER)" = "y" ]; then \
382 sed
-i
"/RTCONFIG_WIRELESSREPEATER/d" $(1); \
383 echo
"RTCONFIG_WIRELESSREPEATER=y" >>$(1); \
385 if
[ "$(PROXYSTA)" = "y" ]; then \
386 sed
-i
"/RTCONFIG_PROXYSTA/d" $(1); \
387 echo
"RTCONFIG_PROXYSTA=y" >>$(1); \
389 if
[ "$(IXIAEP)" = "y" ]; then \
390 sed
-i
"/RTCONFIG_IXIAEP/d" $(1); \
391 echo
"RTCONFIG_IXIAEP=y" >>$(1); \
393 if
[ "$(IPERF)" = "y" ]; then \
394 sed
-i
"/RTCONFIG_IPERF/d" $(1); \
395 echo
"RTCONFIG_IPERF=y" >>$(1); \
397 if
[ "$(TCPDUMP)" = "y" ]; then \
398 sed
-i
"/RTCONFIG_TCPDUMP/d" $(1); \
399 echo
"RTCONFIG_TCPDUMP=y" >>$(1); \
401 if
[ "$(DISKTEST)" = "y" ]; then \
402 sed
-i
"/RTCONFIG_DISKTEST/d" $(1); \
403 echo
"RTCONFIG_DISKTEST=y" >>$(1); \
405 if
[ "$(LOCALE2012)" = "y" ]; then \
406 sed
-i
"/RTCONFIG_LOCALE2012/d" $(1); \
407 echo
"RTCONFIG_LOCALE2012=y" >>$(1); \
409 if
[ "$(ODMPID)" = "y" ]; then \
410 sed
-i
"/RTCONFIG_ODMPID/d" $(1); \
411 echo
"RTCONFIG_ODMPID=y" >>$(1); \
413 if
[ "$(LED_ALL)" = "y" ]; then \
414 sed
-i
"/RTCONFIG_LED_ALL/d" $(1); \
415 echo
"RTCONFIG_LED_ALL=y" >>$(1); \
417 if
[ "$(N56U_SR2)" = "y" ]; then \
418 sed
-i
"/RTCONFIG_N56U_SR2/d" $(1); \
419 echo
"RTCONFIG_N56U_SR2=y" >>$(1); \
421 if
[ "$(AP_CARRIER_DETECTION)" = "y" ]; then \
422 sed
-i
"/RTCONFIG_AP_CARRIER_DETECTION/d" $(1); \
423 echo
"RTCONFIG_AP_CARRIER_DETECTION=y" >>$(1); \
425 if
[ "$(SFP)" = "y" ]; then \
426 sed
-i
"/RTCONFIG_SFP/d" $(1); \
427 echo
"RTCONFIG_SFP=y" >>$(1); \
429 if
[ "$(SFP4M)" = "y" ]; then \
430 sed
-i
"/RTCONFIG_SFP/d" $(1); \
431 echo
"RTCONFIG_SFP=y" >>$(1); \
432 sed
-i
"/RTCONFIG_4M_SFP/d" $(1); \
433 echo
"RTCONFIG_4M_SFP=y" >>$(1); \
435 if
[ "$(SFP8M)" = "y" ]; then \
436 sed
-i
"/RTCONFIG_8M_SFP/d" $(1); \
437 echo
"RTCONFIG_8M_SFP=y" >>$(1); \
439 if
[ "$(SFPRAM16M)" = "y" ]; then \
440 sed
-i
"/RTCONFIG_16M_RAM_SFP/d" $(1); \
441 echo
"RTCONFIG_16M_RAM_SFP=y" >>$(1); \
443 if
[ "$(AUTODICT)" = "y" ]; then \
444 sed
-i
"/RTCONFIG_AUTODICT/d" $(1); \
445 echo
"RTCONFIG_AUTODICT=y" >>$(1); \
447 if
[ "$(ZIPLIVEUPDATE)" = "y" ]; then \
448 sed
-i
"/RTCONFIG_AUTOLIVEUPDATE_ZIP/d" $(1); \
449 echo
"RTCONFIG_AUTOLIVEUPDATE_ZIP=y" >>$(1); \
451 if
[ "$(LANWAN_LED)" = "y" ]; then \
452 sed
-i
"/RTCONFIG_LANWAN_LED/d" $(1); \
453 echo
"RTCONFIG_LANWAN_LED=y" >>$(1); \
455 if
[ "$(LAN4WAN_LED)" = "y" ]; then \
456 sed
-i
"/RTCONFIG_LAN4WAN_LED/d" $(1); \
457 echo
"RTCONFIG_LAN4WAN_LED=y" >>$(1); \
459 if
[ "$(WLAN_LED)" = "y" ]; then \
460 sed
-i
"/RTCONFIG_WLAN_LED/d" $(1); \
461 echo
"RTCONFIG_WLAN_LED=y" >>$(1); \
463 if
[ "$(SWMODE_SWITCH)" = "y" ]; then \
464 sed
-i
"/RTCONFIG_SWMODE_SWITCH/d" $(1); \
465 echo
"RTCONFIG_SWMODE_SWITCH=y" >>$(1); \
467 if
[ "$(FAKE_AUTOCHANNEL)" = "y" ]; then \
468 sed
-i
"/RTCONFIG_FAKE_AUTOCHANNEL/d" $(1); \
469 echo
"RTCONFIG_FAKE_AUTOCHANNEL=y" >>$(1); \
471 if
[ "$(WIRELESS_SWITCH)" = "y" ]; then \
472 sed
-i
"/RTCONFIG_WIRELESS_SWITCH/d" $(1); \
473 echo
"RTCONFIG_WIRELESS_SWITCH=y" >>$(1); \
475 if
[ "$(BTN_WIFITOG)" = "y" ]; then \
476 sed
-i
"/RTCONFIG_WIFI_TOG_BTN/d" $(1); \
477 echo
"RTCONFIG_WIFI_TOG_BTN=y" >>$(1); \
479 if
[ "$(TURBO)" = "y" ]; then \
480 sed
-i
"/RTCONFIG_TURBO/d" $(1); \
481 echo
"RTCONFIG_TURBO=y" >>$(1); \
483 if
[ "$(LED_BTN)" = "y" ]; then \
484 sed
-i
"/RTCONFIG_LED_BTN/d" $(1); \
485 echo
"RTCONFIG_LED_BTN=y" >>$(1); \
487 if
[ "$(LED_BTN_MODE)" = "y" ]; then \
488 sed
-i
"/RTCONFIG_LED_BTN_MODE/d" $(1); \
489 echo
"RTCONFIG_LED_BTN_MODE=y" >>$(1); \
491 if
[ "$(USBEJECT)" = "y" ]; then \
492 sed
-i
"/RTCONFIG_USBEJECT/d" $(1); \
493 echo
"RTCONFIG_USBEJECT=y" >>$(1); \
495 if
[ "$(BCM4352_5G)" = "y" ]; then \
496 sed
-i
"/RTCONFIG_4352_5G/d" $(1); \
497 echo
"RTCONFIG_4352_5G=y" >>$(1); \
499 if
[ "$(ACCEL_PPTPD)" = "y" ]; then \
500 sed
-i
"/RTCONFIG_ACCEL_PPTPD/d" $(1); \
501 echo
"RTCONFIG_ACCEL_PPTPD=y" >>$(1); \
503 if
[ "$(SHP)" = "y" ]; then \
504 sed
-i
"/RTCONFIG_SHP/d" $(1); \
505 echo
"RTCONFIG_SHP=y" >>$(1); \
507 if
[ "$(GRO)" = "y" ]; then \
508 sed
-i
"/RTCONFIG_GROCTRL/d" $(1); \
509 echo
"RTCONFIG_GROCTRL=y" >>$(1); \
511 if
[ "$(DSL)" = "y" ]; then \
512 sed
-i
"/RTCONFIG_DSL/d" $(1); \
513 echo
"RTCONFIG_DSL=y" >>$(1); \
515 if
[ "$(ANNEX_B)" = "y" ]; then \
516 sed
-i
"/RTCONFIG_DSL_ANNEX_B/d" $(1); \
517 echo
"RTCONFIG_DSL_ANNEX_B=y" >>$(1); \
519 if
[ "$(DUALWAN)" = "y" ]; then \
520 sed
-i
"/RTCONFIG_DUALWAN/d" $(1); \
521 echo
"RTCONFIG_DUALWAN=y" >>$(1); \
523 if
[ "$(USB)" = "USB" ]; then \
524 sed
-i
"/RTCONFIG_USB is not set/d" $(1); \
525 echo
"RTCONFIG_USB=y" >>$(1); \
526 if
[ "$(USBEXTRAS)" = "y" ]; then \
527 sed
-i
"/RTCONFIG_USB_EXTRAS/d" $(1); \
528 echo
"RTCONFIG_USB_EXTRAS=y" >>$(1); \
530 if
[ "$(NTFS)" = "y" ]; then \
531 sed
-i
"/RTCONFIG_NTFS/d" $(1); \
532 echo
"RTCONFIG_NTFS=y" >>$(1); \
533 echo
"# RTCONFIG_NTFS3G is not set" >>$(1); \
534 elif
[ "$(NTFS3G)" = "y" ]; then \
535 sed
-i
"/RTCONFIG_NTFS/d" $(1); \
536 echo
"RTCONFIG_NTFS=y" >>$(1); \
537 echo
"RTCONFIG_NTFS3G=y" >>$(1); \
539 if
[ "$(DISK_MONITOR)" = "y" ]; then \
540 sed
-i
"/RTCONFIG_DISK_MONITOR/d" $(1); \
541 echo
"RTCONFIG_DISK_MONITOR=y" >>$(1); \
543 if
[ "$(MEDIASRV)" = "y" ]; then \
544 sed
-i
"/RTCONFIG_MEDIA_SERVER/d" $(1); \
545 echo
"RTCONFIG_MEDIA_SERVER=y" >>$(1); \
547 if
[ "$(CLOUDSYNC)" = "y" ]; then \
548 sed
-i
"/RTCONFIG_CLOUDSYNC/d" $(1); \
549 echo
"RTCONFIG_CLOUDSYNC=y" >>$(1); \
551 if
[ "$(MODEM)" = "y" ]; then \
552 sed
-i
"/RTCONFIG_USB_MODEM/d" $(1); \
553 echo
"RTCONFIG_USB_MODEM=y" >>$(1); \
554 if
[ "$(MODEMPIN)" = "y" ]; then \
555 echo
"RTCONFIG_USB_MODEM_PIN=y" >>$(1); \
557 echo
"# RTCONFIG_USB_MODEM_PIN is not set" >>$(1); \
559 if
[ "$(BECEEM)" = "y" ]; then \
560 sed
-i
"/RTCONFIG_USB_BECEEM/d" $(1); \
561 echo
"RTCONFIG_USB_BECEEM=y" >>$(1); \
564 if
[ "$(PRINTER)" = "y" ]; then \
565 sed
-i
"/RTCONFIG_USB_PRINTER/d" $(1); \
566 echo
"RTCONFIG_USB_PRINTER=y" >>$(1); \
568 if
[ "$(WEBDAV)" = "y" ]; then \
569 sed
-i
"/RTCONFIG_WEBDAV/d" $(1); \
570 echo
"RTCONFIG_WEBDAV=y" >>$(1); \
572 if
[ "$(HTTPS)" = "y" ]; then \
573 sed
-i
"/RTCONFIG_HTTPS/d" $(1); \
574 echo
"RTCONFIG_HTTPS=y" >>$(1); \
576 if
[ "$(USBAP)" = "y" ]; then \
577 sed
-i
"/RTCONFIG_BRCM_USBAP/d" $(1); \
578 echo
"RTCONFIG_BRCM_USBAP=y" >>$(1); \
579 sed
-i
"/EPI_VERSION_NUM/d" include/epivers.h
; \
580 sed
-i
"/#endif \/\* _epivers_h_ \*\//d" include/epivers.h
; \
581 echo
"#define EPI_VERSION_NUM $(DONGLE_VER)" >>include/epivers.h
; \
582 echo
"#endif /* _epivers_h_ */" >>include/epivers.h
; \
584 if
[ "$(XHCI)" = "y" ]; then \
585 sed
-i
"/RTCONFIG_USB_XHCI/d" $(1); \
586 echo
"RTCONFIG_USB_XHCI=y" >>$(1); \
588 if
[ "$(XHCI2)" = "y" ]; then \
589 sed
-i
"/RTCONFIG_USB_2XHCI2/d" $(1); \
590 echo
"RTCONFIG_USB_2XHCI2=y" >>$(1); \
593 sed
-i
"/RTCONFIG_USB\b/d" $(1); \
594 echo
"# RTCONFIG_USB is not set" >>$(1); \
596 if
[ "$(USBRESET)" = "y" ]; then \
597 sed
-i
"/RTCONFIG_USBRESET/d" $(1); \
598 echo
"RTCONFIG_USBRESET=y" >>$(1); \
600 if
[ "$(XHCIMODE)" = "y" ]; then \
601 sed
-i
"/RTCONFIG_XHCIMODE/d" $(1); \
602 echo
"RTCONFIG_XHCIMODE=y" >>$(1); \
604 if
[ "$(NO_SAMBA)" = "y" ]; then \
605 sed
-i
"/RTCONFIG_SAMBASRV/d" $(1); \
606 echo
"# RTCONFIG_SAMBASRV is not set" >>$(1); \
608 if
[ "$(NO_USBSTORAGE)" = "y" ]; then \
609 sed
-i
"/RTCONFIG_SAMBASRV/d" $(1); \
610 echo
"# RTCONFIG_SAMBASRV is not set" >>$(1); \
611 sed
-i
"/RTCONFIG_FTP/d" $(1); \
612 echo
"# RTCONFIG_FTP is not set" >>$(1); \
614 if
[ "$(ZEBRA)" = "y" ]; then \
615 sed
-i
"/RTCONFIG_ZEBRA/d" $(1); \
616 echo
"RTCONFIG_ZEBRA=y" >>$(1); \
618 if
[ "$(JFFS2)" = "y" ]; then \
619 sed
-i
"/RTCONFIG_JFFS2/d" $(1); \
620 echo
"RTCONFIG_JFFS2=y" >>$(1); \
622 if
[ "$(JFFS1)" = "y" ]; then \
623 sed
-i
"/RTCONFIG_JFFSV1/d" $(1); \
624 echo
"RTCONFIG_JFFSV1=y" >>$(1); \
626 if
[ "$(CIFS)" = "y" ]; then \
627 sed
-i
"/RTCONFIG_CIFS/d" $(1); \
628 echo
"RTCONFIG_CIFS=y" >>$(1); \
630 if
[ "$(SSH)" = "y" ]; then \
631 sed
-i
"/RTCONFIG_SSH/d" $(1); \
632 echo
"RTCONFIG_SSH=y" >>$(1); \
634 if
[ "$(NO_LIBOPT)" = "y" ]; then \
635 sed
-i
"/RTCONFIG_OPTIMIZE_SHARED_LIBS/d" $(1); \
636 echo
"# RTCONFIG_OPTIMIZE_SHARED_LIBS is not set" >>$(1); \
638 if
[ "$(EBTABLES)" = "y" ]; then \
639 sed
-i
"/RTCONFIG_EBTABLES/d" $(1); \
640 echo
"RTCONFIG_EBTABLES=y" >>$(1); \
642 if
[ "$(IPV6SUPP)" = "y" ]; then \
643 sed
-i
"/RTCONFIG_IPV6/d" $(1); \
644 echo
"RTCONFIG_IPV6=y" >>$(1); \
646 if
[ "$(OPENVPN)" = "y" ]; then \
647 sed
-i
"/RTCONFIG_LZO/d" $(1); \
648 echo
"RTCONFIG_LZO=y" >>$(1); \
649 sed
-i
"/RTCONFIG_OPENVPN/d" $(1); \
650 echo
"RTCONFIG_OPENVPN=y" >>$(1); \
652 if
[ "$(APP)" = "installed" ]; then \
653 sed
-i
"/RTCONFIG_APP_PREINSTALLED/d" $(1); \
654 echo
"RTCONFIG_APP_PREINSTALLED=y" >>$(1); \
656 sed
-i
"/RTCONFIG_APP_PREINSTALLED/d" $(1); \
657 echo
"# RTCONFIG_APP_PREINSTALLED is not set" >>$(1); \
659 if
[ "$(APP)" = "network" ]; then \
660 sed
-i
"/RTCONFIG_APP_NETINSTALLED/d" $(1); \
661 echo
"RTCONFIG_APP_NETINSTALLED=y" >>$(1); \
663 sed
-i
"/RTCONFIG_APP_NETINSTALLED/d" $(1); \
664 echo
"# RTCONFIG_APP_NETINSTALLED is not set" >>$(1); \
666 if
[ "$(DNSMASQ)" = "y" ]; then \
667 sed
-i
"/RTCONFIG_DNSMASQ/d" $(1); \
668 echo
"RTCONFIG_DNSMASQ=y" >>$(1); \
670 if
[ "$(ISP_METER)" = "y" ]; then \
671 sed
-i
"/RTCONFIG_ISP_METER/d" $(1); \
672 echo
"RTCONFIG_ISP_METER=y" >>$(1); \
674 if
[ "$(NVRAM_64K)" = "y" ]; then \
675 sed
-i
"/RTCONFIG_NVRAM_64K/d" $(1); \
676 echo
"RTCONFIG_NVRAM_64K=y" >>$(1); \
678 if
[ "$(DUAL_TRX)" = "y" ]; then \
679 sed
-i
"/RTCONFIG_DUAL_TRX/d" $(1); \
680 echo
"RTCONFIG_DUAL_TRX=y" >>$(1); \
682 if
[ "$(PSISTLOG)" = "y" ]; then \
683 sed
-i
"/RTCONFIG_PSISTLOG/d" $(1); \
684 echo
"RTCONFIG_PSISTLOG=y" >>$(1); \
686 if
[ "$(OPTIMIZE_XBOX)" = "y" ]; then \
687 sed
-i
"/RTCONFIG_OPTIMIZE_XBOX/d" $(1); \
688 echo
"RTCONFIG_OPTIMIZE_XBOX=y" >>$(1); \
690 if
[ "$(DYN_DICT_NAME)" = "y" ]; then \
691 sed
-i
"/RTCONFIG_DYN_DICT_NAME/d" $(1); \
692 echo
"RTCONFIG_DYN_DICT_NAME=y" >>$(1); \
694 if
[ "$(EXT4FS)" = "y" ]; then \
695 sed
-i
"/RTCONFIG_EXT4FS/d" $(1); \
696 echo
"RTCONFIG_EXT4FS=y" >>$(1); \
700 $(call platformRouterOptions
, $(1))
703 define BusyboxOptions
705 if
[ "$(CONFIG_LINUX26)" = "y" ]; then \
706 sed
-i
"/CONFIG_FEATURE_2_4_MODULES/d" $(1); \
707 echo
"# CONFIG_FEATURE_2_4_MODULES is not set" >>$(1); \
708 sed
-i
"/CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT/d" $(1); \
709 echo
"CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y" >>$(1); \
710 sed
-i
"/CONFIG_FEATURE_DEVFS/d" $(1); \
711 echo
"# CONFIG_FEATURE_DEVFS is not set" >>$(1); \
712 sed
-i
"/CONFIG_MKNOD/d" $(1); \
713 echo
"CONFIG_MKNOD=y" >>$(1); \
715 if
[ "$(NO_CIFS)" = "y" ]; then \
716 sed
-i
"/CONFIG_FEATURE_MOUNT_CIFS/d" $(1); \
717 echo
"# CONFIG_FEATURE_MOUNT_CIFS is not set" >>$(1); \
719 if
[ "$(BBEXTRAS)" = "y" ]; then \
720 sed
-i
"/CONFIG_FEATURE_SORT_BIG/d" $(1); \
721 echo
"CONFIG_FEATURE_SORT_BIG=y" >>$(1); \
722 sed
-i
"/CONFIG_CLEAR/d" $(1); \
723 echo
"CONFIG_CLEAR=y" >>$(1); \
724 sed
-i
"/CONFIG_SETCONSOLE/d" $(1); \
725 echo
"CONFIG_SETCONSOLE=y" >>$(1); \
726 if
[ "$(CONFIG_LINUX26)" = "y" ]; then \
727 sed
-i
"/CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE/d" $(1); \
728 echo
"CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=512" >>$(1); \
731 if
[ "$(USB)" = "USB" ]; then \
732 if
[ "$(USBEXTRAS)" = "y" ]; then \
733 sed
-i
"/CONFIG_E2FSCK/d" $(1); \
734 echo
"CONFIG_E2FSCK=y" >>$(1); \
735 sed
-i
"/CONFIG_FSCK_MINIX/d" $(1); \
736 echo
"CONFIG_FSCK_MINIX=y" >>$(1); \
737 sed
-i
"/CONFIG_MKE2FS/d" $(1); \
738 echo
"CONFIG_MKE2FS=y" >>$(1); \
739 sed
-i
"/CONFIG_FDISK/d" $(1); \
740 echo
"CONFIG_FDISK=y" >>$(1); \
741 sed
-i
"/CONFIG_FEATURE_FDISK_WRITABLE/d" $(1); \
742 echo
"CONFIG_FEATURE_FDISK_WRITABLE=y" >>$(1); \
743 sed
-i
"/CONFIG_MKFS_VFAT/d" $(1); \
744 echo
"CONFIG_MKFS_VFAT=y" >>$(1); \
745 sed
-i
"/CONFIG_MKSWAP/d" $(1); \
746 echo
"CONFIG_MKSWAP=y" >>$(1); \
747 sed
-i
"/CONFIG_FLOCK/d" $(1); \
748 echo
"CONFIG_FLOCK=y" >>$(1); \
749 sed
-i
"/CONFIG_FSYNC/d" $(1); \
750 echo
"CONFIG_FSYNC=y" >>$(1); \
751 sed
-i
"/CONFIG_UNZIP/d" $(1); \
752 echo
"CONFIG_UNZIP=y" >>$(1); \
753 if
[ "$(CONFIG_LINUX26)" = "y" ]; then \
754 sed
-i
"/CONFIG_LSUSB/d" $(1); \
755 echo
"CONFIG_LSUSB=y" >>$(1); \
756 sed
-i
"/CONFIG_FEATURE_WGET_STATUSBAR/d" $(1); \
757 echo
"CONFIG_FEATURE_WGET_STATUSBAR=y" >>$(1); \
758 sed
-i
"/CONFIG_FEATURE_VERBOSE_USAGE/d" $(1); \
759 echo
"CONFIG_FEATURE_VERBOSE_USAGE=y" >>$(1); \
763 sed
-i
"/CONFIG_FEATURE_MOUNT_LOOP/d" $(1); \
764 echo
"# CONFIG_FEATURE_MOUNT_LOOP is not set" >>$(1); \
765 sed
-i
"/CONFIG_FEATURE_DEVFS/d" $(1); \
766 echo
"# CONFIG_FEATURE_DEVFS is not set" >>$(1); \
767 sed
-i
"/CONFIG_FEATURE_MOUNT_LABEL/d" $(1); \
768 echo
"# CONFIG_FEATURE_MOUNT_LABEL is not set" >>$(1); \
769 sed
-i
"/CONFIG_FEATURE_MOUNT_FSTAB/d" $(1); \
770 echo
"# CONFIG_FEATURE_MOUNT_FSTAB is not set" >>$(1); \
771 sed
-i
"/CONFIG_VOLUMEID/d" $(1); \
772 echo
"# CONFIG_VOLUMEID is not set" >>$(1); \
773 sed
-i
"/CONFIG_BLKID/d" $(1); \
774 echo
"# CONFIG_BLKID is not set" >>$(1); \
775 sed
-i
"/CONFIG_SWAPONOFF/d" $(1); \
776 echo
"# CONFIG_SWAPONOFF is not set" >>$(1); \
777 sed
-i
"/CONFIG_TRUE/d" $(1); \
778 echo
"# CONFIG_TRUE is not set" >>$(1); \
780 if
[ "$(IPV6SUPP)" = "y" ]; then \
781 sed
-i
"/CONFIG_FEATURE_IPV6/d" $(1); \
782 echo
"CONFIG_FEATURE_IPV6=y" >>$(1); \
783 sed
-i
"/CONFIG_PING6/d" $(1); \
784 echo
"CONFIG_PING6=y" >>$(1); \
785 sed
-i
"/CONFIG_TRACEROUTE6/d" $(1); \
786 echo
"CONFIG_TRACEROUTE6=y" >>$(1); \
788 if
[ "$(SLIM)" = "y" ]; then \
789 sed
-i
"/CONFIG_AWK/d" $(1); \
790 echo
"# CONFIG_AWK is not set" >>$(1); \
791 sed
-i
"/CONFIG_BASENAME/d" $(1); \
792 echo
"# CONFIG_BASENAME is not set" >>$(1); \
793 sed
-i
"/CONFIG_FEATURE_DEVFS/d" $(1); \
794 echo
"# CONFIG_FEATURE_DEVFS is not set" >>$(1); \
795 sed
-i
"/CONFIG_BLKID/d" $(1); \
796 echo
"# CONFIG_BLKID is not set" >>$(1); \
797 sed
-i
"/CONFIG_TELNET\b/d" $(1); \
798 echo
"# CONFIG_TELNET is not set" >>$(1); \
799 sed
-i
"/CONFIG_ARPING/d" $(1); \
800 echo
"# CONFIG_ARPING is not set" >>$(1); \
801 sed
-i
"/CONFIG_FEATURE_LS_COLOR/d" $(1); \
802 echo
"# CONFIG_FEATURE_LS_COLOR is not set" >>$(1); \
804 if
[ "$(SFP)" = "y" ]; then \
805 sed
-i
"/CONFIG_LESS/d" $(1); \
806 echo
"# CONFIG_LESS is not set" >>$(1); \
807 sed
-i
"/CONFIG_GZIP/d" $(1); \
808 echo
"# CONFIG_GZIP is not set" >>$(1); \
809 sed
-i
"/CONFIG_DF/d" $(1); \
810 echo
"# CONFIG_DF is not set" >>$(1); \
811 sed
-i
"/CONFIG_DU\b/d" $(1); \
812 echo
"# CONFIG_DU is not set" >>$(1); \
813 sed
-i
"/CONFIG_HEAD/d" $(1); \
814 echo
"# CONFIG_HEAD is not set" >>$(1); \
815 sed
-i
"/CONFIG_TAIL/d" $(1); \
816 echo
"# CONFIG_TAIL is not set" >>$(1); \
817 sed
-i
"/CONFIG_BASENAME/d" $(1); \
818 echo
"# CONFIG_BASENAME is not set" >>$(1); \
819 sed
-i
"/CONFIG_FEATURE_DEVFS/d" $(1); \
820 echo
"# CONFIG_FEATURE_DEVFS is not set" >>$(1); \
821 sed
-i
"/CONFIG_BLKID/d" $(1); \
822 echo
"# CONFIG_BLKID is not set" >>$(1); \
823 sed
-i
"/CONFIG_TELNET\b/d" $(1); \
824 echo
"# CONFIG_TELNET is not set" >>$(1); \
825 sed
-i
"/CONFIG_ARPING/d" $(1); \
826 echo
"# CONFIG_ARPING is not set" >>$(1); \
827 sed
-i
"/CONFIG_FEATURE_LS_COLOR\b/d" $(1); \
828 echo
"# CONFIG_FEATURE_LS_COLOR is not set" >>$(1); \
829 if
[ "$(SFP4M)" = "y" ]; then \
830 sed
-i
"/CONFIG_WGET/d" $(1); \
831 echo
"# CONFIG_WGET is not set" >>$(1); \
832 sed
-i
"/CONFIG_FEATURE_WGET_AUTHENTICATION/d" $(1); \
833 echo
"# CONFIG_FEATURE_WGET_AUTHENTICATION is not set" >>$(1); \
834 sed
-i
"/CONFIG_FEATURE_WGET_LONG_OPTIONS/d" $(1); \
835 echo
"# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set" >>$(1); \
836 sed
-i
"/CONFIG_FEATURE_WGET_TIMEOUT/d" $(1); \
837 echo
"# CONFIG_FEATURE_WGET_TIMEOUT is not set" >>$(1); \
840 sed
-i
"/CONFIG_FEATURE_LS_COLOR\b/d" $(1); \
841 echo
"CONFIG_FEATURE_LS_COLOR=y" >>$(1); \
844 if
[ "$(DISKTEST)" = "y" ]; then \
845 sed
-i
"/CONFIG_HDPARM/d" $(1); \
846 echo
"CONFIG_HDPARM=y" >>$(1); \
849 $(call platformBusyboxOptions
, $(1))
854 if
[ "$(TUNEK)" != "n" ]; then \
855 sed
-i
"/CONFIG_NVRAM_SIZE/d" $(1); \
856 echo
"CONFIG_NVRAM_SIZE="$(NVRAM_SIZE
) >>$(1); \
857 sed
-i
"/CONFIG_CC_OPTIMIZE_FOR_SIZE/d" $(1); \
858 if
[ "$(KERN_SIZE_OPT)" = "y" ]; then \
859 echo
"CONFIG_CC_OPTIMIZE_FOR_SIZE=y" >>$(1); \
861 echo
"# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set" >>$(1); \
863 if
[ "$(CONFIG_LINUX26)" = "y" ] && [ "$(MIPS32)" = "r2" ]; then \
864 sed
-i
"/CONFIG_CPU_MIPS32_R1/d" $(1); \
865 echo
"# CONFIG_CPU_MIPS32_R1 is not set" >>$(1); \
866 sed
-i
"/CONFIG_CPU_MIPS32_R2/d" $(1); \
867 echo
"CONFIG_CPU_MIPS32_R2=y" >>$(1); \
868 sed
-i
"/CONFIG_CPU_MIPSR1/d" $(1); \
869 echo
"CONFIG_CPU_MIPSR2=y" >>$(1); \
871 if
[ "$(USB)" = "" ]; then \
872 sed
-i
"/CONFIG_MSDOS_PARTITION/d" $(1); \
873 echo
"# CONFIG_MSDOS_PARTITION is not set" >>$(1); \
874 sed
-i
"/CONFIG_EFI_PARTITION/d" $(1); \
875 echo
"# CONFIG_EFI_PARTITION is not set" >>$(1); \
876 elif
[ "$(MODEM)" = "y" ]; then \
877 if
[ "$(BECEEM)" = "y" ]; then \
878 sed
-i
"/CONFIG_USB_BECEEM/d" $(1); \
879 echo
"CONFIG_USB_BECEEM=m" >>$(1); \
882 if
[ "$(AP_CARRIER_DETECTION)" = "y" ]; then \
883 sed
-i
"/CONFIG_RALINK_TIMER_DFS/d" $(1); \
884 echo
"CONFIG_RALINK_TIMER_DFS=y" >>$(1); \
885 sed
-i
"/CONFIG_RT2860V2_AP_DFS/d" $(1); \
886 echo
"CONFIG_RT2860V2_AP_DFS=y" >>$(1); \
887 sed
-i
"/CONFIG_RT2860V2_AP_CARRIER/d" $(1); \
888 echo
"CONFIG_RT2860V2_AP_CARRIER=y" >>$(1); \
889 sed
-i
"/CONFIG_RTPCI_AP_CARRIER/d" $(1); \
890 echo
"CONFIG_RTPCI_AP_CARRIER=y" >>$(1); \
892 sed
-i
"/CONFIG_RALINK_TIMER_DFS/d" $(1); \
893 echo
"# CONFIG_RALINK_TIMER_DFS is not set" >>$(1); \
894 sed
-i
"/CONFIG_RT2860V2_AP_DFS/d" $(1); \
895 echo
"# CONFIG_RT2860V2_AP_DFS is not set" >>$(1); \
896 sed
-i
"/CONFIG_RT2860V2_AP_CARRIER/d" $(1); \
897 echo
"# CONFIG_RT2860V2_AP_CARRIER is not set" >>$(1); \
898 sed
-i
"/CONFIG_RTPCI_AP_CARRIER/d" $(1); \
899 echo
"# CONFIG_RTPCI_AP_CARRIER is not set" >>$(1); \
901 if
[ "$(CONFIG_LINUX30)" = "y" ]; then \
902 sed
-i
"/CONFIG_USB_XHCI_HCD/d" $(1); \
903 echo
"# CONFIG_USB_XHCI_HCD is not set" >>$(1); \
904 if
[ "$(USB)" = "USB" ]; then \
905 if
[ "$(XHCI)" = "y" ]; then \
906 sed
-i
"/CONFIG_USB_XHCI_HCD/d" $(1); \
907 echo
"CONFIG_USB_XHCI_HCD=y" >>$(1); \
908 sed
-i
"/CONFIG_USB_XHCI_HCD_DEBUGGING/d" $(1); \
909 echo
"# CONFIG_USB_XHCI_HCD_DEBUGGING is not set" >>$(1); \
913 if
[ "$(SHP)" = "y" ] ||
[ "$(LFP)" = "y" ]; then \
914 sed
-i
"/CONFIG_IP_NF_LFP/d" $(1); \
915 echo
"CONFIG_IP_NF_LFP=y" >>$(1); \
917 if
[ "$(DNSMQ)" = "y" ]; then \
918 sed
-i
"/CONFIG_IP_NF_DNSMQ/d" $(1); \
919 echo
"CONFIG_IP_NF_DNSMQ=y" >>$(1); \
921 if
[ "$(IPV6SUPP)" = "y" ]; then \
922 if
[ "$(BCMWL6A)" != "y" ]; then \
923 sed
-i
"/CONFIG_IPV6 is not set/d" $(1); \
924 echo
"CONFIG_IPV6=y" >>$(1); \
925 sed
-i
"/CONFIG_IP6_NF_IPTABLES/d" $(1); \
926 echo
"CONFIG_IP6_NF_IPTABLES=y" >>$(1); \
927 sed
-i
"/CONFIG_IP6_NF_MATCH_RT/d" $(1); \
928 echo
"CONFIG_IP6_NF_MATCH_RT=y" >>$(1); \
929 sed
-i
"/CONFIG_IP6_NF_FILTER/d" $(1); \
930 echo
"CONFIG_IP6_NF_FILTER=m" >>$(1); \
931 sed
-i
"/CONFIG_IP6_NF_TARGET_LOG/d" $(1); \
932 echo
"CONFIG_IP6_NF_TARGET_LOG=m" >>$(1); \
933 sed
-i
"/CONFIG_IP6_NF_TARGET_REJECT/d" $(1); \
934 echo
"CONFIG_IP6_NF_TARGET_REJECT=m" >>$(1); \
935 sed
-i
"/CONFIG_IP6_NF_MANGLE/d" $(1); \
936 echo
"CONFIG_IP6_NF_MANGLE=m" >>$(1); \
937 if
[ "$(CONFIG_LINUX26)" = "y" ]; then \
938 sed
-i
"/CONFIG_NF_CONNTRACK_IPV6/d" $(1); \
939 echo
"CONFIG_NF_CONNTRACK_IPV6=m" >>$(1); \
940 sed
-i
"/CONFIG_NETFILTER_XT_MATCH_HL/d" $(1); \
941 echo
"CONFIG_NETFILTER_XT_MATCH_HL=m" >>$(1); \
942 sed
-i
"/CONFIG_IPV6_ROUTER_PREF/d" $(1); \
943 echo
"CONFIG_IPV6_ROUTER_PREF=y" >>$(1); \
944 sed
-i
"/CONFIG_IPV6_SIT/d" $(1); \
945 echo
"CONFIG_IPV6_SIT=m" >>$(1); \
946 sed
-i
"/CONFIG_IPV6_MULTIPLE_TABLES/d" $(1); \
947 echo
"CONFIG_IPV6_MULTIPLE_TABLES=y" >>$(1); \
948 sed
-i
"/CONFIG_IP6_NF_TARGET_ROUTE/d" $(1); \
949 echo
"CONFIG_IP6_NF_TARGET_ROUTE=m" >>$(1); \
950 sed
-i
"/CONFIG_IPV6_MROUTE/d" $(1); \
951 echo
"CONFIG_IPV6_MROUTE=y" >>$(1); \
953 sed
-i
"/CONFIG_IP6_NF_CONNTRACK/d" $(1); \
954 echo
"CONFIG_IP6_NF_CONNTRACK=m" >>$(1); \
955 sed
-i
"/CONFIG_IP6_NF_MATCH_HL/d" $(1); \
956 echo
"CONFIG_IP6_NF_MATCH_HL=m" >>$(1); \
957 sed
-i
"/CONFIG_IP6_NF_FTP/d" $(1); \
958 echo
"CONFIG_IP6_NF_FTP=m" >>$(1); \
959 sed
-i
"/CONFIG_IP6_NF_MATCH_LIMIT/d" $(1); \
960 echo
"CONFIG_IP6_NF_MATCH_LIMIT=m" >>$(1); \
961 sed
-i
"/CONFIG_IP6_NF_MATCH_CONDITION/d" $(1); \
962 echo
"CONFIG_IP6_NF_MATCH_CONDITION=m" >>$(1); \
963 sed
-i
"/CONFIG_IP6_NF_MATCH_MAC/d" $(1); \
964 echo
"CONFIG_IP6_NF_MATCH_MAC=m" >>$(1); \
965 sed
-i
"/CONFIG_IP6_NF_MATCH_MULTIPORT/d" $(1); \
966 echo
"CONFIG_IP6_NF_MATCH_MULTIPORT=m" >>$(1); \
967 sed
-i
"/CONFIG_IP6_NF_MATCH_MARK/d" $(1); \
968 echo
"CONFIG_IP6_NF_MATCH_MARK=m" >>$(1); \
969 sed
-i
"/CONFIG_IP6_NF_MATCH_LENGTH/d" $(1); \
970 echo
"CONFIG_IP6_NF_MATCH_LENGTH=m" >>$(1); \
971 sed
-i
"/CONFIG_IP6_NF_MATCH_STATE/d" $(1); \
972 echo
"CONFIG_IP6_NF_MATCH_STATE=m" >>$(1); \
973 sed
-i
"/CONFIG_IP6_NF_TARGET_MARK/d" $(1); \
974 echo
"CONFIG_IP6_NF_TARGET_MARK=m" >>$(1); \
975 sed
-i
"/CONFIG_IP6_NF_TARGET_TCPMSS/d" $(1); \
976 echo
"CONFIG_IP6_NF_TARGET_TCPMSS=m" >>$(1); \
977 sed
-i
"/CONFIG_IP6_NF_TARGET_ROUTE/d" $(1); \
978 echo
"CONFIG_IP6_NF_TARGET_ROUTE=m" >>$(1); \
982 if
[ "$(ARM)" != "y" ]; then \
983 if
[ "$(BCM57)" = "y" ]; then \
984 sed
-i
"/CONFIG_ET_ALL_PASSIVE/d" $(1); \
985 echo
"CONFIG_BCM57XX=m" >>$(1); \
986 echo
"# CONFIG_ET_ALL_PASSIVE_ON is not set" >>$(1); \
987 echo
"CONFIG_ET_ALL_PASSIVE_RUNTIME=y" >>$(1); \
989 echo
"# CONFIG_BCM57XX is not set" >>$(1); \
992 sed
-i
"/CONFIG_WL_USE_HIGH/d" $(1); \
993 sed
-i
"/CONFIG_WL_USBAP/d" $(1); \
994 if
[ "$(USBAP)" = "y" ]; then \
995 echo
"CONFIG_WL_USE_HIGH=y" >> $(1); \
996 echo
"CONFIG_WL_USBAP=y" >>$(1); \
998 echo
"1234567890" >> $(1); \
999 echo
"# CONFIG_WL_USE_HIGH is not set" >> $(1); \
1000 echo
"# CONFIG_WL_USBAP is not set" >>$(1); \
1002 if
[ "$(CONFIG_LINUX26)" = "y" ] && [ "$(EBTABLES)" = "y" ]; then \
1003 sed
-i
"/CONFIG_BRIDGE_NF_EBTABLES/d" $(1); \
1004 echo
"CONFIG_BRIDGE_NF_EBTABLES=m" >>$(1); \
1005 if
[ "$(IPV6SUPP)" = "y" ]; then \
1006 sed
-i
"/CONFIG_BRIDGE_EBT_IP6/d" $(1); \
1007 echo
"CONFIG_BRIDGE_EBT_IP6=m" >>$(1); \
1010 sed
-i
"/CONFIG_NVRAM_64K/d" $(1); \
1011 if
[ "$(NVRAM_64K)" = "y" ]; then \
1012 echo
"CONFIG_NVRAM_64K=y" >>$(1); \
1014 echo
"# CONFIG_NVRAM_64K is not set" >>$(1); \
1016 sed
-i
"/CONFIG_LOCALE2012/d" $(1); \
1017 if
[ "$(LOCALE2012)" = "y" ]; then \
1018 echo
"CONFIG_LOCALE2012=y" >>$(1); \
1020 echo
"# CONFIG_LOCALE2012 is not set" >>$(1); \
1022 sed
-i
"/CONFIG_N56U_SR2/d" $(1); \
1023 if
[ "$(N56U_SR2)" = "y" ]; then \
1024 echo
"CONFIG_N56U_SR2=y" >>$(1); \
1026 echo
"# CONFIG_N56U_SR2 is not set" >>$(1); \
1029 if
[ "$(ARMCPUSMP)" = "up" ]; then \
1030 sed
-i
"/CONFIG_GENERIC_CLOCKEVENTS_BROADCAST/d" $(1); \
1031 echo
"CONFIG_HAVE_LATENCYTOP_SUPPORT=y" >>$(1); \
1032 sed
-i
"/CONFIG_GENERIC_LOCKBREAK/d" $(1); \
1033 echo
"CONFIG_BROKEN_ON_SMP=y" >>$(1); \
1034 sed
-i
"/CONFIG_TREE_RCU=y/# CONFIG_TREE_RCU is not set/g" >>$(1); \
1035 echo
"CONFIG_TREE_PREEMPT_RCU=y" >>$(1); \
1036 echo
"# CONFIG_TINY_RCU is not set" >>$(1); \
1037 sed
-i
"/CONFIG_USE_GENERIC_SMP_HELPERS/d" $(1); \
1038 sed
-i
"/CONFIG_STOP_MACHINE/d" $(1); \
1039 sed
-i
"/CONFIG_MUTEX_SPIN_ON_OWNER/d" $(1); \
1040 echo
"# CONFIG_MUTEX_SPIN_ON_OWNER is not set" >>$(1); \
1041 sed
-i
"/# CONFIG_ARM_ERRATA_742230 is not set/d" $(1); \
1042 sed
-i
"/# CONFIG_ARM_ERRATA_742231 is not set/d" $(1); \
1043 sed
-i
"/# CONFIG_ARM_ERRATA_720789 is not set/d" $(1); \
1044 sed
-i
"/CONFIG_SMP=y/d" $(1); \
1045 echo
"# CONFIG_SMP is not set" >>$(1); \
1046 sed
-i
"/CONFIG_NR_CPUS=2/d" $(1); \
1047 sed
-i
"/# CONFIG_HOTPLUG_CPU is not set/d" $(1); \
1048 sed
-i
"/CONFIG_RPS=y/d" $(1); \
1050 sed
-i
"/CONFIG_DUAL_TRX/d" $(1); \
1051 if
[ "$(DUAL_TRX)" = "y" ]; then \
1052 echo
"CONFIG_DUAL_TRX=y" >>$(1); \
1054 echo
"# CONFIG_DUAL_TRX is not set" >>$(1); \
1056 if
[ "$(EXT4FS)" = "y" ]; then \
1057 sed
-i
"/CONFIG_EXT4_FS/d" $(1); \
1058 echo
"CONFIG_EXT4_FS=m" >>$(1); \
1059 sed
-i
"/CONFIG_EXT4_FS_XATTR/d" $(1); \
1060 echo
"CONFIG_EXT4_FS_XATTR=y" >>$(1); \
1061 sed
-i
"/CONFIG_EXT4_FS_POSIX_ACL/d" $(1); \
1062 echo
"# CONFIG_EXT4_FS_POSIX_ACL is not set" >>$(1); \
1063 sed
-i
"/CONFIG_EXT4_FS_SECURITY/d" $(1); \
1064 echo
"# CONFIG_EXT4_FS_SECURITY is not set" >>$(1); \
1065 sed
-i
"/CONFIG_EXT4_DEBUG/d" $(1); \
1066 echo
"# CONFIG_EXT4_DEBUG is not set" >>$(1); \
1069 $(call platformKernelConfig
, $(1))
1073 @
$(MAKE
) -C router
$(shell echo
$@ | sed s
/mk-
//)
1076 ifeq ($(BUILD_NAME
),)
1077 @echo
$@
" is not a valid target!"
1081 @cp router
/config_base router
/config_
$(lowercase_B
)
1082 @cp router
/busybox
/config_base router
/busybox
/config_
$(lowercase_B
)
1084 cp
$(LINUXDIR
)/config_base
.6a
$(LINUXDIR
)/config_
$(lowercase_B
)
1086 cp
$(LINUXDIR
)/config_base
$(LINUXDIR
)/config_
$(lowercase_B
)
1089 $(call RouterOptions
, router
/config_
$(lowercase_B
))
1090 $(call KernelConfig
, $(LINUXDIR
)/config_
$(lowercase_B
))
1091 $(call BusyboxOptions
, router
/busybox
/config_
$(lowercase_B
))
1094 # cp $(LINUXDIR)/config_base.6a $(LINUXDIR)/.config
1097 define save_src_config
1098 @if
[ -z
"$($(shell echo $(1) | tr a-z A-Z))" ] ; then echo NO THIS TARGET
$(1) ; exit
1; fi
1099 @if
[ ! -f .config
] ; then \
1101 for var in
$($(shell echo
$(1) | tr a-z A-Z
)) ; do \
1102 echo
"export $${var}" >> .config
; \
1106 NEW_BUILD_NAME
=$(shell echo
$(1) | tr a-z A-Z
) ; \
1107 echo
"CONFIGURED MODEL: $(BUILD_NAME)" ; \
1108 echo
"SPECIFIED MODEL: $${NEW_BUILD_NAME}" ; \
1109 echo
"----------------------------------------------------------------------------" ; \
1110 if
[ "$(BUILD_NAME)" != "$${NEW_BUILD_NAME}" ] ; then \
1111 echo
"!!! MODEL NAME MISMATCH. REMOVE .config AND MAKE AGAIN. !!!" ; \
1114 echo
"Clean old model configuration"; \
1115 while read line
; do \
1116 var
=`echo "$${line}"|sed -e "s,^export[ ]*,," -e "s,=.*$$,,"` ; \
1119 echo
"Update model configuration" ; \
1121 for var in
$($(shell echo
$(1) | tr a-z A-Z
)) ; do \
1122 echo
"export $${var}" >> .config
; \
1130 rt-
% RT-
% ea-
% EA-
%:
1131 $(call save_src_config
, $@
)
1135 $(call dsl_genbintrx_prolog
)
1136 $(call save_src_config
, $@
)
1138 $(call dsl_genbintrx_epilog
)
1142 echo
"Using $(N) profile, $(B) build config."
1146 rm -f config_current
; \
1147 ln
-s config_
$(lowercase_B
) config_current
; \
1148 cp
-f config_current .config
1150 cd router
/busybox
&& \
1151 rm -f config_current
; \
1152 ln
-s config_
$(lowercase_B
) config_current
; \
1153 cp config_current .config
1156 rm -f config_current
; \
1157 ln
-s config_
$(lowercase_B
) config_current
; \
1158 cp config_current .config
1160 $(MAKE
) -C router oldconfig
1163 # @$(MAKE) -C ../../tools-src/uClibc clean
1166 # @$(MAKE) -C ../../tools-src/uClibc
1167 # @$(MAKE) -C ../../tools-src/uClibc install
1170 @echo
"make [model id]"
1171 @echo
"make mk-[package]"
1172 @echo
"..etc.. other build configs"
1173 @echo
"clean -C router clean"
1174 @echo
"cleanimage rm -rf image"
1175 @echo
"cleantools clean btools, mksquashfs"
1176 @echo
"cleankernel -C Linux distclean (but preserves .config)"
1177 @echo
"distclean distclean of Linux & busybox (but preserve .configs)"
1178 @echo
"prepk -C Linux oldconfig dep"
1179 @echo
"libc -C uClibc clean, all, install"
1182 $(MAKE
) -C
$(LINUXDIR
) tags
1185 ctags
-R shared
$(CTAGS_EXCLUDE_OPT
) $(CTAGS_DEFAULT_DIR
)
1187 all-tags
: kernel-tags
1188 ctags
-R shared
$(CTAGS_EXCLUDE_OPT
) $(SRCBASE
)/..
/src
/router
1191 $(RM
) -f
$(LINUXDIR
)/tags $(SRCBASE
)/tags
1194 $(MAKE
) -C router
$@
1201 @
[ ! -d router
/$* ] ||
$(MAKE
) -C router
$@
1205 @
-[ ! -d router
/$* ] ||
$(MAKE
) -C router
$@
1208 @
[ ! -d router
/$* ] ||
$(MAKE
) -C router
$* $@
1214 @
[ ! -d router
/$* ] || ctags
-a
-R
$(CTAGS_EXCLUDE_OPT
) $(SRCBASE
)/..
/src
/router
/$*
1216 .PHONY
: all clean distclean cleanimage cleantools cleankernel prepk what setprofile libc help image default bin_file
1217 .PHONY
: a b c d m Makefile allversions