| 1 | # Broadcom Linux Router Makefile |
|---|
| 2 | # |
|---|
| 3 | # Copyright 2001-2003, Broadcom Corporation |
|---|
| 4 | # All Rights Reserved. |
|---|
| 5 | # |
|---|
| 6 | # THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY |
|---|
| 7 | # KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM |
|---|
| 8 | # SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS |
|---|
| 9 | # FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. |
|---|
| 10 | # |
|---|
| 11 | # $Id: Makefile,v 1.2 2005/09/26 11:06:58 seg Exp $ |
|---|
| 12 | # |
|---|
| 13 | |
|---|
| 14 | include .config |
|---|
| 15 | ifneq ($(wildcard ../cy_conf.mak),) |
|---|
| 16 | include ../cy_conf.mak |
|---|
| 17 | endif |
|---|
| 18 | |
|---|
| 19 | # |
|---|
| 20 | # Paths |
|---|
| 21 | # |
|---|
| 22 | OPENSER_MODULES := sl tm rr maxfwd usrloc registrar dbtext textops exec auth auth_db nathelper |
|---|
| 23 | OPENSER_MODULE_FILES := $(foreach module,$(OPENSER_MODULES),openser/modules/$(module)/$(module).so) |
|---|
| 24 | |
|---|
| 25 | # Source bases |
|---|
| 26 | export PLATFORM LINUXDIR LIBDIR USRLIBDIR |
|---|
| 27 | export TOP := $(shell pwd) |
|---|
| 28 | export SRCBASE := $(shell (cd $(TOP)/.. && pwd -P)) |
|---|
| 29 | # |
|---|
| 30 | # Cross-compile environment variables |
|---|
| 31 | # |
|---|
| 32 | |
|---|
| 33 | # Build platform |
|---|
| 34 | export BUILD := i386-pc-linux-gnu |
|---|
| 35 | export HOSTCC := gcc |
|---|
| 36 | |
|---|
| 37 | # uClibc wrapper |
|---|
| 38 | ifeq ($(CONFIG_UCLIBC),y) |
|---|
| 39 | export PLATFORM := $(PLATFORM)-uclibc |
|---|
| 40 | endif |
|---|
| 41 | |
|---|
| 42 | export LINUXVER = $(shell cat $(LINUXDIR)/include/config/kernel.release 2> /dev/null) |
|---|
| 43 | |
|---|
| 44 | |
|---|
| 45 | ifeq ($(PLATFORM),mipsel) |
|---|
| 46 | export CROSS_COMPILE := mipsel-linux- |
|---|
| 47 | export CONFIGURE := ./configure mipsel-linux --build=$(BUILD) |
|---|
| 48 | export TOOLCHAIN := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/../mipsel-linux && pwd -P) |
|---|
| 49 | endif |
|---|
| 50 | |
|---|
| 51 | ifeq ($(PLATFORM),mipsel-uclibc) |
|---|
| 52 | export CROSS_COMPILE := mipsel-linux-uclibc- |
|---|
| 53 | export CONFIGURE := ./configure mipsel-linux --build=$(BUILD) |
|---|
| 54 | export TOOLCHAIN := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/.. && pwd -P) |
|---|
| 55 | endif |
|---|
| 56 | |
|---|
| 57 | ifeq ($(CONFIG_BCMWPA2),y) |
|---|
| 58 | export CFLAGS += -DBCMWPA2 |
|---|
| 59 | endif |
|---|
| 60 | |
|---|
| 61 | ifeq ($(CONFIG_BRANDING),y) |
|---|
| 62 | export CFLAGS += -DCONFIG_BRANDING |
|---|
| 63 | endif |
|---|
| 64 | ifeq ($(CONFIG_SPEED),y) |
|---|
| 65 | export BASEOPT:=-O2 |
|---|
| 66 | else |
|---|
| 67 | export BASEOPT:=-Os |
|---|
| 68 | endif |
|---|
| 69 | |
|---|
| 70 | |
|---|
| 71 | export ARCH:= mipsel |
|---|
| 72 | export ARCHITECTURE:= broadcom |
|---|
| 73 | export COPTS:=$(BASEOPT) -pipe -mips32 -mtune=mips32 -funit-at-a-time |
|---|
| 74 | export CC := $(CROSS_COMPILE)gcc |
|---|
| 75 | export AR := $(CROSS_COMPILE)ar |
|---|
| 76 | export AS := $(CROSS_COMPILE)as |
|---|
| 77 | export LD := $(CROSS_COMPILE)ld |
|---|
| 78 | export NM := $(CROSS_COMPILE)nm |
|---|
| 79 | export RANLIB := $(CROSS_COMPILE)ranlib |
|---|
| 80 | export STRIP := @true |
|---|
| 81 | export SIZE := $(CROSS_COMPILE)size |
|---|
| 82 | |
|---|
| 83 | export CFLAGS :=$(BASEOPT) -pipe -mips32 -mtune=mips32 -funit-at-a-time |
|---|
| 84 | export LDFLAGS := |
|---|
| 85 | |
|---|
| 86 | # |
|---|
| 87 | # Install and target directories |
|---|
| 88 | # |
|---|
| 89 | |
|---|
| 90 | export PLATFORMDIR := $(TOP)/$(PLATFORM) |
|---|
| 91 | export INSTALLDIR := $(PLATFORMDIR)/install |
|---|
| 92 | export TARGETDIR := $(PLATFORMDIR)/target |
|---|
| 93 | |
|---|
| 94 | |
|---|
| 95 | #obj-y += libcrypto |
|---|
| 96 | # |
|---|
| 97 | # Configuration |
|---|
| 98 | # |
|---|
| 99 | CONFIG_IPTABLES=y |
|---|
| 100 | #CONFIG_WLC=y |
|---|
| 101 | include rules/configs.mk |
|---|
| 102 | |
|---|
| 103 | obj-clean := $(foreach obj,$(obj-y) $(obj-n),$(obj)-clean) |
|---|
| 104 | obj-install := $(foreach obj,$(obj-y),$(obj)-install) |
|---|
| 105 | obj-distclean := $(foreach obj,$(obj-y) $(obj-n),$(obj)-distclean) |
|---|
| 106 | |
|---|
| 107 | |
|---|
| 108 | build_date: |
|---|
| 109 | echo "#define BUILD_DATE \"$(shell date +%D)\"" > ../../opt/build.h |
|---|
| 110 | |
|---|
| 111 | |
|---|
| 112 | # |
|---|
| 113 | # Basic rules |
|---|
| 114 | # |
|---|
| 115 | |
|---|
| 116 | all: build_date clean_target $(obj-y) $(LINUXDIR)/.config kernel |
|---|
| 117 | |
|---|
| 118 | |
|---|
| 119 | kernel: |
|---|
| 120 | # Also build kernel |
|---|
| 121 | ifeq ($(CONFIG_DIST),"micro") |
|---|
| 122 | cp $(LINUXDIR)/.config_micro $(LINUXDIR)/.config |
|---|
| 123 | # cd $(LINUXDIR) && make clean |
|---|
| 124 | else |
|---|
| 125 | ifeq ($(CONFIG_DIST),"micro-special") |
|---|
| 126 | cp $(LINUXDIR)/.config_micro $(LINUXDIR)/.config |
|---|
| 127 | # cd $(LINUXDIR) && make clean |
|---|
| 128 | else |
|---|
| 129 | ifeq ($(CONFIG_MADWIFI),y) |
|---|
| 130 | cp $(LINUXDIR)/.config_atheros $(LINUXDIR)/.config |
|---|
| 131 | # cd $(LINUXDIR) && make clean |
|---|
| 132 | else |
|---|
| 133 | cp $(LINUXDIR)/.config_std $(LINUXDIR)/.config |
|---|
| 134 | # cd $(LINUXDIR) && make clean |
|---|
| 135 | endif |
|---|
| 136 | endif |
|---|
| 137 | endif |
|---|
| 138 | ifeq ($(CONFIG_EOP_TUNNEL),y) |
|---|
| 139 | echo CONFIG_NET_ETHERIP=m >> $(LINUXDIR)/.config |
|---|
| 140 | else |
|---|
| 141 | echo "# CONFIG_NET_ETHERIP" is not set >> $(LINUXDIR)/.config |
|---|
| 142 | endif |
|---|
| 143 | ifeq ($(CONFIG_V25),y) |
|---|
| 144 | echo CONFIG_V25=y >> $(LINUXDIR)/.config |
|---|
| 145 | else |
|---|
| 146 | echo "# CONFIG_V25" is not set >> $(LINUXDIR)/.config |
|---|
| 147 | endif |
|---|
| 148 | #ifeq ($(CONFIG_REGISTER),y) |
|---|
| 149 | # cp $(LINUXDIR)/.config_register $(LINUXDIR)/.config |
|---|
| 150 | #endif |
|---|
| 151 | $(MAKE) -C $(LINUXDIR) oldconfig |
|---|
| 152 | $(MAKE) -j 4 -C $(LINUXDIR) vmlinux |
|---|
| 153 | $(MAKE) -j 4 -C $(LINUXDIR) modules |
|---|
| 154 | $(ARCH)-linux-objcopy -O binary $(LINUXDIR)/vmlinux $(ARCH)-uclibc/vmlinus |
|---|
| 155 | cat $(ARCH)-uclibc/vmlinus | lzma e -si -so -eos -lc2 -lp2 -pb2 -d21 > lzma-loader/broadcom/vmlinux.lzma |
|---|
| 156 | make -C lzma-loader/broadcom clean |
|---|
| 157 | make -C lzma-loader/broadcom |
|---|
| 158 | dd if=lzma-loader/broadcom/lzma.elf of=$(ARCH)-uclibc/lzma_vmlinux bs=65536 conv=sync |
|---|
| 159 | $(ARCH)-linux-objcopy -O binary $(ARCH)-uclibc/lzma_vmlinux $(ARCH)-uclibc/lzma_vmlinus |
|---|
| 160 | |
|---|
| 161 | bootloader: |
|---|
| 162 | $(MAKE) -C $(LINUXDIR) oldconfig |
|---|
| 163 | if ! grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \ |
|---|
| 164 | $(MAKE) -j 4 -C $(LINUXDIR) zImage ; \ |
|---|
| 165 | fi |
|---|
| 166 | if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \ |
|---|
| 167 | $(MAKE) -j 4 -C $(LINUXDIR) modules ; \ |
|---|
| 168 | fi |
|---|
| 169 | /opt/3.3.4/bin/$(ARCH)-linux-objcopy -O binary $(LINUXDIR)/vmlinux $(ARCH)-uclibc/vmlinus |
|---|
| 170 | cat $(ARCH)-uclibc/vmlinus | lzma e -si -so -eos -lc2 -lp2 -pb2 -d21 > lzma-loader/broadcom/vmlinux.lzma |
|---|
| 171 | make -C lzma-loader/broadcom clean |
|---|
| 172 | make -C lzma-loader/broadcom |
|---|
| 173 | cp lzma-loader/broadcom/lzma.elf $(ARCH)-uclibc/lzma_vmlinux |
|---|
| 174 | $(ARCH)-linux-objcopy -O binary $(ARCH)-uclibc/lzma_vmlinux $(ARCH)-uclibc/lzma_vmlinus |
|---|
| 175 | |
|---|
| 176 | |
|---|
| 177 | clean: $(obj-clean) |
|---|
| 178 | rm -f .config.old .config.cmd |
|---|
| 179 | rm -rf $(INSTALLDIR) |
|---|
| 180 | rm -rf $(TARGETDIR) |
|---|
| 181 | rm -f $(ARCH)-uclibc/* |
|---|
| 182 | rm -f $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.squashfs |
|---|
| 183 | |
|---|
| 184 | clean_target: |
|---|
| 185 | rm -rf $(TARGETDIR) |
|---|
| 186 | rm -rf $(INSTALLDIR) |
|---|
| 187 | rm -f $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.squashfs |
|---|
| 188 | |
|---|
| 189 | distclean mrproper: $(obj-distclean) clean_target |
|---|
| 190 | rm -rf $(INSTALLDIR) |
|---|
| 191 | $(MAKE) -C $(LINUXDIR) distclean |
|---|
| 192 | $(MAKE) -C $(LINUXDIR)/arch/mips/bcm947xx/compressed clean |
|---|
| 193 | #rm -f $(PLATFORMDIR)/zImage $(PLATFORMDIR)/linux.bin |
|---|
| 194 | $(MAKE) -C config clean |
|---|
| 195 | rm -f .config $(LINUXDIR)/.config |
|---|
| 196 | rm -f .config.old .config.cmd |
|---|
| 197 | |
|---|
| 198 | optimize-lib: |
|---|
| 199 | # ../../tools/optimize_lib.sh netconf/ libnetconf.so libnetconf.a libnetconf_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libnetconf.so |
|---|
| 200 | ../../tools/optimize_lib.sh shared/ libshared.so libshared.a libshared_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libshared.so |
|---|
| 201 | # ../../tools/optimize_lib.sh lib/ libm.so libm.a libm_min.so $(TARGETDIR) $(TARGETDIR)/lib/libm.so.0 |
|---|
| 202 | ../../tools/optimize_lib.sh lib/ libpthread.so libpthread.a libphread_min.so $(TARGETDIR) $(TARGETDIR)/lib/libpthread.so.0 |
|---|
| 203 | # ../../tools/optimize_lib.sh services/ services.so services.a services_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/services.so |
|---|
| 204 | # ../../tools/optimize_lib.sh iptables/ libiptables.so libiptables.a libiptables_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libiptables.so |
|---|
| 205 | |
|---|
| 206 | |
|---|
| 207 | install package: clean_target $(filter-out lib.mipsel-install,$(obj-install)) $(LINUXDIR)/.config |
|---|
| 208 | install -d $(TARGETDIR) |
|---|
| 209 | for dir in $(wildcard $(patsubst %,$(INSTALLDIR)/%,$(obj-y))) ; do \ |
|---|
| 210 | (cd $${dir} && tar cpf - .) | (cd $(TARGETDIR) && tar xpf -) \ |
|---|
| 211 | done |
|---|
| 212 | # optimize the crypto library by removing unneeded symbols |
|---|
| 213 | #[ ! -d libcrypto ] || $(MAKE) -C libcrypto optimize |
|---|
| 214 | #[ ! -d libcrypto ] || $(MAKE) -C libcrypto optimize |
|---|
| 215 | # Install (and possibly optimize) C library |
|---|
| 216 | $(MAKE) lib.mipsel-install |
|---|
| 217 | # optimize the others library by removing unneeded symbols |
|---|
| 218 | $(MAKE) optimize-lib |
|---|
| 219 | # Install modules into filesystem |
|---|
| 220 | if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \ |
|---|
| 221 | $(MAKE) -C $(LINUXDIR) modules_install DEPMOD=/bin/true INSTALL_MOD_PATH=$(TARGETDIR) ; \ |
|---|
| 222 | fi |
|---|
| 223 | #ifeq ($(CONFIG_MADWIFI),y) |
|---|
| 224 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/wl |
|---|
| 225 | #endif |
|---|
| 226 | # mkdir -p $(TARGETDIR)/lib/modules/2.4.32/kernel/drivers/net/ctmisc |
|---|
| 227 | # cp ../wl/ctmisc/ctmisc.o $(TARGETDIR)/lib/modules/2.4.32/kernel/drivers/net/ctmisc |
|---|
| 228 | |
|---|
| 229 | # find $(TARGETDIR) -name "wl_*.o" | xargs rm -rf |
|---|
| 230 | # quick n dirty - stuff Nikki's module where it belongs |
|---|
| 231 | #mkdir $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/adm6996 |
|---|
| 232 | #if [ "$(CONFIG_MMC)" = "y" ] ; then \ |
|---|
| 233 | #mkdir -p $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/mmc ; \ |
|---|
| 234 | #cp mmc/mmc.o $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/mmc ; \ |
|---|
| 235 | #fi ; |
|---|
| 236 | #ifeq ($(CONFIG_MSSID),y) |
|---|
| 237 | # cp adm6996.v24/adm6996.o $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/adm6996/adm6996.o |
|---|
| 238 | #else |
|---|
| 239 | # cp adm6996/adm6996.o $(TARGETDIR)/lib/modules/2.4.32-rc3/kernel/drivers/net/adm6996/adm6996.o |
|---|
| 240 | #endif |
|---|
| 241 | |
|---|
| 242 | rm -f $(TARGETDIR)/lib/modules/$(LINUXVER)/build |
|---|
| 243 | rm -f $(TARGETDIR)/lib/modules/$(LINUXVER)/source |
|---|
| 244 | if test -d "$(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/diag"; then mv $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/diag/* $(TARGETDIR)/lib/modules/$(LINUXVER); fi |
|---|
| 245 | # mv $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/diag/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 246 | #ifneq ($(CONFIG_DIST),"micro") |
|---|
| 247 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/led/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 248 | #endif |
|---|
| 249 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/switch/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 250 | #ifeq ($(CONFIG_MSSID),y) |
|---|
| 251 | # cp ../wl/wl/wl_v24.o $(TARGETDIR)/lib/modules/2.4.33-rc1/wl.o |
|---|
| 252 | #else |
|---|
| 253 | # if test -d "$(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/wl"; then mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/wl/* $(TARGETDIR)/lib/modules/$(LINUXVER); fi |
|---|
| 254 | #ifeq ($(CONFIG_VXOVER),y) |
|---|
| 255 | # rm -f $(TARGETDIR)/lib/modules/$(LINUXVER)/wl.o |
|---|
| 256 | #endif |
|---|
| 257 | |
|---|
| 258 | #ifneq ($(CONFIG_DIST),"micro") |
|---|
| 259 | #ifneq ($(CONFIG_DIST),"micro-special") |
|---|
| 260 | # if test -d "$(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/wireless"; then mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/wireless/* $(TARGETDIR)/lib/modules/$(LINUXVER); fi |
|---|
| 261 | #endif |
|---|
| 262 | #endif |
|---|
| 263 | #ifeq ($(CONFIG_MSSID),y) |
|---|
| 264 | #ifneq ($(CONFIG_BCM5354),y) |
|---|
| 265 | #ifneq ($(CONFIG_DIST),"micro") |
|---|
| 266 | #ifneq ($(CONFIG_DIST),"micro-special") |
|---|
| 267 | # cp bcm57xx/bcm57xx.o $(TARGETDIR)/lib/modules/$(LINUXVER)/bcm57xxlsys.o |
|---|
| 268 | # cp bcm57xx/bcm57xx300.o $(TARGETDIR)/lib/modules/$(LINUXVER)/bcm57xx300.o |
|---|
| 269 | #endif |
|---|
| 270 | #endif |
|---|
| 271 | #endif |
|---|
| 272 | #endif |
|---|
| 273 | #endif |
|---|
| 274 | # mv $(TARGETDIR)/lib/modules/2.4.33-pre3/kernel/fs/fat/* $(TARGETDIR)/lib/modules/2.4.33-pre3 |
|---|
| 275 | #ifneq ($(CONFIG_DIST),"micro") |
|---|
| 276 | #ifneq ($(CONFIG_DIST),"micro-special") |
|---|
| 277 | # if test -d "$(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/jffs2"; then mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/jffs2/* $(TARGETDIR)/lib/modules/$(LINUXVER); fi |
|---|
| 278 | #ifeq ($(CONFIG_SAMBA),y) |
|---|
| 279 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/cifs/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 280 | #endif |
|---|
| 281 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/ext2/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 282 | #endif |
|---|
| 283 | #endif |
|---|
| 284 | #ifneq ($(CONFIG_E2FSPROGS),y) |
|---|
| 285 | # rm -f $(TARGETDIR)/lib/modules/$(LINUXVER)/ext2* |
|---|
| 286 | #endif |
|---|
| 287 | #ifeq ($(CONFIG_DIST),"mini") |
|---|
| 288 | # rm -f $(TARGETDIR)/lib/modules/$(LINUXVER)/cifs* |
|---|
| 289 | #endif |
|---|
| 290 | # mv $(TARGETDIR)/lib/modules/2.4.33-pre3/kernel/fs/vfat/* $(TARGETDIR)/lib/modules/2.4.33-prc1re3 |
|---|
| 291 | #ifneq ($(CONFIG_DIST),"micro") |
|---|
| 292 | #ifneq ($(CONFIG_DIST),"micro-special") |
|---|
| 293 | #ifneq ($(CONFIG_MSSID),y) |
|---|
| 294 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/lib/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 295 | #endif |
|---|
| 296 | #endif |
|---|
| 297 | #endif |
|---|
| 298 | #ifneq ($(CONFIG_DIST),"micro") |
|---|
| 299 | #ifneq ($(CONFIG_DIST),"micro-special") |
|---|
| 300 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/net/bridge/netfilter/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 301 | #endif |
|---|
| 302 | #endif |
|---|
| 303 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/net/ipv4/netfilter/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 304 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/net/ipv4/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 305 | #ifneq ($(CONFIG_DIST),"micro") |
|---|
| 306 | #ifneq ($(CONFIG_DIST),"micro-special") |
|---|
| 307 | #ifeq ($(CONFIG_IPV6),y) |
|---|
| 308 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/net/ipv6/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 309 | #endif |
|---|
| 310 | #endif |
|---|
| 311 | #endif |
|---|
| 312 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/imq.o $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 313 | #ifeq ($(CONFIG_MSSID),y) |
|---|
| 314 | #ifeq ($(CONFIG_USB),y) |
|---|
| 315 | #ifeq ($(CONFIG_USB_ADVANCED),y) |
|---|
| 316 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/ext3/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 317 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/jbd/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 318 | #endif |
|---|
| 319 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/fat/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 320 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/vfat/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 321 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/xfs/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 322 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/cdrom/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 323 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/ide/pci/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 324 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/ide/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 325 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/scsi/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 326 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/host/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 327 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/storage/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 328 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 329 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/host |
|---|
| 330 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/pci |
|---|
| 331 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/storage |
|---|
| 332 | # rm -f $(TARGETDIR)/lib/modules/$(LINUXVER)/sr_mod.o |
|---|
| 333 | # rm -f $(TARGETDIR)/lib/modules/$(LINUXVER)/ide-scsi.o |
|---|
| 334 | #endif |
|---|
| 335 | #endif |
|---|
| 336 | ifneq ($(CONFIG_USB),y) |
|---|
| 337 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/class |
|---|
| 338 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/core |
|---|
| 339 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/host |
|---|
| 340 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/storage |
|---|
| 341 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/ext2 |
|---|
| 342 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/ext3 |
|---|
| 343 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/fat |
|---|
| 344 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/jbd |
|---|
| 345 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/msdos |
|---|
| 346 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/vfat |
|---|
| 347 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/xfs |
|---|
| 348 | # rm -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/mbcache.ko |
|---|
| 349 | endif |
|---|
| 350 | ifneq ($(CONFIG_USB_ADVANCED),y) |
|---|
| 351 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/serial |
|---|
| 352 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/ext3 |
|---|
| 353 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/jbd |
|---|
| 354 | endif |
|---|
| 355 | ifneq ($(CONFIG_USB),y) |
|---|
| 356 | ifneq ($(CONFIG_SAMBA),y) |
|---|
| 357 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/nls |
|---|
| 358 | endif |
|---|
| 359 | endif |
|---|
| 360 | ifneq ($(CONFIG_IPV6),y) |
|---|
| 361 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/net/ipv6 |
|---|
| 362 | endif |
|---|
| 363 | ifneq ($(CONFIG_3G),y) |
|---|
| 364 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/usb |
|---|
| 365 | endif |
|---|
| 366 | ifneq ($(CONFIG_SAMBA),y) |
|---|
| 367 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/cifs |
|---|
| 368 | endif |
|---|
| 369 | ifneq ($(CONFIG_JFFS2),y) |
|---|
| 370 | rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/jffs2 |
|---|
| 371 | endif |
|---|
| 372 | |
|---|
| 373 | #ifeq ($(CONFIG_PCMCIA),y) |
|---|
| 374 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/pcmcia |
|---|
| 375 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/pcmcia/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 376 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/char/pcmcia/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 377 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/char/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 378 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/host/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 379 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/serial/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 380 | # mv -f $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/* $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 381 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/host |
|---|
| 382 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/serial |
|---|
| 383 | #endif |
|---|
| 384 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel |
|---|
| 385 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/pcmcia |
|---|
| 386 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER)/netfilter |
|---|
| 387 | #ifneq ($(CONFIG_JFFS2),y) |
|---|
| 388 | # rm -f $(TARGETDIR)/lib/modules/$(LINUXVER)/jffs2.o |
|---|
| 389 | #endif |
|---|
| 390 | rm -f $(TARGETDIR)/usr/lib/libpcap.so |
|---|
| 391 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/scsi/*.ko |
|---|
| 392 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/net/bridge/netfilter/*.ko |
|---|
| 393 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/net/ipv4/netfilter/*.ko |
|---|
| 394 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/net/ipv6/netfilter/*.ko |
|---|
| 395 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/net/netfilter/*.ko |
|---|
| 396 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/*.ko |
|---|
| 397 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/ext2/*.ko |
|---|
| 398 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/ext3/*.ko |
|---|
| 399 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/fat/*.ko |
|---|
| 400 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/msdos/*.ko |
|---|
| 401 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/xfs/*.ko |
|---|
| 402 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/jbd/*.ko |
|---|
| 403 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/vfat/*.ko |
|---|
| 404 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/nls/*.ko |
|---|
| 405 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/cifs/*.ko |
|---|
| 406 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/fs/jffs2/*.ko |
|---|
| 407 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/driver/net/*.ko |
|---|
| 408 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/net/bcm57xx/*.ko |
|---|
| 409 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/class/*.ko |
|---|
| 410 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/host/*.ko |
|---|
| 411 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/core/*.ko |
|---|
| 412 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/storage/*.ko |
|---|
| 413 | mipsel-linux-strip --strip-unneeded --remove-section=.comment $(TARGETDIR)/lib/modules/$(LINUXVER)/kernel/drivers/usb/serial/*.ko |
|---|
| 414 | #ifeq ($(CONFIG_MMC),y) |
|---|
| 415 | # cp ./mmc/mmc.o $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 416 | #endif |
|---|
| 417 | # tar -cvf $(TARGETDIR)/lib/modules/modules.tar $(TARGETDIR)/lib/modules/$(LINUXVER)/* |
|---|
| 418 | # rm -rf $(TARGETDIR)/lib/modules/$(LINUXVER) |
|---|
| 419 | |
|---|
| 420 | # Prepare filesystem |
|---|
| 421 | ifeq ($(CONFIG_DIST),"micro") |
|---|
| 422 | cd $(TARGETDIR) && $(TOP)/misc/rootprep_micro.sh |
|---|
| 423 | else |
|---|
| 424 | ifeq ($(CONFIG_DIST),"micro-special") |
|---|
| 425 | cd $(TARGETDIR) && $(TOP)/misc/rootprep_micro.sh |
|---|
| 426 | else |
|---|
| 427 | cd $(TARGETDIR) && $(TOP)/misc/rootprep.sh |
|---|
| 428 | endif |
|---|
| 429 | endif |
|---|
| 430 | # Make sure mksquashfs-2.0 is used |
|---|
| 431 | # $(MAKE) -C $(LINUXDIR)/scripts/squashfs mksquashfs |
|---|
| 432 | cd $(TARGETDIR) && find . -iname "CVS" | xargs rm -rf |
|---|
| 433 | cd $(TARGETDIR) && find . -iname ".svn" | xargs rm -rf |
|---|
| 434 | ifeq ($(CONFIG_OPENSSL),y) |
|---|
| 435 | rm -f $(TARGETDIR)/usr/sbin/openssl |
|---|
| 436 | endif |
|---|
| 437 | ifeq ($(CONFIG_KAID),y) |
|---|
| 438 | make -C kaid/src |
|---|
| 439 | cp kaid/kaid $(TARGETDIR)/usr/sbin |
|---|
| 440 | endif |
|---|
| 441 | mv $(TARGETDIR)/usr/lib/services.so $(TARGETDIR)/lib |
|---|
| 442 | $(ARCH)-linux-objcopy -O binary $(LINUXDIR)/vmlinux $(ARCH)-uclibc/vmlinux.bin |
|---|
| 443 | ../../opt/loader-0.02/lzma e -lc2 -lp2 -pb2 -d21 mipsel-uclibc/vmlinux.bin mipsel-uclibc/vmlinuz |
|---|
| 444 | cp ../../opt/etc/preinit mipsel-uclibc/target/etc |
|---|
| 445 | cp ../../opt/etc/postinit mipsel-uclibc/target/etc |
|---|
| 446 | ifneq ($(CONFIG_DIST),"micro") |
|---|
| 447 | ifneq ($(CONFIG_DIST),"micro-special") |
|---|
| 448 | cp ../../opt/bin/ipkg mipsel-uclibc/target/bin |
|---|
| 449 | cp ../../opt/etc/ipkg.conf mipsel-uclibc/target/etc |
|---|
| 450 | endif |
|---|
| 451 | endif |
|---|
| 452 | cp ../../opt/etc/config/* mipsel-uclibc/target/etc/config |
|---|
| 453 | -./strip_libs.sh $(ARCH) |
|---|
| 454 | $(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(ARCH)-uclibc/target $(ARCH)-uclibc/rootfs.squashfs -noappend -root-owned -le |
|---|
| 455 | ../../opt/tools/trx -o $(ARCH)-uclibc/dd-wrt.v24-K26.trx ../../opt/loader-0.02/loader.gz $(ARCH)-uclibc/vmlinuz -a 1024 $(ARCH)-uclibc/rootfs.squashfs |
|---|
| 456 | # Asus RT-N16 |
|---|
| 457 | dd if=/dev/zero of=$(ARCH)-uclibc/asusver bs=1 count=4032 |
|---|
| 458 | ../../opt/asus/addver $(ARCH)-uclibc/asusver 1.0 0.6 RT-N16 1.00 1.05 $(ARCH)-uclibc/vmlinuz |
|---|
| 459 | cat $(ARCH)-uclibc/rootfs.squashfs $(ARCH)-uclibc/asusver > $(ARCH)-uclibc/rootfs.squashfs-asus |
|---|
| 460 | ../../opt/tools/trx -o $(ARCH)-uclibc/dd-wrt.v24-K26_RT-N16.trx ../../opt/loader-0.02/loader.gz $(ARCH)-uclibc/vmlinuz -a 4096 $(ARCH)-uclibc/rootfs.squashfs-asus |
|---|
| 461 | rm -f $(ARCH)-uclibc/asusver |
|---|
| 462 | rm -f $(ARCH)-uclibc/rootfs.squashfs-asus |
|---|
| 463 | # end Asus RT-N16 |
|---|
| 464 | ./netgear/packet -k $(ARCH)-uclibc/dd-wrt.v24-K26.trx -f netgear/emptyfile -b netgear/comp-wnr3500v2.txt -ok kernel_image -oall dd-wrt.bin -or rootfs_image -i netgear/ambitCfg_wnr3500.h && \ |
|---|
| 465 | cp dd-wrt.bin.chk $(ARCH)-uclibc/dd-wrt.v24-K26_WNR3500v2.chk |
|---|
| 466 | ./netgear/packet -k $(ARCH)-uclibc/dd-wrt.v24-K26.trx -f netgear/emptyfile -b netgear/comp-wnr3500v2_VC.txt -ok kernel_image -oall dd-wrt.bin -or rootfs_image -i netgear/ambitCfg_wnr3500.h && \ |
|---|
| 467 | cp dd-wrt.bin.chk $(ARCH)-uclibc/dd-wrt.v24-K26_WNR3500v2_VC.chk |
|---|
| 468 | ./netgear/packet -k $(ARCH)-uclibc/dd-wrt.v24-K26.trx -f netgear/emptyfile -b netgear/comp-wnr3500L.txt -ok kernel_image -oall dd-wrt.bin -or rootfs_image -i netgear/ambitCfg_wnr3500.h && \ |
|---|
| 469 | cp dd-wrt.bin.chk $(ARCH)-uclibc/dd-wrt.v24-K26_WNR3500L.chk |
|---|
| 470 | ./netgear/packet -k $(ARCH)-uclibc/dd-wrt.v24-K26.trx -f netgear/emptyfile -b netgear/comp-wnr3500U.txt -ok kernel_image -oall dd-wrt.bin -or rootfs_image -i netgear/ambitCfg_wnr3500.h && \ |
|---|
| 471 | cp dd-wrt.bin.chk $(ARCH)-uclibc/dd-wrt.v24-K26_WNR3500U.chk |
|---|
| 472 | ../../opt/tools/addpattern -4 -p 320N -v v4.20.6 -i $(ARCH)-uclibc/dd-wrt.v24-K26.trx -o $(ARCH)-uclibc/dd-wrt.v24-K26_wrt320n.bin -g |
|---|
| 473 | ../../opt/tools/addpattern -0 -p N150 -v v3.0.02 -i $(ARCH)-uclibc/dd-wrt.v24-K26.trx -o $(ARCH)-uclibc/dd-wrt.v24-K26_wrt160nv3.bin -g |
|---|
| 474 | ../../opt/tools/addpattern -4 -p 610N -v v4.20.6 -i $(ARCH)-uclibc/dd-wrt.v24-K26.trx -o $(ARCH)-uclibc/dd-wrt.v24-K26_wrt610nv1.bin -g |
|---|
| 475 | |
|---|
| 476 | #&& rm -f kernel_image.chk rootfs_image.chk dd-wrt.bin.chk |
|---|
| 477 | |
|---|
| 478 | |
|---|
| 479 | #BOARDID_FILE=compatible_WNR3500v2.txt |
|---|
| 480 | #FW_NAME=WNR3500v2 |
|---|
| 481 | #fw_cfg_file := ambitCfg_NA.h |
|---|
| 482 | |
|---|
| 483 | # ./tools/kernelopt/kernelopt.sh $(LINUXDIR) $(ARCH)-uclibc/target $(ARCH)-linux-uclibc- |
|---|
| 484 | # make -C $(LINUXDIR) vmlinux_optimize |
|---|
| 485 | |
|---|
| 486 | # objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S $(LINUXDIR)/vmlinux_opt mipsel-uclibc/vmlinux |
|---|
| 487 | # objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S $(LINUXDIR)/vmlinux mipsel-uclibc/vmlinux2 |
|---|
| 488 | # ../../opt/loader-0.02/lzma e -lc2 -lp2 -pb2 -d21 mipsel-uclibc/vmlinux2 mipsel-uclibc/vmlinuz2 |
|---|
| 489 | # $(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(ARCH)-uclibc/target $(ARCH)-uclibc/target.squashfs -noappend -root-owned -le |
|---|
| 490 | #endif |
|---|
| 491 | # |
|---|
| 492 | # Configuration rules |
|---|
| 493 | # |
|---|
| 494 | include rules/all.mk |
|---|
| 495 | # |
|---|
| 496 | # Generic rules |
|---|
| 497 | # |
|---|
| 498 | |
|---|
| 499 | %: |
|---|
| 500 | [ ! -d $* ] || $(MAKE) -C $* |
|---|
| 501 | |
|---|
| 502 | %-distclean: |
|---|
| 503 | [ ! -d $* ] || $(MAKE) -C $* clean |
|---|
| 504 | |
|---|
| 505 | %-clean: |
|---|
| 506 | [ ! -d $* ] || $(MAKE) -C $* clean |
|---|
| 507 | |
|---|
| 508 | %-install: |
|---|
| 509 | [ ! -d $* ] || $(MAKE) -C $* install INSTALLDIR=$(INSTALLDIR)/$* |
|---|
| 510 | |
|---|
| 511 | $(obj-y) $(obj-n) $(obj-clean) $(obj-install): dummy |
|---|
| 512 | |
|---|
| 513 | .PHONY: all clean distclean mrproper install package |
|---|
| 514 | .PHONY: conf mconf oldconf kconf kmconf config menuconfig oldconfig |
|---|
| 515 | .PHONY: dummy fixkc libnet libpcap |
|---|
| 516 | |
|---|
| 517 | |
|---|
| 518 | |
|---|