Merge branch 'tomato-ND-usbmod-base' into tomato-ND-USBmod
[tomato.git] / release / src / router / Makefile
blob628712a7887b9d452f905725c971e87cfc254397
2 # Broadcom Linux Router Makefile
4 # Copyright 2005, Broadcom Corporation
5 # All Rights Reserved.
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.
14 include common.mak
20 ifeq ($(TOMATO_DEV),jon)
21 SEP=echo -e "\033[41;1m $@ \033[0m"
22 else
23 SEP=true
24 endif
27 # standard packages
29 obj-y += nvram
30 obj-y += shared
31 obj-y += prebuilt
32 obj-y += iptables
33 obj-y += rc
34 obj-y += iproute2
35 obj-y += rom
36 obj-y += others
37 obj-y += busybox
38 obj-y += httpd
39 obj-y += www
40 obj-y += bridge
41 obj-y += dnsmasq
42 obj-y += etc
43 obj-y += vlan
44 obj-y += ppp
45 obj-y += ttcp
46 obj-y += ntpc
47 obj-y += rstats
48 # obj-y += ebtables
49 # obj-y += libbcm
50 # obj-y += libbcmcrypto
51 # obj-y += nas
52 # obj-y += wlconf
54 # !!TB - updated Broadcom Wireless driver 4.150.10.X
55 obj-y += et
56 obj-y += libbcmcrypto
57 obj-y += wlconf
59 obj-y += mssl
60 obj-y += mdu
62 # !!TB
63 obj-y += p910nd
64 obj-y += scsi-idle
65 #obj-y += sendmail
66 obj-$(TCONFIG_FTP) += vsftpd
67 obj-$(TCONFIG_SAMBASRV) += samba
68 obj-$(TCONFIG_USB_EXTRAS) += mkdosfs
71 ifeq ($(TEST_MINIUPNPD),1)
72 obj-y += miniupnpd
73 else
74 obj-y += miniupnpd # !!TB
75 endif
79 # configurable packages
81 obj-$(TCONFIG_L2TP) += rp-l2tp
82 obj-$(TCONFIG_PPTP) += pptp-client
83 # obj-$(TCONFIG_HEARTBEAT) += bpalogin
84 # obj-$(TCONFIG_DDNS) += ipupdate
85 obj-$(TCONFIG_HTTPS) += openssl
86 obj-$(TCONFIG_HTTPS) += matrixssl
87 obj-$(TCONFIG_SSH) += dropbear
88 obj-$(TCONFIG_ZEBRA) += zebra
89 obj-$(TCONFIG_IPP2P) += ipp2p
91 ifeq ($(TCONFIG_L2TP),y)
92 NEED_PPPD = y
93 endif
94 ifeq ($(TCONFIG_PPTP),y)
95 NEED_PPPD = y
96 endif
97 obj-$(NEED_PPPD) += pppd
100 obj-clean := $(foreach obj, $(obj-y) $(obj-n) $(obj-), $(obj)-clean)
101 obj-install := $(foreach obj,$(obj-y),$(obj)-install)
106 # Basic rules
109 all: clean-build libc $(obj-y) kernel
112 kernel: $(LINUXDIR)/.config
113 @$(SEP)
115 @if ! grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
116 $(MAKE) -C $(LINUXDIR) zImage ; \
118 if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \
119 $(MAKE) -C $(LINUXDIR) modules ; \
123 kmod: dummy
124 $(MAKE) -C $(LINUXDIR) modules
126 fooit:
127 @../btools/libfoo.pl
129 install package: $(obj-install) $(LINUXDIR)/.config
130 @$(SEP)
132 install -d $(TARGETDIR)
135 # kernel modules
136 $(MAKE) -C $(LINUXDIR) modules_install DEPMOD=/bin/true INSTALL_MOD_PATH=$(TARGETDIR)
137 ##!!TB find $(TARGETDIR)/lib/modules -name *.o -exec mipsel-linux-strip --strip-unneeded {} \;
138 ##!!TB - do not strip ftp nat/conntrack, imq, scsi_mod and loop kernel modules (needed to keep parameters)
139 find $(TARGETDIR)/lib/modules ! \( -name imq.o -prune \) ! \( -name *ftp.o -prune \) ! \( -name scsi_mod.o -prune \) ! \( -name loop.o -prune \) -a -name *.o -exec mipsel-linux-strip --strip-unneeded {} \;
141 -cd $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/net && mv diag/* . && rm -rf diag
143 # nice and clean
144 -cd $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/net && mv et.4702/* . && rm -rf et.4702 || true
145 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/net && mv et/* . && rm -rf et
146 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/net && mv wl/* . && rm -rf wl
147 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv cifs/* . && rm -rf cifs
148 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv jffs2/* . && rm -rf jffs2 || true
149 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv jffs/* . && rm -rf jffs || true
150 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/lib && mv zlib_inflate/* . && rm -rf zlib_inflate
151 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/lib && mv zlib_deflate/* . && rm -rf zlib_deflate
152 rm -rf $(TARGETDIR)/lib/modules/2.4.20/pcmcia
154 ##!!TB
155 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv ext2/* . && rm -rf ext2 || true
156 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv ext3/* . && rm -rf ext3 || true
157 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv jbd/* . && rm -rf jbd || true
158 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv fat/* . && rm -rf fat || true
159 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv vfat/* . && rm -rf vfat || true
160 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv ntfs/* . && rm -rf ntfs || true
161 ifneq ($(TCONFIG_SAMBASRV),y)
162 rm -rf $(TARGETDIR)/lib/modules/2.4.20/kernel/fs/nls || true
163 endif
164 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/fs && mv nls/* . && rm -rf nls || true
165 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/usb && mv hcd/* . && rm -rf hcd || true
166 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/usb && mv host/* . && rm -rf host || true
167 cd $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/usb && mv storage/* . && rm -rf storage || true
169 # misc
170 for dir in $(wildcard $(patsubst %,$(INSTALLDIR)/%,$(obj-y))) ; do \
171 (cd $${dir} && tar cpf - .) | (cd $(TARGETDIR) && tar xpf -) \
172 done
174 ifneq ($(TCONFIG_JFFS2),y)
175 rm -f $(TARGETDIR)/lib/modules/2.4.20/kernel/fs/jffs2.o || true
176 rm -f $(TARGETDIR)/lib/modules/2.4.20/kernel/fs/jffs.o || true
177 rm -rf $(TARGETDIR)/lib/modules/2.4.20/kernel/lib/zlib_*
178 endif
180 ifneq ($(TCONFIG_CIFS),y)
181 rm -f $(TARGETDIR)/lib/modules/2.4.20/kernel/fs/cifs.o
182 endif
184 ifneq ($(TCONFIG_L7),y)
185 rm -f $(TARGETDIR)/lib/modules/2.4.20/kernel/net/ipv4/netfilter/ipt_layer7.o
186 rm -f $(TARGETDIR)/usr/lib/iptables/libipt_layer7.so
187 endif
189 # uClibc
190 install $(LIBDIR)/ld-uClibc.so.0 $(TARGETDIR)/lib/
191 install $(LIBDIR)/libcrypt.so.0 $(TARGETDIR)/lib/
192 install $(LIBDIR)/libc.so.0 $(TARGETDIR)/lib/
193 install $(LIBDIR)/libdl.so.0 $(TARGETDIR)/lib/
194 install $(LIBDIR)/libm.so.0 $(TARGETDIR)/lib/
195 ifeq ($(TCONFIG_SSH),y)
196 # libutil is not used when excluding SSH, and libfoo.pl goes into
197 # an infinite loop if it is included. So only include it when using SSH.
198 install $(LIBDIR)/libutil.so.0 $(TARGETDIR)/lib/
199 endif
200 install $(LIBDIR)/libnsl.so.0 $(TARGETDIR)/lib/
202 @cd $(TARGETDIR) && $(TOP)/others/rootprep.sh
204 @echo ---
205 busybox/examples/depmod.pl -k $(LINUXDIR)/vmlinux -b $(TARGETDIR)/lib/modules/2.4.20/
206 @echo ---
208 @rm -f $(TARGETDIR)/lib/modules/2.4.20/build
210 @../btools/libfoo.pl
211 @chmod 0555 $(TARGETDIR)/lib/*.so*
213 # separated extra stuff
214 # !!TB - moved to run after libfoo.pl - to make sure shared libs include all symbols needed by extras
215 @rm -rf $(PLATFORMDIR)/extras
216 @mkdir $(PLATFORMDIR)/extras
217 @mv $(TARGETDIR)/lib/modules/2.4.20/kernel/net/ipv4/ip_gre.o $(PLATFORMDIR)/extras/
218 @mv $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/net/tun.o $(PLATFORMDIR)/extras/
219 #!!TB
220 @mv $(TARGETDIR)/lib/modules/2.4.20/kernel/fs/ntfs.o $(PLATFORMDIR)/extras/ || true
221 @mv $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/usb/scanner.o $(PLATFORMDIR)/extras/ || true
222 ifneq ($(TCONFIG_USB_EXTRAS),y)
223 @mv $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/block/loop.o $(PLATFORMDIR)/extras/ || true
224 @rm -rf $(TARGETDIR)/lib/modules/2.4.20/kernel/drivers/block || true
225 endif
227 @mkdir -p $(TARGETDIR)/rom/etc/l7-protocols
228 ifeq ($(TCONFIG_L7PAT),y)
229 @cd layer7 && ./squish.sh
230 cp layer7/squished/*.pat $(TARGETDIR)/rom/etc/l7-protocols
231 endif
233 @$(MAKE) -C $(SRCBASE)/linux/linux/scripts/squashfs mksquashfs-lzma
234 @$(SRCBASE)/linux/linux/scripts/squashfs/mksquashfs-lzma $(TARGETDIR) $(PLATFORMDIR)/target.image | tee target.info
236 # Package kernel and filesystem
237 # if grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
238 # cp $(PLATFORMDIR)/target.image $(LINUXDIR)/arch/mips/ramdisk/$${CONFIG_EMBEDDED_RAMDISK_IMAGE} ; \
239 # $(MAKE) -C $(LINUXDIR) zImage ; \
240 # else \
241 # cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/vmlinuz $(PLATFORMDIR)/ ; \
242 # trx -o $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image ; \
243 # fi
245 # Pad self-booting Linux to a 64 KB boundary
246 # cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/zImage $(PLATFORMDIR)/
247 # dd conv=sync bs=64k < $(PLATFORMDIR)/zImage > $(PLATFORMDIR)/linux.bin
248 # Append filesystem to self-booting Linux
249 # cat $(PLATFORMDIR)/target.image >> $(PLATFORMDIR)/linux.bin
252 libc: $(LIBDIR)/ld-uClibc.so.0
253 $(MAKE) -C ../../../tools-src/uClibc all
254 $(MAKE) -C ../../../tools-src/uClibc install
258 # cleaners
261 clean: clean-build $(obj-clean)
262 rm -rf layer7/squished
263 make -C config clean
265 clean-build: dummy
266 rm -rf $(TARGETDIR)
267 rm -rf $(INSTALLDIR)
268 rm -f $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image
269 rm -rf $(PLATFORMDIR)/extras
271 distclean: clean
272 ifneq ($(INSIDE_MAK),1)
273 $(MAKE) -C .. $@ INSIDE_MAK=1
274 endif
275 -rm -f $(LIBDIR)/*.so.0 $(LIBDIR)/*.so
278 # configuration
281 CONFIG_IN := config/config.in
283 config/conf config/mconf:
284 @$(MAKE) -C config
286 rconf: config/conf
287 @config/conf $(CONFIG_IN)
289 rmconf: config/mconf
290 @config/mconf $(CONFIG_IN)
292 roldconf: config/conf
293 @config/conf -o $(CONFIG_IN)
295 kconf:
296 @$(MAKE) -C $(LINUXDIR) config
298 kmconf:
299 @$(MAKE) -C $(LINUXDIR) menuconfig
301 koldconf:
302 @$(MAKE) -C $(LINUXDIR) oldconfig
304 config conf: rconf kconf
306 menuconfig mconf: rmconf kmconf
308 oldconfig oldconf: roldconf koldconf
312 # overrides and extra dependencies
315 busybox: dummy
316 $(MAKE) -C busybox
317 # V=1
319 busybox-install:
320 rm -rf $(INSTALLDIR)/busybox
321 $(MAKE) -C busybox install CONFIG_PREFIX=$(INSTALLDIR)/busybox
323 busybox-test: dummy
324 $(MAKE) -C busybox objsizes CFLAGS="-Os"
326 # 1.2:
327 # busybox: busybox/include/bb_config.h
328 # @$(MAKE) -C busybox CROSS_CFLAGS="-mips2"
329 # busybox/include/bb_config.h:
330 # @$(MAKE) -C busybox oldconfig
331 # @$(MAKE) -C busybox clean
332 # busybox-install:
333 # rm -rf $(INSTALLDIR)/busybox
334 # $(MAKE) -C busybox install PREFIX=$(INSTALLDIR)/busybox
336 httpd: matrixssl shared nvram mssl
337 @$(SEP)
338 @$(MAKE) -C httpd
341 matrixssl:
342 @$(SEP)
343 @$(MAKE) -C matrixssl/src
345 matrixssl-install:
346 @true
348 matrixssl-clean:
349 $(MAKE) -C matrixssl/src clean
352 openssl-install:
353 install -D openssl/libcrypto.so $(INSTALLDIR)/openssl/usr/lib/libcrypto.so
354 $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libcrypto.so
356 install -D -m 500 openssl/apps/openssl $(INSTALLDIR)/openssl/usr/sbin/openssl
357 $(STRIP) $(INSTALLDIR)/openssl/usr/sbin/openssl
359 install -D -m 0500 httpd/gencert.sh $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
361 # perl -e 'while (<>) { s/.SECS/time()-(24*60*60)/e; print; }' < httpd/gencert.sh > $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
362 # chmod 0500 $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
364 ifeq ($(TCONFIG_FTP_SSL),y)
365 # !!TB
366 install -D openssl/libssl.so $(INSTALLDIR)/openssl/usr/lib/libssl.so
367 $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libssl.so
368 endif
370 mssl: matrixssl
372 mdu: shared mssl
374 rc: nvram shared
377 bridge:
378 @$(SEP)
379 @$(MAKE) -C bridge brctl/brctl
381 bridge-install:
382 install -D bridge/brctl/brctl $(INSTALLDIR)/bridge/usr/sbin/brctl
383 $(STRIP) $(INSTALLDIR)/bridge/usr/sbin/brctl
386 dnsmasq-install:
387 install -D dnsmasq/src/dnsmasq $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
388 $(STRIP) $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
390 iptables:
391 @$(SEP)
392 $(MAKE) -C iptables BINDIR=/usr/sbin LIBDIR=/usr/lib KERNEL_DIR=$(LINUXDIR)
394 iptables-install:
395 install -D iptables/iptables $(INSTALLDIR)/iptables/usr/sbin/iptables
396 cd $(INSTALLDIR)/iptables/usr/sbin && \
397 ln -sf iptables iptables-restore
399 install -d $(INSTALLDIR)/iptables/usr/lib/iptables
400 install -D iptables/extensions/*.so $(INSTALLDIR)/iptables/usr/lib/iptables/
402 install -D iptables/libiptc.so $(INSTALLDIR)/iptables/usr/lib/libiptc.so
404 $(STRIP) $(INSTALLDIR)/iptables/usr/sbin/iptables
405 $(STRIP) $(INSTALLDIR)/iptables/usr/lib/iptables/*.so
406 $(STRIP) $(INSTALLDIR)/iptables/usr/lib/libiptc.so
408 iptables-clean:
409 -$(MAKE) -C iptables KERNEL_DIR=$(LINUXDIR) clean
411 ppp:
412 @$(SEP)
413 $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp
414 # $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp DFLAGS="-DDEBUG -DDEBUGALL"
416 ppp-%:
417 $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp
421 upnp: nvram shared iptables
423 # miniupnpd-install:
424 # install -D miniupnpd/miniupnpd $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
425 # $(STRIP) $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
427 nvram: shared
429 # !!TB
430 p910nd: shared
431 sendmail: shared
432 samba: shared
433 miniupnpd: iptables
435 shared: busybox
437 # !!TB
438 vsftpd: shared openssl
439 @$(SEP)
440 $(MAKE) -C vsftpd
442 vsftpd-install:
443 install -D vsftpd/vsftpd $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
444 $(STRIP) -s $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
446 vlan:
447 @$(SEP)
448 @$(MAKE) -C vlan CROSS=$(CROSS_COMPILE) # STRIPTOOL=$(STRIP)
450 vlan-install:
451 $(MAKE) -C vlan CROSS=$(CROSS_COMPILE) INSTALLDIR=$(INSTALLDIR) install # STRIPTOOL=$(STRIP)
452 $(STRIP) $(INSTALLDIR)/vlan/usr/sbin/vconfig
455 pptp-client-install:
456 install -D pptp-client/pptp $(INSTALLDIR)/pptp-client/usr/sbin/pptp
457 $(STRIP) $(INSTALLDIR)/pptp-client/usr/sbin/pptp
460 pppd:
461 @$(SEP)
462 @$(MAKE) -C pppd/pppd
464 pppd-clean:
465 $(MAKE) -C pppd/pppd clean
467 pppd-install:
468 install -D pppd/pppd/pppd $(INSTALLDIR)/pppd/usr/sbin/pppd
469 $(STRIP) $(INSTALLDIR)/pppd/usr/sbin/pppd
471 # ipupdate-install:
472 # install -D ipupdate/ez-ipupdate $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
473 # $(STRIP) $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
476 zebra:
477 @$(SEP)
478 @$(MAKE) -C zebra CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
480 zebra-install:
481 install -D zebra/zebra/zebra $(INSTALLDIR)/zebra/usr/sbin/zebra
482 install -D zebra/ripd/ripd $(INSTALLDIR)/zebra/usr/sbin/ripd
483 install -D zebra/lib/libzebra.so $(INSTALLDIR)/zebra/usr/lib/libzebra.so
484 $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/zebra
485 $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/ripd
486 $(STRIP) $(INSTALLDIR)/zebra/usr/lib/libzebra.so
489 rp-l2tp-install:
490 install -d $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
491 install rp-l2tp/handlers/*.so $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
492 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp/*.so
493 install -D rp-l2tp/handlers/l2tp-control $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
494 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
495 install -D rp-l2tp/l2tpd $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
496 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
499 bpalogin-install:
500 install -D bpalogin/bpalogin $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
501 $(STRIP) $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
504 # libnet:
505 # @$(SEP)
506 # @-mkdir -p libnet/lib
507 # @$(MAKE) -C libnet CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
509 # libpcap:
510 # @$(SEP)
511 # @$(MAKE) -C libpcap CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
513 libbcm:
514 @[ ! -f libbcm/Makefile ] || $(MAKE) -C libbcm
516 libbcm-install:
517 install -D libbcm/libbcm.so $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
518 $(STRIP) $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
521 iproute2-install:
522 install -D iproute2/tc/tc $(INSTALLDIR)/iproute2/usr/sbin/tc
523 $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/tc
524 install -D iproute2/ip/ip $(INSTALLDIR)/iproute2/usr/sbin/ip
525 $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/ip
528 ntpc: nvram shared
531 dropbear: dropbear/config.h
532 @$(SEP)
533 @make -C dropbear PROGRAMS="dropbear dbclient dropbearkey scp" MULTI=1
535 dropbear-install:
536 install -D dropbear/dropbearmulti $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
537 $(STRIP) $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
538 cd $(INSTALLDIR)/dropbear/usr/bin && \
539 ln -sf dropbearmulti dropbear && \
540 ln -sf dropbearmulti dropbearconvert && \
541 ln -sf dropbearmulti dropbearkey && \
542 ln -sf dropbearmulti dbclient && \
543 ln -sf dropbearmulti ssh && \
544 ln -sf dropbearmulti scp
546 dropbear-clean:
547 @make -C dropbear clean
549 dropbear/config.h:
550 cd dropbear && CFLAGS="-O2 -Wall" ac_cv_func_logout=no ac_cv_func_logwtmp=no ./configure --host=mipsel-linux --disable-zlib --enable-syslog --disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx --disable-pututline --disable-pututxline --disable-loginfunc --disable-largefile
551 make -C dropbear clean
554 ebtables: dummy
555 @make -C ebtables
557 ebtables-install: dummy
558 install -D ebtables/ebtables $(INSTALLDIR)/ebtables/usr/sbin/ebtables
560 mkdir -p $(INSTALLDIR)/ebtables/usr/lib/
561 cp ebtables/*.so $(INSTALLDIR)/ebtables/usr/lib/
562 cp ebtables/extensions/*.so $(INSTALLDIR)/ebtables/usr/lib/
564 ebtables-clean:
565 make -C ebtables clean
568 # Generic rules
572 @[ ! -d $* ] || ( $(SEP); $(MAKE) -C $* )
575 %-clean:
576 @-[ ! -d $* ] || $(MAKE) -C $* clean
578 %-install:
579 @[ ! -d $* ] || $(MAKE) -C $* install INSTALLDIR=$(INSTALLDIR)/$*
581 %-build:
582 $(MAKE) $*-clean $*
584 $(obj-y) $(obj-n) $(obj-clean) $(obj-install): dummy
586 .PHONY: all clean distclean mrproper install package
587 .PHONY: conf mconf oldconf kconf kmconf config menuconfig oldconfig
588 .PHONY: dummy libnet libpcap