source: src/router/Makefile.pb42 @ 18841

Last change on this file since 18841 was 18841, checked in by BrainSlayer, 15 months ago

adjusted build target options

File size: 49.0 KB
Line 
1#
2# Broadcom Linux Router Makefile
3#
4# Copyright 2001-2003, Broadcom Corporation
5# All Rights Reserved.
6#
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.
11#
12# $Id: Makefile,v 1.2 2005/09/26 11:06:58 seg Exp $
13#
14
15include .config
16ifneq ($(wildcard ../cy_conf.mak),)
17  include ../cy_conf.mak
18endif
19
20#
21# Paths
22#
23OPENSER_MODULES := sl tm rr maxfwd usrloc registrar dbtext textops exec auth auth_db nathelper
24OPENSER_MODULE_FILES := $(foreach module,$(OPENSER_MODULES),openser/modules/$(module)/$(module).so)
25OPENSSL_NO_CIPHERS:= no-idea no-md2 no-mdc2 no-rc5 no-sha0 no-rmd160 no-aes192
26OPENSSL_OPTIONS:= shared no-ec no-err no-fips no-hw no-krb5 no-threads zlib-dynamic no-engines
27
28# Source bases
29
30export PLATFORM LINUXDIR LIBDIR USRLIBDIR
31export TOP := $(shell pwd)
32export SRCBASE := $(shell (cd $(TOP)/.. && pwd -P))
33
34
35# Set the HAL directory if you have the HAL sources
36
37# Set the Atheros Rate Control directory if you have the proprietary rate control
38export ATH_RATE=ath_rate/sample
39
40#
41# Cross-compile environment variables
42#
43
44# Build platform
45export BUILD := i386-pc-linux-gnu
46export HOSTCC := gcc
47
48# uClibc wrapper
49export ARCH:=$(PLATFORM)
50ifeq ($(CONFIG_UCLIBC),y)
51export PLATFORM := $(PLATFORM)-uclibc
52endif
53
54#export LINUXDIR := $(SRCBASE)/linux/linux.v24
55#ifeq ($(ARCH),mips)
56#export LINUXDIR := $(SRCBASE)/linux/ar531x/linux-2.6.22
57#endif
58ifeq ($(ARCH),armeb)
59export LINUXDIR := $(SRCBASE)/linux/xscale/linux-2.6.17
60endif
61ifeq ($(ARCH),powerpc)
62export LINUXDIR := $(SRCBASE)/linux/magicbox/linux-2.6.19
63endif
64ifeq ($(ARCH),mipsel)
65export LINUXDIR := $(SRCBASE)/kernel/rb500/linux-2.6.17-rc5
66endif
67ifeq ($(ARCH),i386)
68export LINUXDIR := $(SRCBASE)/kernel/wrap/linux-2.6.16.7
69endif
70
71export KERNELRELEASE = $(shell cat $(LINUXDIR)/include/config/kernel.release 2> /dev/null)
72
73#ifeq ($(KERNELRELEASE),"")
74#export KERNELRELEASE = $(shell cat $(LINUXDIR)/include/config/kernel.release 2> /dev/null)
75#endif
76#ifeq ($(PLATFORM),mipsel)
77#export CROSS_COMPILE := mipsel-linux-
78#export CONFIGURE := ./configure mipsel-linux --build=$(BUILD)
79#export TOOLCHAIN := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/../mipsel-linux && pwd -P)
80#endif
81
82#ifeq ($(PLATFORM),mipsel-uclibc)
83export CROSS_COMPILE := $(ARCH)-linux-uclibc-
84export CONFIGURE := ./configure $(ARCH)-linux --build=$(BUILD)
85export TOOLCHAIN := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/.. && pwd -P)
86#endif
87
88#ifeq ($(CONFIG_BCMWPA2),y)
89#export CFLAGS += -DBCMWPA2
90#endif
91
92export BASEOPT:=-Os
93#export ARCH:= mipsel
94
95ifeq ($(ARCH),mipsel)
96export COPTS:=$(BASEOPT) -pipe -mips32 -mtune=mips32 -funit-at-a-time
97endif
98ifeq ($(ARCH),armeb)
99export COPTS:=$(BASEOPT) -pipe -mtune=xscale -march=armv5te -Wa,-mcpu=xscale -mno-thumb-interwork -mno-thumb -funit-at-a-time
100endif
101ifeq ($(ARCH),mips)
102export COPTS:=$(BASEOPT) -pipe -mips32r2 -mtune=mips32r2 -msoft-float  -fno-caller-saves
103endif
104ifeq ($(ARCH),powerpc)
105export COPTS:=$(BASEOPT) -pipe -funit-at-a-time -mcpu=405fp -mtune=405fp -mmultiple -mstring -mno-bit-align
106endif
107ifeq ($(ARCH),i386)
108export COPTS:=$(BASEOPT) -pipe -march=i486 -funit-at-a-time
109endif
110
111export CC := ccache $(CROSS_COMPILE)gcc
112export CXX := ccache $(CROSS_COMPILE)g++
113export AR := $(CROSS_COMPILE)ar
114export AS := $(CROSS_COMPILE)as
115export LD := $(CROSS_COMPILE)ld
116export NM := $(CROSS_COMPILE)nm
117export RANLIB := $(CROSS_COMPILE)ranlib
118export STRIP := $(CROSS_COMPILE)strip
119export SIZE := $(CROSS_COMPILE)size
120export LTO :=
121
122export CFLAGS := $(COPTS)
123
124#
125# Install and target directories
126#
127
128export PLATFORMDIR := $(TOP)/$(PLATFORM)
129export INSTALLDIR := $(PLATFORMDIR)/install
130export TARGETDIR := $(PLATFORMDIR)/target
131
132ifeq ($(PLATFORM),mipsel)
133obj-y += libcrypto
134endif
135#
136# Configuration
137#
138CONFIG_IPTABLES=y
139include rules/configs.mk
140
141obj-clean := $(foreach obj,$(obj-y) $(obj-n) $(obj-m),$(obj)-clean)
142obj-install := $(foreach obj,$(obj-y) $(obj-m),$(obj)-install)
143obj-distclean := $(foreach obj,$(obj-y) $(obj-n),$(obj)-distclean)
144
145#
146# Basic rules
147#
148
149
150all: build_date clean_target $(obj-y) $(obj-m) $(LINUXDIR)/.config kernel
151
152
153build_date:
154        echo "#define BUILD_DATE \"$(shell date +%D)\"" > ../../opt/build.h
155
156drop-sections   = .comment
157strip-flags     = $(addprefix --remove-section=,$(drop-sections))
158
159kernelsource:
160        mkdir -p $(LINUXDIR)
161        wget http://www.de.kernel.org/pub/linux/kernel/v2.6/linux-$(KERNELVERSION).tar.bz2 -O $(LINUXDIR)/../linux-$(KERNELVERSION).tar.bz2
162        cd $(LINUXDIR)/../ && tar -xvjf $(LINUXDIR)/../linux-$(KERNELVERSION).tar.bz2
163        cd $(LINUXDIR)/../ && ./patch $(KERNELVERSION)
164
165
166kernel:
167        # Also build kernel
168        # Also build kernel
169ifeq ($(CONFIG_LSX),y)
170        cp $(LINUXDIR)/.config_lsx $(LINUXDIR)/.config
171endif
172ifeq ($(CONFIG_LSX_PROTO),y)
173        cp $(LINUXDIR)/.config_lsx_4m $(LINUXDIR)/.config
174endif
175ifeq ($(CONFIG_RS),y)
176        cp $(LINUXDIR)/.config_rs $(LINUXDIR)/.config
177endif
178
179ifeq ($(CONFIG_RSPRO),y)
180        cp $(LINUXDIR)/.config_rspro $(LINUXDIR)/.config
181endif
182ifeq ($(CONFIG_PB44),y)
183        cp $(LINUXDIR)/.config_pb44 $(LINUXDIR)/.config
184endif
185ifeq ($(CONFIG_AP83),y)
186        cp $(LINUXDIR)/.config_ap83 $(LINUXDIR)/.config
187endif
188ifeq ($(CONFIG_WR1043),y)
189        cp $(LINUXDIR)/.config_wr1043 $(LINUXDIR)/.config
190endif
191ifeq ($(CONFIG_WR941),y)
192        cp $(LINUXDIR)/.config_wr941 $(LINUXDIR)/.config
193endif
194ifeq ($(CONFIG_WR741),y)
195        cp $(LINUXDIR)/.config_wr741 $(LINUXDIR)/.config
196endif
197ifeq ($(CONFIG_WR741V4),y)
198        cp $(LINUXDIR)/.config_wr741v4 $(LINUXDIR)/.config
199endif
200ifeq ($(CONFIG_WR703),y)
201        cp $(LINUXDIR)/.config_wr703 $(LINUXDIR)/.config
202endif
203ifeq ($(CONFIG_WRT400),y)
204        cp $(LINUXDIR)/.config_wrt400 $(LINUXDIR)/.config
205endif
206ifeq ($(CONFIG_DIR825),y)
207        cp $(LINUXDIR)/.config_dir825 $(LINUXDIR)/.config
208endif
209ifeq ($(CONFIG_WNDR3700),y)
210        cp $(LINUXDIR)/.config_wndr3700 $(LINUXDIR)/.config
211endif
212ifeq ($(CONFIG_WNDR3700V2),y)
213        cp $(LINUXDIR)/.config_wndr3700v2 $(LINUXDIR)/.config
214endif
215ifeq ($(CONFIG_WP543),y)
216        cp $(LINUXDIR)/.config_wp543 $(LINUXDIR)/.config
217endif
218ifeq ($(CONFIG_UBNTM),y)
219        cp $(LINUXDIR)/.config_ar7240 $(LINUXDIR)/.config
220endif
221ifeq ($(CONFIG_WRT160NL),y)
222        cp $(LINUXDIR)/.config_wrt160nl $(LINUXDIR)/.config
223endif
224ifeq ($(CONFIG_TEW632BRP),y)
225        cp $(LINUXDIR)/.config_tew632brp $(LINUXDIR)/.config
226endif
227ifeq ($(CONFIG_WHRHPGN),y)
228        cp $(LINUXDIR)/.config_ar7240_nousb $(LINUXDIR)/.config
229endif
230ifeq ($(CONFIG_WNR2000),y)
231        cp $(LINUXDIR)/.config_ar7240_nousb $(LINUXDIR)/.config
232endif
233ifeq ($(CONFIG_WNR2200),y)
234        cp $(LINUXDIR)/.config_wnr2200 $(LINUXDIR)/.config
235endif
236ifeq ($(CONFIG_DIR615E),y)
237        cp $(LINUXDIR)/.config_dir615e $(LINUXDIR)/.config
238endif
239ifeq ($(CONFIG_TG2521),y)
240        cp $(LINUXDIR)/.config_tg2521 $(LINUXDIR)/.config
241endif
242ifeq ($(CONFIG_JA76PF),y)
243        cp $(LINUXDIR)/.config_jjplus $(LINUXDIR)/.config
244endif
245ifeq ($(CONFIG_JWAP003),y)
246        cp $(LINUXDIR)/.config_jjplus_jwap003 $(LINUXDIR)/.config
247endif
248ifeq ($(CONFIG_ALFAAP94),y)
249        cp $(LINUXDIR)/.config_alfaap94 $(LINUXDIR)/.config
250endif
251ifeq ($(CONFIG_WZRHPAG300NH),y)
252        cp $(LINUXDIR)/.config_wzrhpag300nh $(LINUXDIR)/.config
253endif
254ifeq ($(CONFIG_WZRG450),y)
255        cp $(LINUXDIR)/.config_wzrg450 $(LINUXDIR)/.config
256endif
257ifeq ($(CONFIG_WZRG300NH2),y)
258        cp $(LINUXDIR)/.config_wzrg300nh2 $(LINUXDIR)/.config
259endif
260ifeq ($(CONFIG_DIR632),y)
261        cp $(LINUXDIR)/.config_dir632 $(LINUXDIR)/.config
262endif
263ifeq ($(CONFIG_HORNET),y)
264        cp $(LINUXDIR)/.config_hornet $(LINUXDIR)/.config
265endif
266ifeq ($(CONFIG_WASP),y)
267        cp $(LINUXDIR)/.config_wasp $(LINUXDIR)/.config
268endif
269ifeq ($(CONFIG_KERNEL_ELF_CORE),y)
270        sed -i 's/\# CONFIG_ELF_CORE is not set/CONFIG_ELF_CORE=y/g' $(LINUXDIR)/.config
271endif
272ifeq ($(CONFIG_EOP_TUNNEL),y)
273        echo CONFIG_NET_ETHERIP=m >> $(LINUXDIR)/.config
274else
275        echo "# CONFIG_NET_ETHERIP is not set" >> $(LINUXDIR)/.config
276endif
277        $(MAKE) -C $(LINUXDIR) oldconfig       
278        if ! grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
279            $(MAKE) -j 4 -C $(LINUXDIR) vmlinux CROSS_COMPILE="ccache $(ARCH)-linux-uclibc-" ; \
280        fi
281        if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \
282            $(MAKE) -j 4 -C $(LINUXDIR) modules CROSS_COMPILE="ccache $(ARCH)-linux-uclibc-" ; \
283        fi
284        $(ARCH)-linux-objcopy -O binary $(LINUXDIR)/vmlinux $(ARCH)-uclibc/vmlinus
285
286
287realclean: $(obj-clean)
288        rm -f .config.old .config.cmd
289        #umount $(TARGETDIR)
290        rm -rf $(INSTALLDIR)
291        rm -rf $(TARGETDIR)
292        -rm -f $(TARGETDIR)/*
293        -rm -f $(ARCH)-uclibc/*
294
295               
296clean: rc-clean httpd-clean services-clean shared-clean libutils-clean madwifi-clean madwifi_mimo-clean busybox-clean dnsmasq-clean iptables-clean pppd-clean nvram-clean utils-clean radauth-clean
297        rm -f .config.old .config.cmd
298        #umount $(TARGETDIR)
299        rm -rf $(INSTALLDIR)
300        rm -rf $(TARGETDIR)
301        rm -f $(TARGETDIR)/*
302        -rm -f $(ARCH)-uclibc/*
303
304distclean mrproper: $(obj-distclean) clean_target
305        rm -rf $(INSTALLDIR)
306        $(MAKE) -C $(LINUXDIR) distclean
307        $(MAKE) -C $(LINUXDIR)/arch/mips/bcm947xx/compressed clean
308        #rm -f $(PLATFORMDIR)/zImage $(PLATFORMDIR)/linux.bin
309        $(MAKE) -C config clean
310        rm -f .config $(LINUXDIR)/.config
311        rm -f .config.old .config.cmd
312
313optimize-lib:
314        make -f Makefile.pb42 lib.$(ARCH)-install
315
316        relink-lib.sh \
317                "$(ARCH)-linux-" \
318                "${shell $(ARCH)-linux-gcc -print-file-name=libc_so.a}" \
319                "${shell $(ARCH)-linux-gcc -print-file-name=libc_so.a}" \
320                "$(ARCH)-uclibc/target/lib/libc.so.0" \
321                -Wl,-init,__uClibc_init -Wl,-soname=libc.so.0 \
322                ${shell $(ARCH)-linux-gcc -print-file-name=libgcc_s.so.1}
323
324        relink-lib.sh \
325                "$(ARCH)-linux-" \
326                "${shell $(ARCH)-linux-gcc -print-file-name=libcrypt.so}" \
327                "${shell $(ARCH)-linux-gcc -print-file-name=libcrypt_pic.a}" \
328                "$(ARCH)-uclibc/target/lib/libcrypt.so.0" \
329                ${shell $(ARCH)-linux-gcc -print-file-name=libgcc_s.so.1} \
330                -Wl,-soname=libcrypt.so.0
331
332        relink-lib.sh \
333                "$(ARCH)-linux-" \
334                "${shell $(ARCH)-linux-gcc -print-file-name=libm.so}" \
335                "${shell $(ARCH)-linux-gcc -print-file-name=libm_pic.a}" \
336                "$(ARCH)-uclibc/target/lib/libm.so.0" \
337                ${shell $(ARCH)-linux-gcc -print-file-name=libgcc_s.so.1} \
338                -Wl,-soname=libm.so.0
339
340        relink-lib.sh \
341                "$(ARCH)-linux-" \
342                "${shell $(ARCH)-linux-gcc -print-file-name=libpthread.so.0}" \
343                "${shell $(ARCH)-linux-gcc -print-file-name=libpthread_so.a}" \
344                "$(ARCH)-uclibc/target/lib/libpthread.so.0" \
345                -Wl,-z,nodelete,-z,initfirst,-init=__pthread_initialize_minimal_internal \
346                ${shell $(ARCH)-linux-gcc -print-file-name=libgcc_s.so.1} \
347                -Wl,-soname=libpthread.so.0
348
349        cp ${shell $(ARCH)-linux-gcc -print-file-name=libgcc_s.so.1} $(ARCH)-uclibc/target/lib/libgcc_s.so.1
350
351ifneq ($(CONFIG_NOOPT),y)
352        rm -rf /tmp/$(ARCHITECTURE)/mklibs-out
353        rm -f /tmp/$(ARCHITECTURE)/mklibs-progs
354        -mkdir -p /tmp/$(ARCHITECTURE)/
355        find $(TARGETDIR) -type f -perm +100 -exec \
356                file -r -N -F '' {} + | \
357                awk ' /executable.*dynamically/ { print $$1 }' > /tmp/$(ARCHITECTURE)/mklibs-progs
358
359        find $(TARGETDIR) -type f -name \*.so\* -exec \
360                file -r -N -F '' {} + | \
361                awk ' /shared object/ { print $$1 }' >> /tmp/$(ARCHITECTURE)/mklibs-progs
362
363        mkdir -p /tmp/$(ARCHITECTURE)/mklibs-out
364        mklibs.py -D \
365                -d /tmp/$(ARCHITECTURE)/mklibs-out \
366                --sysroot $(TARGETDIR) \
367                -L /lib \
368                -L /usr/lib \
369                --ldlib /lib/ld-uClibc.so.0 \
370                --target $(ARCH)-linux-uclibc \
371                `cat /tmp/$(ARCHITECTURE)/mklibs-progs` 2>&1
372        cp /tmp/$(ARCHITECTURE)/mklibs-out/* $(TARGETDIR)/lib
373endif
374        rm -f $(TARGETDIR)/lib/*.a
375        rm -f $(TARGETDIR)/lib/*.map
376#       cp lib.$(ARCH)/libresolv.so.0 $(TARGETDIR)/lib
377#       cp lib.$(ARCH)/libgcc_s.so.1 $(TARGETDIR)/lib
378
379install package: clean_target $(filter-out lib.$(ARCH)-install,$(obj-install)) $(LINUXDIR)/.config
380        install -d $(TARGETDIR)
381        install -d $(ARCH)-uclibc/modules
382        for dir in $(wildcard $(patsubst %,$(INSTALLDIR)/%,$(obj-y))) ; do \
383            (cd $${dir} && tar cpf - .) | (cd $(TARGETDIR) && tar xpf -) \
384        done
385        for dir in $(wildcard $(patsubst %,%,$(obj-m))) ; do \
386            (cd $(INSTALLDIR)/$${dir} && tar -cvvzf $(TOP)/$(ARCH)-uclibc/modules/$${dir}.tar.gz .) \
387        done
388        mkdir -p $(ARCH)-uclibc/target/etc/config
389        mkdir -p $(ARCH)-uclibc/target/etc/kaid
390        mkdir -p $(ARCH)-uclibc/target/etc/langpack
391        cp ./opt/bin/ipkg $(ARCH)-uclibc/target/bin
392        cd  $(ARCH)-uclibc/target/lib
393        cp ./opt/etc/preinit $(ARCH)-uclibc/target/etc
394        cp ./opt/etc/postinit $(ARCH)-uclibc/target/etc
395        cp ./opt/etc/ipkg.conf $(ARCH)-uclibc/target/etc
396        cp ./opt/etc/config/* $(ARCH)-uclibc/target/etc/config
397ifeq ($(CONFIG_HTTPD),y)
398        cp ./opt/usr/lib/smb.conf $(ARCH)-uclibc/target/usr/lib
399        ln -sf ../tmp/smbshare $(ARCH)-uclibc/target/www/smb
400endif
401ifeq ($(CONFIG_KAID),y)
402        cp kaid/kaid $(TARGETDIR)/usr/sbin
403endif
404ifeq ($(CONFIG_RC),y)
405        mv $(TARGETDIR)/usr/lib/services.so $(TARGETDIR)/lib
406endif
407
408        # optimize the crypto library by removing unneeded symbols
409        #[ ! -d libcrypto ] || $(MAKE) -C libcrypto optimize
410        #[ ! -d libcrypto ] || $(MAKE) -C libcrypto optimize
411        # Install (and possibly optimize) C library
412
413        # optimize the others library by removing unneeded symbols
414        $(MAKE) -f Makefile.pb42 optimize-lib
415        # Install modules into filesystem
416        if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \
417            $(MAKE) -C $(LINUXDIR) modules_install DEPMOD=/bin/true INSTALL_MOD_PATH=$(TARGETDIR) ; \
418        fi
419ifeq ($(CONFIG_MADWIFI),y)
420        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/drivers/net/wl
421endif
422#       mkdir -p $(TARGETDIR)/lib/modules/2.4.32/kernel/drivers/net/ctmisc
423#       cp ../wl/ctmisc/ctmisc.o $(TARGETDIR)/lib/modules/2.4.32/kernel/drivers/net/ctmisc
424        ##not used yet
425        #mkdir -p $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/switch
426        #cp ./switch/switch-core.o $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/switch
427        #mkdir -p $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/switch
428#       cp ./viarhine/via-rhine.o $(TARGETDIR)/lib/modules/2.4.32/kernel/drivers/net
429
430        #mkdir -p $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/switch
431        #cp ./switch/switch-adm.o $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/switch
432        #mkdir -p $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/switch
433        #cp ./switch/switch-robo.o $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/switch
434       
435        #mkdir -p $(TARGETDIR)/lib/modules/2.4.32-rc1/kernel/drivers/net/et
436        #cp ../et/linux/et.o $(TARGETDIR)/lib/modules/2.4.32-rc1/kernel/drivers/net/et
437       
438        #mkdir -p $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/et.4702
439        #cp ../et.4702/linux/4702et.o $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/et.4702
440        # robo switch
441        #mkdir -p $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/robo
442        #cp ../robo/linux/robo.o $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/robo
443
444        find $(TARGETDIR) -name "wl_*.o"  | xargs rm -rf
445        # quick n dirty - stuff Nikki's module where it belongs
446        #mkdir $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/adm6996
447#       if [ "$(CONFIG_MMC)" = "y" ] ; then \
448#       mkdir $(TARGETDIR)/lib/modules/2.4.32/kernel/fs/mmc ; \
449#       cp mmc/mmc.o $(TARGETDIR)/lib/modules/2.4.32/kernel/fs/mmc ; \
450#       fi ;
451ifneq ($(CONFIG_SAMBA),y)
452        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/cifs
453endif
454ifneq ($(CONFIG_JFFS2),y)
455        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/jffs2
456        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/lib/lzma
457endif
458ifneq ($(CONFIG_IPV6),y)
459        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/net/ipv6
460endif
461ifneq ($(CONFIG_BONDING),y)
462        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/drivers/net/bonding
463endif
464ifneq ($(CONFIG_USBIP),y)
465        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/drivers/staging/usbip
466endif
467ifneq ($(CONFIG_USB),y)
468        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/ext2
469        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/ext3
470        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/xfs
471        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/jbd
472        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/fat
473        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/vfat
474        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/msdos
475        rm -f $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/mbcache.ko
476endif
477ifneq ($(CONFIG_USB_ADVANCED),y)
478        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/ext3
479        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/ext4
480        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/xfs
481        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/btrfs
482        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/jbd 
483        rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/jbd2
484endif
485
486
487#ifeq ($(CONFIG_MSSID),y)
488#       cp adm6996.v24/adm6996.o $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/adm6996/adm6996.o
489#else   
490#       cp adm6996/adm6996.o $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/adm6996/adm6996.o
491#endif
492
493        rm -f $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/build
494        rm -f $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/source
495       
496        # Prepare filesystem
497        cd $(TARGETDIR) && $(TOP)/misc/rootprep.sh
498        # Make sure mksquashfs-2.0 is used
499#       $(MAKE) -C $(LINUXDIR)/scripts/squashfs mksquashfs
500        cd $(TARGETDIR)  &&  find . -iname "CVS" | xargs rm -rf
501        cd $(TARGETDIR)  &&  find . -iname ".svn" | xargs rm -rf
502#       cp viarhine/pci-scan.o $(TARGETDIR)/lib/modules/2.4.32/kernel/drivers/net/pci-scan.o
503#       cp -f test/* $(TARGETDIR)/lib/modules/2.4.33-pre1/kernel/drivers/net
504       
505#       mknod $(TARGETDIR)/dev/cfa b 13 0
506#       mknod $(TARGETDIR)/dev/cfa1 b 13 1
507#       mknod $(TARGETDIR)/dev/cfa2 b 13 2
508#       mknod $(TARGETDIR)/dev/cfa3 b 13 3
509#       mknod $(TARGETDIR)/dev/cfa4 b 13 4
510#       umount $(TARGETDIR)
511        find $(TARGETDIR)/lib/modules -name *.ko -exec mips-linux-strip --strip-unneeded --remove-section=.comment {} +         
512        #e2fsck -y -f $(ARCH)-uclibc/root.fs
513#       ./busybox/examples/depmod.pl -F $(LINUXDIR)/System.map -b $(ARCH)-uclibc/target/lib/modules
514       
515        #cd $(TARGETDIR)
516#       tar --directory=$(TARGETDIR) --remove-files -cvvjf $(TARGETDIR)/etc/local.tar.bz2 usr/local
517        rm -rf $(TARGETDIR)/usr/local
518        mkdir $(TARGETDIR)/usr/local
519#ifneq ($(CONFIG_NOOPT),y)
520        -./strip_libs.sh $(ARCH)
521#endif
522ifeq ($(CONFIG_WRK54G),y)
523        misc/makeDevs $(ARCH)-uclibc/target     
524endif
525        @true
526#ifeq ($(CONFIG_LIBOPT),y)
527#       cp -f lib.$(ARCH)/libpthread.so.0 $(TARGETDIR)/lib
528#       sstrip/sstrip $(TARGETDIR)/lib/libpthread.so.0
529#endif
530
531
532#ifeq ($(CONFIG_DLNA),y)
533#       $(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(ARCH)-uclibc/target $(ARCH)-uclibc/root.fs -noappend -be -b 262144
534#else
535        $(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(ARCH)-uclibc/target $(ARCH)-uclibc/root.fs -noappend -be
536#endif
537        mkfs.jffs2 --pad --big-endian --squash -e 0x10000 -o $(ARCH)-uclibc/dd-wrt.jffs2 -d $(ARCH)-uclibc/target
538       
539        cp $(LINUXDIR)/vmlinux $(ARCH)-uclibc/vmlinux
540
541        cp $(ARCH)-uclibc/vmlinux $(ARCH)-uclibc/vmlinux.bak
542        mips-linux-uclibc-objcopy -O binary $(strip-flags) -g $(ARCH)-uclibc/vmlinux $(ARCH)-uclibc/vmlinux.bin
543        lzma e -lc1 -lp2 -pb2 -d25 $(ARCH)-uclibc/vmlinux.bin $(ARCH)-uclibc/vmlinux.lzma
544#       gzip -9 $(ARCH)-uclibc/vmlinux.bin $(ARCH)-uclibc/vmlinux.gz
545        dd if=$(ARCH)-uclibc/vmlinux.lzma of=$(ARCH)-uclibc/vmlinux.bin.l7 bs=65536 conv=sync
546
547#       dd if=$(ARCH)-uclibc/vmlinux.gz of=$(ARCH)-uclibc/vmlinux.bin.gz bs=65536 conv=sync
548ifeq ($(CONFIG_LSX),y)
549        dd if=$(ARCH)-uclibc/vmlinux.lzma of=$(ARCH)-uclibc/vmlinux.lsx bs=65536 conv=sync
550        cat $(ARCH)-uclibc/root.fs>>$(ARCH)-uclibc/vmlinux.lsx
551endif
552
553ifeq ($(CONFIG_AP83),y)
554        dd if=$(ARCH)-uclibc/root.uimage of=$(ARCH)-uclibc/aligned.uimage bs=4096 conv=sync
555        cat $(ARCH)-uclibc/root.fs  >> $(ARCH)-uclibc/aligned.uimage
556        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/ap83-firmware.bin $(ARCH)-uclibc/aligned.uimage
557endif
558ifeq ($(CONFIG_AP96),y)
559        dd if=$(ARCH)-uclibc/root.uimage of=$(ARCH)-uclibc/aligned.uimage bs=4096 conv=sync
560        cat $(ARCH)-uclibc/root.fs  >> $(ARCH)-uclibc/aligned.uimage
561        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/ap96-firmware.bin $(ARCH)-uclibc/aligned.uimage
562endif
563ifeq ($(CONFIG_AP94),y)
564        dd if=$(ARCH)-uclibc/root.uimage of=$(ARCH)-uclibc/aligned.uimage bs=4096 conv=sync
565        cat $(ARCH)-uclibc/root.fs  >> $(ARCH)-uclibc/aligned.uimage
566        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/ap94-firmware.bin $(ARCH)-uclibc/aligned.uimage
567endif
568ifeq ($(CONFIG_ALFAAP94),y)
569        dd if=$(ARCH)-uclibc/root.uimage of=$(ARCH)-uclibc/aligned.uimage bs=4096 conv=sync
570        cat $(ARCH)-uclibc/root.fs  >> $(ARCH)-uclibc/aligned.uimage
571        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/ap94-firmware.bin $(ARCH)-uclibc/aligned.uimage
572endif
573ifeq ($(CONFIG_WZRG300NH),y)
574        tools/wzrg300nh/tftpfw $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg300nh-firmware.tftp
575ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),MULTI)
576
577        tools/bufenc/encryptRC4 WZR-HP-G300NH 1.74 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg300nh-firmware.enc
578        tools/bufenc/encryptRC4 WZR-HP-G300NH 1.74 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg301nh-firmware.enc
579ifeq ($(CONFIG_BUFFALO),y)
580        tools/bufenc/mkfw -hw_ver=2 -hcrypt="Buffalo" "WZR-HP-G300NH" "WZR-HP-G300NH" "1.74" "1.01" "US-EU-AP-TW-KR-CH-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg300nh-firmware.enc $(ARCH)-uclibc/wzrg300nh-firmware_MULTI.enc
581        tools/bufenc/mkfw -hw_ver=3 -hcrypt="Buffalo" "WZR-HP-G300NH" "WZR-HP-G300NH" "1.74" "3.01" "US-EU-AP-TW-KR-CH-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg301nh-firmware.enc $(ARCH)-uclibc/wzrg301nh-firmware_MULTI.enc
582else
583        tools/bufenc/mkfw-multi -hw_ver=2 -hcrypt="Buffalo" "WZR-HP-G300NH" "WZR-HP-G300NH" "1.74" "1.01" "US" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg300nh-firmware.enc $(ARCH)-uclibc/wzrg300nh-firmware_MULTI.enc
584        tools/bufenc/mkfw-multi -hw_ver=3 -hcrypt="Buffalo" "WZR-HP-G300NH" "WZR-HP-G300NH" "1.74" "3.01" "US" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg301nh-firmware.enc $(ARCH)-uclibc/wzrg301nh-firmware_MULTI.enc
585endif
586else
587ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),EU-US)
588#eu-us region
589        tools/bufenc/encryptRC4 WZR-HP-G300NH 1.74 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg300nh-firmware.enc
590        tools/bufenc/mkfw-eu-us -hw_ver=2 -hcrypt="Buffalo" "WZR-HP-G300NH" "WZR-HP-G300NH" "1.74" "1.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg300nh-firmware.enc $(ARCH)-uclibc/wzrg300nh-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
591        tools/bufenc/encryptRC4 WZR-HP-G300NH 1.74 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg301nh-firmware.enc
592        tools/bufenc/mkfw-eu-us -hw_ver=3 -hcrypt="Buffalo" "WZR-HP-G300NH" "WZR-HP-G300NH" "1.74" "3.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg301nh-firmware.enc $(ARCH)-uclibc/wzrg301nh-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
593else
594        tools/bufenc/encryptRC4 WZR-HP-G300NH 1.74 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg300nh-firmware.enc
595        tools/bufenc/mkfw -hw_ver=2 -hcrypt="Buffalo" "WZR-HP-G300NH" "WZR-HP-G300NH" "1.74" "1.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg300nh-firmware.enc $(ARCH)-uclibc/wzrg300nh-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
596        tools/bufenc/encryptRC4 WZR-HP-G300NH 1.74 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg301nh-firmware.enc
597        tools/bufenc/mkfw -hw_ver=3 -hcrypt="Buffalo" "WZR-HP-G300NH" "WZR-HP-G300NH" "1.74" "3.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg301nh-firmware.enc $(ARCH)-uclibc/wzrg301nh-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
598endif
599endif
600endif
601
602
603ifeq ($(CONFIG_WZRG450),y)
604        tools/wzrg300nh/tftpfw $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg450-firmware.tftp
605ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),MULTI)
606        tools/bufenc/encryptRC4 WZR-HP-G450H 1.74 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg450-firmware.enc
607ifeq ($(CONFIG_BUFFALO),y)
608ifeq ($(CONFIG_BUFFALO_SA),y)
609        tools/bufenc/mkfw -hw_ver=0 -productid=00000003  -hcrypt="Buffalo" "WZR-HP-G450H" "WZR-HP-G450H" "1.76" "2.08" "US-AP" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg450-firmware.enc $(ARCH)-uclibc/wzrg450-firmware_MULTI.enc
610else
611        tools/bufenc/mkfw -hw_ver=0 -productid=00000003  -hcrypt="Buffalo" "WZR-HP-G450H" "WZR-HP-G450H" "1.75" "2.08" "US-EU-AP-TW-KR-CH-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg450-firmware.enc $(ARCH)-uclibc/wzrg450-firmware_MULTI.enc
612endif
613else
614        tools/bufenc/mkfw -hw_ver=0 -productid=00000003 -hcrypt="Buffalo" "WZR-HP-G450H" "WZR-HP-G450H" "1.75" "2.08" "US-EU-AP-TW-KR-CH-JP-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg450-firmware.enc $(ARCH)-uclibc/wzrg450-firmware_MULTI.enc
615endif
616else
617ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),EU-US)
618#eu-us region
619        tools/bufenc/encryptRC4 WZR-HP-G450H 1.74 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg450-firmware.enc
620        tools/bufenc/mkfw-new -hw_ver=0 -productid=00000003 -hcrypt="Buffalo" "WZR-HP-G450H" "WZR-HP-G450H" "1.75" "1.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg450-firmware.enc $(ARCH)-uclibc/wzrg450-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
621else
622        tools/bufenc/encryptRC4 WZR-HP-G450H 1.74 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg450-firmware.enc
623        tools/bufenc/mkfw-new -hw_ver=0 -productid=00000003 -hcrypt="Buffalo" "WZR-HP-G450H" "WZR-HP-G450H" "1.75" "1.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg450-firmware.enc $(ARCH)-uclibc/wzrg450-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
624endif
625endif
626endif
627
628
629
630ifeq ($(CONFIG_WZRG300NH2),y)
631        tools/wzrg300nh/tftpfw $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg300nh2-firmware.tftp
632ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),MULTI)
633        tools/bufenc/encryptRC4 WZR-HP-G302H 1.80 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg300nh2-firmware.enc
634ifeq ($(CONFIG_BUFFALO),y)
635ifeq ($(CONFIG_BUFFALO_SA),y)
636        tools/bufenc/mkfw -hw_ver=4 -hcrypt="Buffalo" "WZR-HP-G300NH2" "WZR-HP-G302H" "1.81" "2.08" "US-AP" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg300nh2-firmware.enc $(ARCH)-uclibc/wzrg300nh2-firmware_MULTI.enc
637else
638        tools/bufenc/mkfw -hw_ver=4 -hcrypt="Buffalo" "WZR-HP-G300NH2" "WZR-HP-G302H" "1.80" "2.08" "US-EU-AP-TW-KR-CH-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg300nh2-firmware.enc $(ARCH)-uclibc/wzrg300nh2-firmware_MULTI.enc
639endif
640else
641        tools/bufenc/mkfw-multi -hw_ver=4 -hcrypt="Buffalo" "WZR-HP-G300NH2" "WZR-HP-G302H" "1.80" "2.08" "US" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg300nh2-firmware.enc $(ARCH)-uclibc/wzrg300nh2-firmware_MULTI.enc
642endif
643else
644ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),EU-US)
645#eu-us region
646        tools/bufenc/encryptRC4 WZR-HP-G302H 1.80 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg300nh2-firmware.enc
647        tools/bufenc/mkfw-eu-us -hw_ver=4 -hcrypt="Buffalo" "WZR-HP-G300NH2" "WZR-HP-G302H" "1.80" "2.08" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg300nh2-firmware.enc $(ARCH)-uclibc/wzrg300nh2-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
648else
649        tools/bufenc/encryptRC4 WZR-HP-G302H 1.80 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrg300nh2-firmware.enc
650        tools/bufenc/mkfw -hw_ver=4 -hcrypt="Buffalo" "WZR-HP-G300NH2" "WZR-HP-G302H" "1.80" "2.08" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrg300nh2-firmware.enc $(ARCH)-uclibc/wzrg300nh2-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
651endif
652endif
653endif
654
655ifeq ($(CONFIG_WZRHPAG300NH),y)
656        tools/wzrg300nh/tftpfw $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrag300nh-firmware.tftp
657ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),MULTI)
658        tools/bufenc/encryptRC4 WZR-HP-AG300H 1.71 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrag300h-firmware.enc
659ifeq ($(CONFIG_BUFFALO),y)
660ifeq ($(CONFIG_BUFFALO_SA),y)
661        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WZR-HP-AG300H" "WZR-HP-AG300H" "1.77" "3.01" "US-AP" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrag300h-firmware.enc $(ARCH)-uclibc/wzrag300h-firmware_MULTI.enc
662else
663        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WZR-HP-AG300H" "WZR-HP-AG300H" "1.74" "3.01" "US-EU-AP-TW-KR-CH-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrag300h-firmware.enc $(ARCH)-uclibc/wzrag300h-firmware_MULTI.enc
664endif
665else
666        tools/bufenc/mkfw-multi -hw_ver=0 -hcrypt="Buffalo" "WZR-HP-AG300H" "WZR-HP-AG300H" "1.74" "3.01" "US" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrag300h-firmware.enc $(ARCH)-uclibc/wzrag300h-firmware_MULTI.enc
667endif
668else
669ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),EU-US)
670#eu-us region
671        tools/bufenc/encryptRC4 WZR-HP-AG300H 1.71 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrag300h-firmware.enc
672        tools/bufenc/mkfw-eu-us -hw_ver=0 -hcrypt="Buffalo" "WZR-HP-AG300H" "WZR-HP-AG300H" "1.74" "3.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrag300h-firmware.enc $(ARCH)-uclibc/wzrag300h-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
673else
674        tools/bufenc/encryptRC4 WZR-HP-AG300H 1.71 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/wzrag300h-firmware.enc
675        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WZR-HP-AG300H" "WZR-HP-AG300H" "1.74" "3.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/wzrag300h-firmware.enc $(ARCH)-uclibc/wzrag300h-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
676endif
677endif
678endif
679
680ifeq ($(CONFIG_RSPRO),y)
681        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/rspro-firmware.bin $(ARCH)-uclibc/vmlinux.lsx
682        tools/ubnt/src/mkfwimage -v RSPRO.ar7100pro.DD-WRT -o mips-uclibc/RSPRO.dd-wrt.bin -i tools/ubnt/rs-ddwrt.txt
683else
684
685ifeq ($(CONFIG_RS),y)
686        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/rs-firmware.bin $(ARCH)-uclibc/vmlinux.lsx
687        tools/ubnt/src/mkfwimage -v RSx.ar7100.DD-WRT -o mips-uclibc/RS.dd-wrt.bin -i tools/ubnt/rs-ddwrt.txt
688
689else
690ifeq ($(CONFIG_LSX),y)
691        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/lsx-firmware.bin $(ARCH)-uclibc/vmlinux.lsx
692        tools/ubnt/src/mkfwimage -v LS-SR71.ar7100.DD-WRT -o mips-uclibc/LSX.dd-wrt.bin -i tools/ubnt/lsx-ddwrt.txt
693endif
694ifeq ($(CONFIG_WP543),y)
695        ./tools/compex/mkmylofw -B WP543 \
696                -p0x30000:0x3d0000:alp:0x80060000 \
697                -b0x30000:0x3d0000::$(ARCH)-uclibc/vmlinux.lsx  \
698                mips-uclibc/wp543.img
699endif
700ifeq ($(CONFIG_WP546),y)
701        ./tools/compex/mkmylofw -B WP546 \
702                -p0x30000:0x3d0000:alp:0x80060000 \
703                -b0x30000:0x3d0000::$(ARCH)-uclibc/vmlinux.lsx  \
704                mips-uclibc/wp546.img
705endif
706endif
707endif
708ifeq ($(CONFIG_UBNTM),y)
709        dd if=$(ARCH)-uclibc/root.uimage of=$(ARCH)-uclibc/aligned.uimage bs=4096 conv=sync
710        cat $(ARCH)-uclibc/root.fs  >> $(ARCH)-uclibc/aligned.uimage
711        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/ar7420-firmware.bin $(ARCH)-uclibc/aligned.uimage
712        tools/ubnt/src/mkfwimage -v XM.ar7240.v6.0.0.60000.110900.1000 -o $(ARCH)-uclibc/ubntm-dd-wrt.bin -i tools/ubnt/m-dd-wrt.txt
713        tools/ubnt/src/mkfwimage -v BZ.ar7240.v6.0.0.60000.110900.1000 -o $(ARCH)-uclibc/ubntbz-dd-wrt.bin -i tools/ubnt/m-dd-wrt.txt
714endif
715ifeq ($(CONFIG_WHRHPGN),y)
716        dd if=$(ARCH)-uclibc/root.uimage of=$(ARCH)-uclibc/aligned.uimage bs=4096 conv=sync
717        cat $(ARCH)-uclibc/root.fs  >> $(ARCH)-uclibc/aligned.uimage
718        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/ap93-firmware.bin $(ARCH)-uclibc/aligned.uimage
719        tools/wzrg300nh/tftpfw $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-hp-gn-firmware.tftp
720
721ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),MULTI)
722#multi region
723ifeq ($(CONFIG_BUFFALO_SA),y)
724        tools/bufenc/encryptRC4 WHR-HP-G300N 1.84 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
725        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WHR-HP-G300N" "WHR-HP-G300N" "1.84" "1.01" "US-AP" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-hp-g300n-firmware_MULTI.enc
726else
727        tools/bufenc/encryptRC4 WHR-HP-G300N 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
728        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WHR-HP-G300N" "WHR-HP-G300N" "1.82" "1.01" "US-EU-AP-TW-KR-CH-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-hp-g300n-firmware_MULTI.enc
729        tools/bufenc/encryptRC4 WHR-HP-GN 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
730        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WHR-HP-GN" "WHR-HP-GN" "1.82" "1.01" "US-EU-AP-TW-KR-CH-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-hp-gn-firmware_MULTI.enc
731        tools/bufenc/encryptRC4 WHR-G301N 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
732        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WHR-G301N" "WHR-G301N" "1.82" "1.01" "US-EU-AP-TW-KR-CH-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-g300n-firmware_MULTI.enc
733        tools/bufenc/encryptRC4 WLAE-AG300N 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
734        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WLAE-AG300N" "WLAE-AG300N" "1.82" "1.01" "US-EU-AP-TW-KR-CH-RU" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/wlae-ag300n-firmware_MULTI.enc
735endif
736else
737ifeq ($(CONFIG_DEFAULT_COUNTRYCODE),EU-US)
738#eu-us region
739        tools/bufenc/encryptRC4 WHR-HP-G300N 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
740        tools/bufenc/mkfw-eu-us -hw_ver=0 -hcrypt="Buffalo" "WHR-HP-G300N" "WHR-HP-G300N" "1.82" "1.01" "US" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-hp-g300n-firmware_EU-US.enc
741        tools/bufenc/encryptRC4 WHR-HP-GN 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
742        tools/bufenc/mkfw-eu-us -hw_ver=0 -hcrypt="Buffalo" "WHR-HP-GN" "WHR-HP-GN" "1.82" "1.01" "US" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-hp-gn-firmware_EU-US.enc
743        tools/bufenc/encryptRC4 WHR-G301N 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
744        tools/bufenc/mkfw-eu-us -hw_ver=0 -hcrypt="Buffalo" "WHR-G301N" "WHR-G301N" "1.82" "1.01" "US" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-g300n-firmware_EU-US.enc
745        tools/bufenc/encryptRC4 WLAE-AG300N 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
746        tools/bufenc/mkfw-eu-us -hw_ver=0 -hcrypt="Buffalo" "WLAE-AG300N" "WLAE-AG300N" "1.82" "1.01" "US" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/wlae-ag300n-firmware_EU-US.enc
747else
748        tools/bufenc/encryptRC4 WHR-HP-G300N 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
749        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WHR-HP-G300N" "WHR-HP-G300N" "1.82" "1.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-hp-g300n-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
750        tools/bufenc/encryptRC4 WHR-HP-GN 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
751        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WHR-HP-GN" "WHR-HP-GN" "1.82" "1.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-hp-gn-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
752        tools/bufenc/encryptRC4 WHR-G301N 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
753        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WHR-G301N" "WHR-G301N" "1.82" "1.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/whr-g300n-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
754        tools/bufenc/encryptRC4 WLAE-AG300N 1.82 Buffalo $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/whr-firmware.enc
755        tools/bufenc/mkfw -hw_ver=0 -hcrypt="Buffalo" "WLAE-AG300N" "WLAE-AG300N" "1.82" "1.01" "$(CONFIG_DEFAULT_COUNTRYCODE)" "mlang8" "ath" "" 80041000 80200000 1 $(ARCH)-uclibc/whr-firmware.enc $(ARCH)-uclibc/wlae-ag300n-firmware_$(CONFIG_DEFAULT_COUNTRYCODE).enc
756endif
757endif
758
759endif
760ifeq ($(CONFIG_DIR825),y)
761        cp $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/dir825-uimage.bin
762        cat tools/dir825.tag >> $(ARCH)-uclibc/dir825-uimage.bin
763        cp $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/dir825ww-uimage.bin
764        cat tools/dir825ww.tag >> $(ARCH)-uclibc/dir825ww-uimage.bin
765        cp $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/dir825tw-uimage.bin
766        cat tools/dir825tw.tag >> $(ARCH)-uclibc/dir825tw-uimage.bin
767       
768endif
769ifeq ($(CONFIG_TEW673GRU),y)
770        cp $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/tew673gru-uimage.bin
771        cat tools/tew673gru.tag >> $(ARCH)-uclibc/tew673gru-uimage.bin
772endif
773ifeq ($(CONFIG_WNR2000),y)
774        mkdir -p $(ARCH)-uclibc/wnr2000v3/image
775        ./tools/wndr3700/wnr2000v3 \
776                $(ARCH)-uclibc/root.uimage \
777                $(ARCH)-uclibc/wnr2000v3/image/uImage
778
779        ./tools/wndr3700/mksquashfs-lzma \
780                $(ARCH)-uclibc/wnr2000v3 $(ARCH)-uclibc/kernel2000v3.squashfs \
781                -nopad -noappend -root-owned -be
782        -rm -rf $(ARCH)-uclibc/wnr2000v3
783
784        mkimage -A mips -O linux -T filesystem -C none \
785                -a 0xbf070000 -e 0xbf070000 \
786                -n 'wnr2000v3-V1.1.4.68' \
787                -d $(ARCH)-uclibc/kernel2000v3.squashfs \
788                $(ARCH)-uclibc/kernel2000v3.uimage
789
790        ./tools/wndr3700/wnr2000v3 \
791                $(ARCH)-uclibc/kernel2000v3.uimage \
792                $(ARCH)-uclibc/kernel2000v3.image       
793
794        ( \
795                dd if=$(ARCH)-uclibc/kernel2000v3.image bs=1024k conv=sync; \
796                dd if=$(ARCH)-uclibc/root.fs bs=64k; \
797        ) > $(ARCH)-uclibc/wnr2000v3-uimage.bin
798
799        ./tools/wndr3700/mkdniimg -B wnr2000v3 -v 1.1.4.68 -r NA -i $(ARCH)-uclibc/wnr2000v3-uimage.bin -o $(ARCH)-uclibc/wnr2000v3-factory_NA.img
800        ./tools/wndr3700/mkdniimg -B wnr2000v3 -v 1.1.4.68 -r "" -i $(ARCH)-uclibc/wnr2000v3-uimage.bin -o $(ARCH)-uclibc/wnr2000v3-factory_WW.img
801        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/wnr2000v3-webflash.bin $(ARCH)-uclibc/wnr2000v3-uimage.bin
802
803endif
804ifeq ($(CONFIG_WNR2200),y)
805        mkdir -p $(ARCH)-uclibc/wnr2200/image
806        ./tools/wndr3700/wnr2200 \
807                $(ARCH)-uclibc/root.uimage \
808                $(ARCH)-uclibc/wnr2200/image/uImage
809
810        ./tools/wndr3700/mksquashfs-lzma \
811                $(ARCH)-uclibc/wnr2200 $(ARCH)-uclibc/kernel2200.squashfs \
812                -nopad -noappend -root-owned -be
813        -rm -rf $(ARCH)-uclibc/wnr2200
814
815        mkimage -A mips -O linux -T filesystem -C none \
816                -a 0xbf070000 -e 0xbf070000 \
817                -n 'wnr2200-V1.1.4.68' \
818                -d $(ARCH)-uclibc/kernel2200.squashfs \
819                $(ARCH)-uclibc/kernel2200.uimage
820
821        ./tools/wndr3700/wnr2200 \
822                $(ARCH)-uclibc/kernel2200.uimage \
823                $(ARCH)-uclibc/kernel2200.image
824
825        ( \
826                dd if=$(ARCH)-uclibc/kernel2200.image bs=1024k conv=sync; \
827                dd if=$(ARCH)-uclibc/root.fs bs=64k; \
828        ) > $(ARCH)-uclibc/wnr2200-uimage.bin
829
830        ./tools/wndr3700/mkdniimg -B wnr2200 -v 1.1.4.68 -r NA -i $(ARCH)-uclibc/wnr2200-uimage.bin -o $(ARCH)-uclibc/wnr2200-factory_NA.img
831        ./tools/wndr3700/mkdniimg -B wnr2200 -v 1.1.4.68 -r "" -i $(ARCH)-uclibc/wnr2200-uimage.bin -o $(ARCH)-uclibc/wnr2200-factory_WW.img
832        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/wnr2200-webflash.bin $(ARCH)-uclibc/wnr2200-uimage.bin     
833
834endif
835ifeq ($(CONFIG_WNDR3700),y)
836        mkdir -p $(ARCH)-uclibc/wndr3700/image
837        mkdir -p $(ARCH)-uclibc/wndr3700v2/image
838        mkdir -p $(ARCH)-uclibc/wndr3800/image
839        ./tools/wndr3700/wndr3700 \
840                $(ARCH)-uclibc/root.uimage \
841                $(ARCH)-uclibc/wndr3700/image/uImage
842
843        ./tools/wndr3700/wndr3700v2 \
844                $(ARCH)-uclibc/root.uimage \
845                $(ARCH)-uclibc/wndr3700v2/image/uImage
846
847        ./tools/wndr3700/wndr3700v2 \
848                $(ARCH)-uclibc/root.uimage \
849                $(ARCH)-uclibc/wndr3800/image/uImage
850
851        ./tools/wndr3700/mksquashfs-lzma \
852                $(ARCH)-uclibc/wndr3700 $(ARCH)-uclibc/kernel.squashfs \
853                -nopad -noappend -root-owned -be
854
855        ./tools/wndr3700/mksquashfs-lzma \
856                $(ARCH)-uclibc/wndr3700v2 $(ARCH)-uclibc/kernelv2.squashfs \
857                -nopad -noappend -root-owned -be
858
859        ./tools/wndr3700/mksquashfs-lzma \
860                $(ARCH)-uclibc/wndr3800 $(ARCH)-uclibc/kernel3800.squashfs \
861                -nopad -noappend -root-owned -be
862
863        -rm -rf $(ARCH)-uclibc/wndr3700
864        -rm -rf $(ARCH)-uclibc/wndr3700v2
865        -rm -rf $(ARCH)-uclibc/wndr3800
866
867        mkimage -A mips -O linux -T filesystem -C none \
868                -a 0xbf070000 -e 0xbf070000 \
869                -n 'WNDR3700-V1.0.4.68' \
870                -d $(ARCH)-uclibc/kernel.squashfs \
871                $(ARCH)-uclibc/kernel.uimage
872
873        mkimage -A mips -O linux -T filesystem -C none \
874                -a 0xbf070000 -e 0xbf070000 \
875                -n 'WNDR3700v2-V1.0.4.68' \
876                -d $(ARCH)-uclibc/kernelv2.squashfs \
877                $(ARCH)-uclibc/kernelv2.uimage
878
879        mkimage -A mips -O linux -T filesystem -C none \
880                -a 0xbf070000 -e 0xbf070000 \
881                -n 'WNDR3800-V1.0.4.68' \
882                -d $(ARCH)-uclibc/kernel3800.squashfs \
883                $(ARCH)-uclibc/kernel3800.uimage
884
885        ./tools/wndr3700/wndr3700v2 \
886                $(ARCH)-uclibc/kernelv2.uimage \
887                $(ARCH)-uclibc/kernelv2.image   
888
889        ./tools/wndr3700/wndr3700 \
890                $(ARCH)-uclibc/kernel.uimage \
891                $(ARCH)-uclibc/kernel.image     
892
893        ./tools/wndr3700/wndr3700v2 \
894                $(ARCH)-uclibc/kernel3800.uimage \
895                $(ARCH)-uclibc/kernel3800.image
896        ( \
897                dd if=$(ARCH)-uclibc/kernel.image bs=1024k conv=sync; \
898                dd if=$(ARCH)-uclibc/root.fs bs=64k; \
899        ) > $(ARCH)-uclibc/wndr3700-uimage.bin
900
901        ( \
902                dd if=$(ARCH)-uclibc/kernelv2.image bs=1024k conv=sync; \
903                dd if=$(ARCH)-uclibc/root.fs bs=64k; \
904        ) > $(ARCH)-uclibc/wndr3700v2-uimage.bin
905
906        ( \
907                dd if=$(ARCH)-uclibc/kernel3800.image bs=1024k conv=sync; \
908                dd if=$(ARCH)-uclibc/root.fs bs=64k; \
909        ) > $(ARCH)-uclibc/wndr3800-uimage.bin
910
911        ./tools/wndr3700/mkdniimg -B WNDR3700 -v 1.0.4.68 -r NA -i $(ARCH)-uclibc/wndr3700-uimage.bin -o $(ARCH)-uclibc/wndr3700-factory_NA.img
912        ./tools/wndr3700/mkdniimg -B WNDR3700 -v 1.0.4.68 -r "" -i $(ARCH)-uclibc/wndr3700-uimage.bin -o $(ARCH)-uclibc/wndr3700-factory_WW.img
913        ./tools/wndr3700/mkdniimg -B WNDR3700v2 -v 1.0.4.68 -r NA -i $(ARCH)-uclibc/wndr3700v2-uimage.bin -o $(ARCH)-uclibc/wndr3700v2-factory_NA.img
914        ./tools/wndr3700/mkdniimg -B WNDR3700v2 -v 1.0.4.68 -r "" -i $(ARCH)-uclibc/wndr3700v2-uimage.bin -o $(ARCH)-uclibc/wndr3700v2-factory_WW.img
915        ./tools/wndr3700/mkdniimg -B WNDR3800 -v 1.0.4.68 -r NA -i $(ARCH)-uclibc/wndr3800-uimage.bin -o $(ARCH)-uclibc/wndr3800-factory_NA.img
916        ./tools/wndr3700/mkdniimg -B WNDR3800 -v 1.0.4.68 -r "" -i $(ARCH)-uclibc/wndr3800-uimage.bin -o $(ARCH)-uclibc/wndr3800-factory_WW.img
917        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/wndr3700-webflash.bin $(ARCH)-uclibc/wndr3700-uimage.bin   
918        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/wndr3700v2-webflash.bin $(ARCH)-uclibc/wndr3700v2-uimage.bin       
919        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/wndr3800-webflash.bin $(ARCH)-uclibc/wndr3800-uimage.bin   
920endif
921ifeq ($(CONFIG_TEW632BRP),y)
922        cp $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/tew632brp-uimage.bin
923        cat tools/tew632brp.tag >> $(ARCH)-uclibc/tew632brp-uimage.bin
924       
925endif
926ifeq ($(CONFIG_TEW652BRP),y)
927        cp $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/tew652brp-uimage.bin
928        cat tools/tew652brp.tag >> $(ARCH)-uclibc/tew652brp-uimage.bin
929       
930endif
931ifeq ($(CONFIG_DIR615C1),y)
932        cp $(ARCH)-uclibc/aligned.uimage $(ARCH)-uclibc/dir615c1-uimage.bin
933        cat tools/dir615c2.tag >> $(ARCH)-uclibc/dir615c1-uimage.bin
934       
935endif
936ifeq ($(CONFIG_DIR632),y)
937        dd if=$(ARCH)-uclibc/aligned.uimage of=$(ARCH)-uclibc/dir632-uimage.bin bs=7667712 conv=sync
938        cat tools/dir632na.tag >> $(ARCH)-uclibc/dir632-uimage.bin
939        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/dir632-firmware.bin $(ARCH)-uclibc/dir632-uimage.bin       
940endif
941ifeq ($(CONFIG_DIR615E),y)
942        dd if=$(ARCH)-uclibc/root.uimage of=$(ARCH)-uclibc/aligned.uimage bs=4096 conv=sync
943        cat $(ARCH)-uclibc/root.fs  >> $(ARCH)-uclibc/aligned.uimage
944        dd if=$(ARCH)-uclibc/aligned.uimage of=$(ARCH)-uclibc/dir615e1-uimage.bin bs=3538944 conv=sync
945        cat tools/dir615e1.tag >> $(ARCH)-uclibc/dir615e1-uimage.bin
946        dd if=$(ARCH)-uclibc/aligned.uimage of=$(ARCH)-uclibc/dir615e3-uimage.bin bs=3538944 conv=sync
947        cat tools/dir615e3.tag >> $(ARCH)-uclibc/dir615e3-uimage.bin
948        dd if=$(ARCH)-uclibc/aligned.uimage of=$(ARCH)-uclibc/dir615e4-uimage.bin bs=3538944 conv=sync
949        cat tools/dir615e4.tag >> $(ARCH)-uclibc/dir615e4-uimage.bin
950        dd if=$(ARCH)-uclibc/aligned.uimage of=$(ARCH)-uclibc/dir601-uimage.bin bs=3735552 conv=sync
951        cat tools/dir601.tag >> $(ARCH)-uclibc/dir601-uimage.bin
952        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/ap93-firmware.bin $(ARCH)-uclibc/aligned.uimage   
953endif
954ifeq ($(CONFIG_WRT160NL),y)
955        ./tools/wrt160nl/pad $(ARCH)-uclibc/root.uimage $(ARCH)-uclibc/aligned.uimage
956        cat $(ARCH)-uclibc/root.fs  >> $(ARCH)-uclibc/aligned.uimage
957        ./tools/wrt160nl/trx -m 40000000 -o $(ARCH)-uclibc/wrt160nl-firmware.trx -f $(ARCH)-uclibc/aligned.uimage
958        ./tools/wrt160nl/trx -m 40000000 -o $(ARCH)-uclibc/e2100l-firmware.trx -f $(ARCH)-uclibc/aligned.uimage
959        ./tools/wrt160nl/addpattern -B WRT160NL -v v1.00.20 -i $(ARCH)-uclibc/wrt160nl-firmware.trx -o $(ARCH)-uclibc/wrt160nl-firmware.bin -g
960        ./tools/wrt160nl/addpattern -B E2100L -v v1.00.20 -i $(ARCH)-uclibc/e2100l-firmware.trx -o $(ARCH)-uclibc/e2100l-firmware.bin -g
961endif
962ifeq ($(CONFIG_TG2521),y)
963#       ./tools/wrt160nl/pad $(ARCH)-uclibc/root.uimage $(ARCH)-uclibc/aligned.uimage
964#       cat $(ARCH)-uclibc/root.fs  >> $(ARCH)-uclibc/aligned.uimage
965#       ./tools/wrt160nl/trx -m 30000000 -o $(ARCH)-uclibc/wrt160nl-firmware.trx -f $(ARCH)-uclibc/aligned.uimage
966#       ./tools/wrt160nl/addpattern -B WRT160NL -v v1.00.20 -i $(ARCH)-uclibc/wrt160nl-firmware.trx -o $(ARCH)-uclibc/wrt160nl-firmware.bin -g
967        ./tools/zcom/makefirmware $(ARCH)-uclibc/zcom-firmware.img $(ARCH)-uclibc/root.uimage $(ARCH)-uclibc/root.fs TG2521
968        dd if=$(ARCH)-uclibc/root.fs of=$(ARCH)-uclibc/root.zcom bs=6356992 conv=sync
969        cat $(ARCH)-uclibc/root.uimage >> $(ARCH)-uclibc/root.zcom
970        ./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/zcom-firmware.bin $(ARCH)-uclibc/root.zcom
971endif
972
973ifeq ($(CONFIG_WR1043),y)
974        make -C lzma-loader/pb42 clean
975        make -C lzma-loader/pb42
976        cp lzma-loader/pb42/loader.bin.gz $(ARCH)-uclibc/vmlinus.gzip
977        ./tools/tplink/mktplinkfw -B TL-WR1043NDv1 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-firmware.bin
978        ./tools/trx_n  -m 40000000 -o $(ARCH)-uclibc/ap83-firmware.bin mips-uclibc/tplink-firmware.bin
979endif
980
981
982ifeq ($(CONFIG_WR941),y)
983        make -C lzma-loader/pb42 clean
984        make -C lzma-loader/pb42
985        cp lzma-loader/pb42/loader.bin.gz $(ARCH)-uclibc/vmlinus.gzip
986        ./tools/tplink/mktplinkfw -B TL-WR941NDv2 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR941NDv2-firmware.bin
987        ./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR941NDv2-firmware.bin mips-uclibc/tplink-WR941NDv2-firmware.bin
988
989        ./tools/tplink/mktplinkfw -B TL-WR841NDv3 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR841NDv3-firmware.bin
990        ./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR841NDv3-firmware.bin mips-uclibc/tplink-WR841NDv3-firmware.bin
991
992endif
993ifeq ($(CONFIG_WR741),y)
994        make -C lzma-loader/pb42 clean
995        make -C lzma-loader/pb42
996        cp lzma-loader/pb42/loader.bin.gz $(ARCH)-uclibc/vmlinus.gzip
997        -./tools/tplink/mktplinkfw -B TL-WR741NDv1 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR741NDv1-firmware.bin
998        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR741NDv1-firmware.bin mips-uclibc/tplink-WR741NDv1-firmware.bin
999
1000        -./tools/tplink/mktplinkfw -B TL-WR741NDv4 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinux.lzma -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR741NDv4-firmware.bin
1001        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR741NDv4-firmware.bin mips-uclibc/tplink-WR741NDv4-firmware.bin
1002
1003        -./tools/tplink/mktplinkfw -B TL-WR740NDv1 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR740NDv1-firmware.bin
1004        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR740NDv1-firmware.bin mips-uclibc/tplink-WR740NDv1-firmware.bin
1005
1006        -./tools/tplink/mktplinkfw -B TL-WR740NDv4 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinux.lzma -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR740NDv4-firmware.bin
1007        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR740NDv4-firmware.bin mips-uclibc/tplink-WR740NDv4-firmware.bin
1008
1009        -./tools/tplink/mktplinkfw -B TL-WR703Nv1 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinux.lzma -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR703Nv1-firmware.bin
1010        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR703Nv1-firmware.bin mips-uclibc/tplink-WR703Nv1-firmware.bin
1011
1012        -./tools/tplink/mktplinkfw -B TL-WR740NDv3 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR740NDv3-firmware.bin
1013        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR740NDv3-firmware.bin mips-uclibc/tplink-WR740NDv3-firmware.bin
1014
1015        -./tools/tplink/mktplinkfw -B TL-WR743NDv1 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR743NDv1-firmware.bin
1016        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR743NDv1-firmware.bin mips-uclibc/tplink-WR743NDv1-firmware.bin
1017
1018        -./tools/tplink/mktplinkfw -B TL-WR841NDv5 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR841NDv5-firmware.bin
1019        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR841NDv5-firmware.bin mips-uclibc/tplink-WR841NDv5-firmware.bin
1020
1021        -./tools/tplink/mktplinkfw -B TL-WR841NDv7 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR841NDv7-firmware.bin
1022        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR841NDv7-firmware.bin mips-uclibc/tplink-WR841NDv7-firmware.bin
1023
1024        -./tools/tplink/mktplinkfw -B TL-WR840Nv1 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR840Nv1-firmware.bin
1025        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR840Nv1-firmware.bin mips-uclibc/tplink-WR840Nv1-firmware.bin
1026
1027        -./tools/tplink/mktplinkfw -B TL-WR941NDv4 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WR941NDv4-firmware.bin
1028        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WR941NDv4-firmware.bin mips-uclibc/tplink-WR941NDv4-firmware.bin
1029
1030        -./tools/tplink/mktplinkfw -B TL-WA901NDv1 -N DD-WRT -V 24 -k $(ARCH)-uclibc/vmlinus.gzip -r $(ARCH)-uclibc/root.fs -o mips-uclibc/tplink-WA901NDv1-firmware.bin
1031        -./tools/trx_n -m 40000000 -o $(ARCH)-uclibc/WA901NDv1-firmware.bin mips-uclibc/tplink-WA901NDv1-firmware.bin
1032endif
1033ifeq ($(CONFIG_WRT400),y)
1034        dd if=$(ARCH)-uclibc/root.uimage of=$(ARCH)-uclibc/root.wrt400 bs=1048576 conv=sync
1035        ./tools/wrt400/wrt400 $(ARCH)-uclibc/root.wrt400 $(ARCH)-uclibc/root.fs $(ARCH)-uclibc/wrt400-firmware.bin
1036endif
1037
1038
1039include rules/all.mk
1040
1041.PHONY: all clean distclean mrproper install package
1042.PHONY: conf mconf oldconf kconf kmconf config menuconfig oldconfig
1043.PHONY: dummy fixkc libnet libpcap
1044
1045
1046
Note: See TracBrowser for help on using the repository browser.