| 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 | |
|---|
| 15 | include .config |
|---|
| 16 | ifneq ($(wildcard ../cy_conf.mak),) |
|---|
| 17 | include ../cy_conf.mak |
|---|
| 18 | endif |
|---|
| 19 | |
|---|
| 20 | # |
|---|
| 21 | # Paths |
|---|
| 22 | # |
|---|
| 23 | OPENSER_MODULES := sl tm rr maxfwd usrloc registrar dbtext textops exec auth auth_db nathelper |
|---|
| 24 | OPENSER_MODULE_FILES := $(foreach module,$(OPENSER_MODULES),openser/modules/$(module)/$(module).so) |
|---|
| 25 | OPENSSL_NO_CIPHERS:= no-idea no-md2 no-mdc2 no-rc5 no-sha0 no-rmd160 no-aes192 |
|---|
| 26 | OPENSSL_OPTIONS:= shared no-ec no-err no-fips no-hw no-krb5 no-threads zlib-dynamic |
|---|
| 27 | |
|---|
| 28 | # Source bases |
|---|
| 29 | |
|---|
| 30 | export PLATFORM LINUXDIR LIBDIR USRLIBDIR |
|---|
| 31 | export TOP := $(shell pwd) |
|---|
| 32 | export 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 |
|---|
| 38 | export ATH_RATE=ath_rate/sample |
|---|
| 39 | |
|---|
| 40 | # |
|---|
| 41 | # Cross-compile environment variables |
|---|
| 42 | # |
|---|
| 43 | |
|---|
| 44 | # Build platform |
|---|
| 45 | export BUILD := i386-pc-linux-gnu |
|---|
| 46 | export HOSTCC := gcc |
|---|
| 47 | |
|---|
| 48 | # uClibc wrapper |
|---|
| 49 | export ARCH:=$(PLATFORM) |
|---|
| 50 | ifeq ($(CONFIG_UCLIBC),y) |
|---|
| 51 | export PLATFORM := $(PLATFORM)-uclibc |
|---|
| 52 | endif |
|---|
| 53 | |
|---|
| 54 | #export LINUXDIR := $(SRCBASE)/linux/linux.v24 |
|---|
| 55 | ifeq ($(ARCH),mips) |
|---|
| 56 | export LINUXDIR := $(SRCBASE)/linux/brcm63xx/linux-2.6.17 |
|---|
| 57 | endif |
|---|
| 58 | #ifeq ($(ARCH),armeb) |
|---|
| 59 | #export LINUXDIR := $(SRCBASE)/linux/xscale/linux-2.6.23 |
|---|
| 60 | #endif |
|---|
| 61 | ifeq ($(ARCH),mipsel) |
|---|
| 62 | export LINUXDIR := $(SRCBASE)/kernel/rb500/linux-2.6.17-rc5 |
|---|
| 63 | endif |
|---|
| 64 | ifeq ($(ARCH),i386) |
|---|
| 65 | export LINUXDIR := $(SRCBASE)/kernel/wrap/linux-2.6.16.7 |
|---|
| 66 | endif |
|---|
| 67 | |
|---|
| 68 | export KERNELRELEASE = $(shell cat $(LINUXDIR)/include/config/kernel.release 2> /dev/null) |
|---|
| 69 | |
|---|
| 70 | #export KERNELRELEASE = $(shell cat $(LINUXDIR)/.kernelrelease 2> /dev/null) |
|---|
| 71 | |
|---|
| 72 | #ifeq ($(PLATFORM),mipsel) |
|---|
| 73 | #export CROSS_COMPILE := mipsel-linux- |
|---|
| 74 | #export CONFIGURE := ./configure mipsel-linux --build=$(BUILD) |
|---|
| 75 | #export TOOLCHAIN := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/../mipsel-linux && pwd -P) |
|---|
| 76 | #endif |
|---|
| 77 | |
|---|
| 78 | #ifeq ($(PLATFORM),mipsel-uclibc) |
|---|
| 79 | export CROSS_COMPILE := $(ARCH)-linux-uclibc- |
|---|
| 80 | export CONFIGURE := ./configure $(ARCH)-linux --build=$(BUILD) |
|---|
| 81 | export TOOLCHAIN := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/.. && pwd -P) |
|---|
| 82 | #endif |
|---|
| 83 | |
|---|
| 84 | #ifeq ($(CONFIG_BCMWPA2),y) |
|---|
| 85 | #export CFLAGS += -DBCMWPA2 |
|---|
| 86 | #endif |
|---|
| 87 | |
|---|
| 88 | export BASEOPT:=-O2 |
|---|
| 89 | #export ARCH:= mipsel |
|---|
| 90 | |
|---|
| 91 | ifeq ($(ARCH),mipsel) |
|---|
| 92 | export COPTS:=$(BASEOPT) -pipe -mips32 -mtune=mips32 -funit-at-a-time |
|---|
| 93 | endif |
|---|
| 94 | ifeq ($(ARCH),armeb) |
|---|
| 95 | export COPTS:=$(BASEOPT) -pipe -mtune=xscale -march=armv5te -Wa,-mcpu=xscale -mno-thumb-interwork -mno-thumb |
|---|
| 96 | endif |
|---|
| 97 | ifeq ($(ARCH),arm) |
|---|
| 98 | export COPTS:=$(BASEOPT) -pipe -march=armv6k -mtune=mpcore -mfloat-abi=softfp -mfpu=vfp -fno-caller-saves |
|---|
| 99 | #-D_FILE_OFFSET_BITS=64 |
|---|
| 100 | endif |
|---|
| 101 | ifeq ($(ARCH),mips) |
|---|
| 102 | export COPTS:=$(BASEOPT) -pipe -mips32 -mtune=mips32 -funit-at-a-time |
|---|
| 103 | endif |
|---|
| 104 | ifeq ($(ARCH),i386) |
|---|
| 105 | export COPTS:=$(BASEOPT) -pipe -march=i486 -funit-at-a-time |
|---|
| 106 | endif |
|---|
| 107 | |
|---|
| 108 | export CC := ccache $(CROSS_COMPILE)gcc |
|---|
| 109 | export CXX := ccache $(CROSS_COMPILE)g++ |
|---|
| 110 | export AR := $(CROSS_COMPILE)ar |
|---|
| 111 | export AS := $(CROSS_COMPILE)as |
|---|
| 112 | export LD := $(CROSS_COMPILE)ld |
|---|
| 113 | export NM := $(CROSS_COMPILE)nm |
|---|
| 114 | export RANLIB := $(CROSS_COMPILE)ranlib |
|---|
| 115 | export STRIP := $(CROSS_COMPILE)strip |
|---|
| 116 | export SIZE := $(CROSS_COMPILE)size |
|---|
| 117 | |
|---|
| 118 | export CFLAGS := $(COPTS) |
|---|
| 119 | |
|---|
| 120 | # |
|---|
| 121 | # Install and target directories |
|---|
| 122 | # |
|---|
| 123 | |
|---|
| 124 | export PLATFORMDIR := $(TOP)/$(PLATFORM) |
|---|
| 125 | export INSTALLDIR := $(PLATFORMDIR)/install |
|---|
| 126 | export TARGETDIR := $(PLATFORMDIR)/target |
|---|
| 127 | |
|---|
| 128 | ifeq ($(PLATFORM),mipsel) |
|---|
| 129 | obj-y += libcrypto |
|---|
| 130 | endif |
|---|
| 131 | # |
|---|
| 132 | # Configuration |
|---|
| 133 | # |
|---|
| 134 | CONFIG_IPTABLES=y |
|---|
| 135 | |
|---|
| 136 | include rules/configs.mk |
|---|
| 137 | |
|---|
| 138 | obj-clean := $(foreach obj,$(obj-y) $(obj-n),$(obj)-clean) |
|---|
| 139 | obj-install := $(foreach obj,$(obj-y),$(obj)-install) |
|---|
| 140 | obj-distclean := $(foreach obj,$(obj-y) $(obj-n),$(obj)-distclean) |
|---|
| 141 | |
|---|
| 142 | all: build_date clean_target $(obj-y) $(LINUXDIR)/.config kernel |
|---|
| 143 | |
|---|
| 144 | build_date: |
|---|
| 145 | echo "#define BUILD_DATE \"$(shell date +%D)\"" > ../../opt/build.h |
|---|
| 146 | |
|---|
| 147 | |
|---|
| 148 | kernelsource: |
|---|
| 149 | mkdir -p $(LINUXDIR) |
|---|
| 150 | wget http://www.de.kernel.org/pub/linux/kernel/v2.6/linux-$(KERNELVERSION).tar.bz2 -O $(LINUXDIR)/../linux-$(KERNELVERSION).tar.bz2 |
|---|
| 151 | cd $(LINUXDIR)/../ && tar -xvjf $(LINUXDIR)/../linux-$(KERNELVERSION).tar.bz2 |
|---|
| 152 | cd $(LINUXDIR)/../ && ./patch $(KERNELVERSION) |
|---|
| 153 | |
|---|
| 154 | kernel: |
|---|
| 155 | # Also build kernel |
|---|
| 156 | ifeq ($(CONFIG_LAGUNA),y) |
|---|
| 157 | ifeq ($(CONFIG_LAGUNA_NOSMP),y) |
|---|
| 158 | cp $(LINUXDIR)/.config_laguna_nosmp $(LINUXDIR)/.config |
|---|
| 159 | else |
|---|
| 160 | cp $(LINUXDIR)/.config_laguna$(DD_LAGUNA_NOSMP) $(LINUXDIR)/.config |
|---|
| 161 | endif |
|---|
| 162 | endif |
|---|
| 163 | ifeq ($(CONFIG_EOP_TUNNEL),y) |
|---|
| 164 | echo CONFIG_NET_ETHERIP=m >> $(LINUXDIR)/.config |
|---|
| 165 | else |
|---|
| 166 | echo "# CONFIG_NET_ETHERIP is not set" >> $(LINUXDIR)/.config |
|---|
| 167 | endif |
|---|
| 168 | $(MAKE) -C $(LINUXDIR) oldconfig |
|---|
| 169 | |
|---|
| 170 | if ! grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \ |
|---|
| 171 | $(MAKE) -j 4 -C $(LINUXDIR) uImage ; \ |
|---|
| 172 | fi |
|---|
| 173 | if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \ |
|---|
| 174 | $(MAKE) -j 4 -C $(LINUXDIR) modules ; \ |
|---|
| 175 | fi |
|---|
| 176 | |
|---|
| 177 | |
|---|
| 178 | realclean: $(obj-clean) |
|---|
| 179 | rm -f .config.old .config.cmd |
|---|
| 180 | #umount $(TARGETDIR) |
|---|
| 181 | rm -rf $(INSTALLDIR) |
|---|
| 182 | rm -rf $(TARGETDIR) |
|---|
| 183 | rm -f $(TARGETDIR)/* |
|---|
| 184 | -rm -f $(ARCH)-uclibc/* |
|---|
| 185 | |
|---|
| 186 | |
|---|
| 187 | clean: rc-clean httpd-clean services-clean shared-clean libutils-clean nvram-clean madwifi-clean madwifi_mimo-clean busybox-clean dnsmasq-clean iptables-clean pppd-clean |
|---|
| 188 | rm -f .config.old .config.cmd |
|---|
| 189 | #umount $(TARGETDIR) |
|---|
| 190 | rm -rf $(INSTALLDIR) |
|---|
| 191 | rm -rf $(TARGETDIR) |
|---|
| 192 | rm -f $(TARGETDIR)/* |
|---|
| 193 | -rm -f $(ARCH)-uclibc/* |
|---|
| 194 | |
|---|
| 195 | clean_target: |
|---|
| 196 | rm -rf $(TARGETDIR) |
|---|
| 197 | rm -rf $(INSTALLDIR) |
|---|
| 198 | |
|---|
| 199 | distclean mrproper: $(obj-distclean) clean_target |
|---|
| 200 | rm -rf $(INSTALLDIR) |
|---|
| 201 | $(MAKE) -C $(LINUXDIR) distclean |
|---|
| 202 | $(MAKE) -C $(LINUXDIR)/arch/mips/bcm947xx/compressed clean |
|---|
| 203 | #rm -f $(PLATFORMDIR)/zImage $(PLATFORMDIR)/linux.bin |
|---|
| 204 | $(MAKE) -C config clean |
|---|
| 205 | rm -f .config $(LINUXDIR)/.config |
|---|
| 206 | rm -f .config.old .config.cmd |
|---|
| 207 | |
|---|
| 208 | optimize-lib: |
|---|
| 209 | make -f Makefile.laguna lib.$(ARCH)-install |
|---|
| 210 | cp lib.$(ARCH)/pics/* $(TARGETDIR)/lib |
|---|
| 211 | cp lib.$(ARCH)/libgcc_s.so.1 $(TARGETDIR)/lib |
|---|
| 212 | |
|---|
| 213 | |
|---|
| 214 | relink-lib.sh \ |
|---|
| 215 | "$(ARCH)-linux-" \ |
|---|
| 216 | "lib.$(ARCH)/libc_so.a" \ |
|---|
| 217 | "lib.$(ARCH)/libc_so.a" \ |
|---|
| 218 | "$(ARCH)-uclibc/target/lib/libc.so.0" \ |
|---|
| 219 | -Wl,-init,__uClibc_init -Wl,-soname=libc.so.0 \ |
|---|
| 220 | lib.$(ARCH)/libgcc_s.so.* |
|---|
| 221 | |
|---|
| 222 | relink-lib.sh \ |
|---|
| 223 | "$(ARCH)-linux-" \ |
|---|
| 224 | "$(wildcard lib.$(ARCH)/libcrypt-*.so)" \ |
|---|
| 225 | "lib.$(ARCH)/libcrypt_pic.a" \ |
|---|
| 226 | "$(ARCH)-uclibc/target/lib/libcrypt.so.0" \ |
|---|
| 227 | lib.$(ARCH)/libgcc_s.so.* \ |
|---|
| 228 | -Wl,-soname=libcrypt.so.0 |
|---|
| 229 | |
|---|
| 230 | relink-lib.sh \ |
|---|
| 231 | "$(ARCH)-linux-" \ |
|---|
| 232 | "$(wildcard lib.$(ARCH)/libm-*.so)" \ |
|---|
| 233 | "lib.$(ARCH)/libm_pic.a" \ |
|---|
| 234 | "$(ARCH)-uclibc/target/lib/libm.so.0" \ |
|---|
| 235 | lib.$(ARCH)/libgcc_s.so.* \ |
|---|
| 236 | -Wl,-soname=libm.so.0 |
|---|
| 237 | |
|---|
| 238 | relink-lib.sh \ |
|---|
| 239 | "$(ARCH)-linux-" \ |
|---|
| 240 | "$(wildcard lib.$(ARCH)/libpthread-*.so)" \ |
|---|
| 241 | "lib.$(ARCH)/libpthread_so.a" \ |
|---|
| 242 | "$(ARCH)-uclibc/target/lib/libpthread.so.0" \ |
|---|
| 243 | -Wl,-z,nodelete,-z,initfirst,-init=__pthread_initialize_minimal_internal \ |
|---|
| 244 | lib.$(ARCH)/libgcc_s.so.* \ |
|---|
| 245 | -Wl,-soname=libpthread.so.0 |
|---|
| 246 | |
|---|
| 247 | ifneq ($(CONFIG_NOOPT),y) |
|---|
| 248 | rm -rf /tmp/mklibs-out |
|---|
| 249 | rm -f /tmp/mklibs-progs |
|---|
| 250 | find $(TARGETDIR) -type f -perm +100 -exec \ |
|---|
| 251 | file -r -N -F '' {} + | \ |
|---|
| 252 | awk ' /executable.*dynamically/ { print $$1 }' > /tmp/mklibs-progs |
|---|
| 253 | |
|---|
| 254 | find $(TARGETDIR) -type f -name \*.so\* -exec \ |
|---|
| 255 | file -r -N -F '' {} + | \ |
|---|
| 256 | awk ' /shared object/ { print $$1 }' >> /tmp/mklibs-progs |
|---|
| 257 | |
|---|
| 258 | mkdir -p /tmp/mklibs-out |
|---|
| 259 | mklibs.py -D \ |
|---|
| 260 | -d /tmp/mklibs-out \ |
|---|
| 261 | --sysroot $(TARGETDIR) \ |
|---|
| 262 | -L /lib \ |
|---|
| 263 | -L /usr/lib \ |
|---|
| 264 | --ldlib /lib/ld-uClibc.so.0 \ |
|---|
| 265 | --target $(ARCH)-linux-uclibc \ |
|---|
| 266 | `cat /tmp/mklibs-progs` 2>&1 |
|---|
| 267 | cp /tmp/mklibs-out/* $(TARGETDIR)/lib |
|---|
| 268 | endif |
|---|
| 269 | rm -f $(TARGETDIR)/lib/*.a |
|---|
| 270 | rm -f $(TARGETDIR)/lib/*.map |
|---|
| 271 | # cp lib.$(ARCH)/libresolv.so.0 $(TARGETDIR)/lib |
|---|
| 272 | # cp lib.$(ARCH)/libgcc_s.so.1 $(TARGETDIR)/lib |
|---|
| 273 | |
|---|
| 274 | |
|---|
| 275 | install package: clean_target $(filter-out lib.$(ARCH)-install,$(obj-install)) $(LINUXDIR)/.config |
|---|
| 276 | # Install binaries into target directory |
|---|
| 277 | install -d $(TARGETDIR) |
|---|
| 278 | for dir in $(wildcard $(patsubst %,$(INSTALLDIR)/%,$(obj-y))) ; do \ |
|---|
| 279 | (cd $${dir} && tar cpf - .) | (cd $(TARGETDIR) && tar xpf -) \ |
|---|
| 280 | done |
|---|
| 281 | mkdir -p $(ARCH)-uclibc/target/etc/config |
|---|
| 282 | mkdir -p $(ARCH)-uclibc/target/etc/kaid |
|---|
| 283 | mkdir -p $(ARCH)-uclibc/target/etc/langpack |
|---|
| 284 | cp ./opt/bin/ipkg $(ARCH)-uclibc/target/bin |
|---|
| 285 | cd $(ARCH)-uclibc/target/lib |
|---|
| 286 | cp ./opt/etc/preinit $(ARCH)-uclibc/target/etc |
|---|
| 287 | cp ./opt/etc/postinit $(ARCH)-uclibc/target/etc |
|---|
| 288 | cp ./opt/etc/ipkg.conf $(ARCH)-uclibc/target/etc |
|---|
| 289 | cp ./opt/etc/config/* $(ARCH)-uclibc/target/etc/config |
|---|
| 290 | cp ./opt/usr/lib/smb.conf $(ARCH)-uclibc/target/usr/lib |
|---|
| 291 | ln -sf ../tmp/smbshare $(ARCH)-uclibc/target/www/smb |
|---|
| 292 | # optimize the crypto library by removing unneeded symbols |
|---|
| 293 | # Install (and possibly optimize) C library |
|---|
| 294 | $(MAKE) -f Makefile.laguna lib.$(ARCH)-install |
|---|
| 295 | # optimize the others library by removing unneeded symbols |
|---|
| 296 | $(MAKE) -f Makefile.laguna optimize-lib |
|---|
| 297 | # Install modules into filesystem |
|---|
| 298 | if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \ |
|---|
| 299 | $(MAKE) -C $(LINUXDIR) modules_install DEPMOD=/bin/true INSTALL_MOD_PATH=$(TARGETDIR) ; \ |
|---|
| 300 | fi |
|---|
| 301 | ifeq ($(CONFIG_MADWIFI),y) |
|---|
| 302 | rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/drivers/net/wl |
|---|
| 303 | endif |
|---|
| 304 | ifeq ($(CONFIG_WP18),y) |
|---|
| 305 | rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs |
|---|
| 306 | rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/drivers/scsi |
|---|
| 307 | rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/drivers/usb |
|---|
| 308 | rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/drivers/net/e1000 |
|---|
| 309 | rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/drivers/char |
|---|
| 310 | rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/net/ipv6 |
|---|
| 311 | rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/net/sunrpc |
|---|
| 312 | endif |
|---|
| 313 | ifeq ($(CONFIG_WAVESAT),y) |
|---|
| 314 | make -f Makefile.laguna wavesat-install |
|---|
| 315 | endif |
|---|
| 316 | cp lib.$(ARCH)/libgcc_s.so.1 $(TARGETDIR)/lib |
|---|
| 317 | find $(TARGETDIR) -name "wl_*.o" | xargs rm -rf |
|---|
| 318 | ifneq ($(CONFIG_SAMBA),y) |
|---|
| 319 | rm -rf $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/kernel/fs/cifs |
|---|
| 320 | endif |
|---|
| 321 | rm -f $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/build |
|---|
| 322 | rm -f $(TARGETDIR)/lib/modules/$(KERNELRELEASE)/source |
|---|
| 323 | # Prepare filesystem |
|---|
| 324 | # Make sure mksquashfs-2.0 is used |
|---|
| 325 | cd $(TARGETDIR) && find . -iname "CVS" | xargs rm -rf |
|---|
| 326 | cd $(TARGETDIR) && find . -iname ".svn" | xargs rm -rf |
|---|
| 327 | ./busybox/examples/depmod.pl -F $(LINUXDIR)/System.map -b $(ARCH)-uclibc/target/lib/modules |
|---|
| 328 | # tar --directory=$(TARGETDIR) --remove-files -cvvjf $(TARGETDIR)/etc/local.tar.bz2 usr/local |
|---|
| 329 | rm -rf $(TARGETDIR)/usr/local |
|---|
| 330 | mkdir $(TARGETDIR)/usr/local |
|---|
| 331 | ifeq ($(CONFIG_KAID),y) |
|---|
| 332 | cp kaid/kaid $(TARGETDIR)/usr/sbin |
|---|
| 333 | endif |
|---|
| 334 | mv $(TARGETDIR)/usr/lib/services.so $(TARGETDIR)/lib |
|---|
| 335 | ./strip_libs.sh $(ARCH) |
|---|
| 336 | cd $(TARGETDIR) && $(TOP)/misc/rootprep.sh |
|---|
| 337 | $(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(ARCH)-uclibc/target $(ARCH)-uclibc/root.fs -noappend -root-owned -le |
|---|
| 338 | mkfs.jffs2 --pad --big-endian --squash -e 0x20000 -o $(ARCH)-uclibc/dd-wrt.jffs2 -d $(ARCH)-uclibc/target |
|---|
| 339 | echo -ne '\xde\xad\xc0\xde' >> $(ARCH)-uclibc/dd-wrt.jffs2 |
|---|
| 340 | dd if=$(LINUXDIR)/arch/arm/boot/uImage of=$(ARCH)-uclibc/laguna-firmware.raw1 bs=131072 conv=sync |
|---|
| 341 | dd if=$(LINUXDIR)/arch/arm/boot/uImage of=$(ARCH)-uclibc/laguna-firmware.raw2 bs=131072 conv=sync |
|---|
| 342 | cat $(ARCH)-uclibc/dd-wrt.jffs2>>$(ARCH)-uclibc/laguna-firmware.raw1 |
|---|
| 343 | cat $(ARCH)-uclibc/root.fs>>$(ARCH)-uclibc/laguna-firmware.raw2 |
|---|
| 344 | ./tools/trx_n -m 30000000 -o $(ARCH)-uclibc/laguna-firmware-jffs.bin $(ARCH)-uclibc/laguna-firmware.raw1 |
|---|
| 345 | ./tools/trx_n -m 30000000 -o $(ARCH)-uclibc/laguna-firmware-squashfs.bin $(ARCH)-uclibc/laguna-firmware.raw2 |
|---|
| 346 | |
|---|
| 347 | |
|---|
| 348 | |
|---|
| 349 | include rules/all.mk |
|---|
| 350 | |
|---|
| 351 | .PHONY: all clean distclean mrproper install package |
|---|
| 352 | .PHONY: conf mconf oldconf kconf kmconf config menuconfig oldconfig |
|---|
| 353 | .PHONY: dummy fixkc libnet libpcap |
|---|
| 354 | |
|---|
| 355 | |
|---|
| 356 | |
|---|