Merge branch 'tomato-ND-usbmod-base' into tomato-ND-USBmod
[tomato.git] / release / src / router / Makefile
blobf757f8d2b36f7177df9bd23b2dd20009e300c772
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
16 # TOMATO_EXPERIMENTAL=1
21 SEP=echo "\033[41;1m $@ \033[0m"
24 # standard packages
26 obj-y += nvram
27 obj-y += shared
28 obj-y += prebuilt
29 obj-y += igmpproxy
30 obj-y += iptables
31 obj-y += rc
32 obj-y += iproute2
33 obj-y += rom
34 obj-y += others
35 obj-y += busybox
36 obj-y += httpd
37 obj-y += www
38 obj-y += bridge
39 obj-y += dnsmasq
40 obj-y += etc
41 obj-y += vlan
42 obj-y += ppp
43 obj-y += ttcp
44 obj-y += ntpc
45 obj-y += rstats
47 # !!TB - updated Broadcom Wireless driver
48 obj-y += et
49 obj-y += libbcmcrypto
50 obj-y += wlconf
52 obj-y += mssl
53 obj-y += mdu
55 # !!TB
56 obj-$(TCONFIG_USB) += p910nd
57 obj-$(TCONFIG_USB) += scsi-idle
58 obj-$(TCONFIG_USB) += libusb10
59 obj-$(TCONFIG_USB) += libusb
60 obj-$(TCONFIG_USB) += usbmodeswitch
61 #obj-y += sendmail
62 obj-$(TCONFIG_FTP) += vsftpd
63 obj-$(TCONFIG_SAMBASRV) += samba
64 obj-$(TCONFIG_USB_EXTRAS) += mkdosfs
65 obj-$(TCONFIG_NTFS) += ntfs-3g
67 obj-y += miniupnpd
68 # obj-y += upnp
72 # configurable packages
74 obj-$(TCONFIG_L2TP) += rp-l2tp
75 obj-$(TCONFIG_PPTP) += pptp-client
76 obj-$(TCONFIG_HTTPS) += openssl
77 obj-$(TCONFIG_HTTPS) += matrixssl
78 obj-$(TCONFIG_SSH) += dropbear
79 obj-$(TCONFIG_ZEBRA) += zebra
80 # obj-$(TCONFIG_IPP2P) += ipp2p
82 ifeq ($(TCONFIG_L2TP),y)
83 NEED_PPPD = y
84 endif
85 ifeq ($(TCONFIG_PPTP),y)
86 NEED_PPPD = y
87 endif
88 obj-$(NEED_PPPD) += pppd
91 obj-clean := $(foreach obj, $(obj-y) $(obj-n) $(obj-), $(obj)-clean)
92 obj-install := $(foreach obj,$(obj-y),$(obj)-install)
97 # Basic rules
100 all: clean-build libc $(obj-y) kernel
103 kernel: $(LINUXDIR)/.config
104 @$(SEP)
106 @if ! grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
107 $(MAKE) -C $(LINUXDIR) zImage ; \
109 if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \
110 $(MAKE) -C $(LINUXDIR) modules ; \
114 kmod: dummy
115 $(MAKE) -C $(LINUXDIR) modules
117 testfind:
118 cd $(TARGETDIR)/lib/modules/* && find -name "*.o" -exec mv -i {} . \; || true
119 cd $(TARGETDIR)/lib/modules/* && find -type d -delete || true
121 install package: $(obj-install) $(LINUXDIR)/.config
122 @$(SEP)
124 install -d $(TARGETDIR)
127 # kernel modules
128 $(MAKE) -C $(LINUXDIR) modules_install DEPMOD=/bin/true INSTALL_MOD_PATH=$(TARGETDIR)
129 ##!!TB find $(TARGETDIR)/lib/modules -name *.o -exec mipsel-linux-strip --strip-unneeded {} \;
130 find $(TARGETDIR)/lib/modules -name *.o -exec $(STRIP) --strip-debug {} \;
132 -cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv diag/* . && rm -rf diag
134 # nice and clean
135 -cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv et.4702/* . && rm -rf et.4702 || true
136 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv et/* . && rm -rf et
137 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv wl/* . && rm -rf wl
138 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv cifs/* . && rm -rf cifs
139 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jffs2/* . && rm -rf jffs2 || true
140 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jffs/* . && rm -rf jffs || true
141 cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv zlib_inflate/* . && rm -rf zlib_inflate || true
142 cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv zlib_deflate/* . && rm -rf zlib_deflate || true
143 rm -rf $(TARGETDIR)/lib/modules/*/pcmcia
145 ##!!TB
146 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ext2/* . && rm -rf ext2 || true
147 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ext3/* . && rm -rf ext3 || true
148 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jbd/* . && rm -rf jbd || true
149 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv fat/* . && rm -rf fat || true
150 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv vfat/* . && rm -rf vfat || true
151 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv fuse/* . && rm -rf fuse || true
152 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ntfs/* . && rm -rf ntfs || true
153 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv smbfs/* . && rm -rf smbfs || true
154 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv reiserfs/* . && rm -rf reiserfs || true
155 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv hfsplus/* . && rm -rf hfsplus || true
156 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv lockd/* . && rm -rf lockd || true
157 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nfsd/* . && rm -rf nfsd || true
158 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nfs/* . && rm -rf nfs || true
159 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv xfs/* . && rm -rf xfs || true
160 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nls/* . && rm -rf nls || true
161 cd $(TARGETDIR)/lib/modules/*/kernel/net && mv sunrpc/* . && rm -rf sunrpc || true
162 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv hcd/* . && rm -rf hcd || true
163 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv host/* . && rm -rf host || true
164 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv storage/* . && rm -rf storage || true
165 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv serial/* . && rm -rf serial || true
166 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media && mv video/* . && rm -rf video || true
168 # misc
169 for dir in $(wildcard $(patsubst %,$(INSTALLDIR)/%,$(obj-y))) ; do \
170 (cd $${dir} && tar cpf - .) | (cd $(TARGETDIR) && tar xpf -) \
171 done
173 ifneq ($(TCONFIG_JFFS2),y)
174 rm -f $(TARGETDIR)/lib/modules/*/kernel/fs/jffs2.o || true
175 rm -f $(TARGETDIR)/lib/modules/*/kernel/fs/jffs.o || true
176 rm -rf $(TARGETDIR)/lib/modules/*/kernel/lib/zlib_* || true
177 endif
179 ifneq ($(TCONFIG_CIFS),y)
180 rm -f $(TARGETDIR)/lib/modules/*/kernel/fs/cifs.o
181 endif
183 ifneq ($(TCONFIG_L7),y)
184 rm -f $(TARGETDIR)/lib/modules/*/kernel/net/ipv4/netfilter/ipt_layer7.o
185 rm -f $(TARGETDIR)/usr/lib/iptables/libipt_layer7.so
186 endif
188 # uClibc
189 install $(LIBDIR)/ld-uClibc.so.0 $(TARGETDIR)/lib/
190 install $(LIBDIR)/libcrypt.so.0 $(TARGETDIR)/lib/
191 install $(LIBDIR)/libpthread.so.0 $(TARGETDIR)/lib/
192 install $(LIBDIR)/libgcc_s.so.1 $(TARGETDIR)/lib/
193 $(STRIP) $(TARGETDIR)/lib/libgcc_s.so.1
194 install $(LIBDIR)/libc.so.0 $(TARGETDIR)/lib/
195 install $(LIBDIR)/libdl.so.0 $(TARGETDIR)/lib/
196 install $(LIBDIR)/libm.so.0 $(TARGETDIR)/lib/
197 install $(LIBDIR)/libnsl.so.0 $(TARGETDIR)/lib/
198 ifeq ($(TCONFIG_SSH),y)
199 install $(LIBDIR)/libutil.so.0 $(TARGETDIR)/lib/
200 endif
202 @cd $(TARGETDIR) && $(TOP)/others/rootprep.sh
204 @echo ---
205 busybox/examples/depmod-t.pl -k $(LINUXDIR)/vmlinux -b $(TARGETDIR)/lib/modules/*/
206 @mv $(TARGETDIR)/lib/modules/*/modules.dep $(TARGETDIR)/lib/modules/
207 @echo ---
209 @rm -f $(TARGETDIR)/lib/modules/*/build
211 @../btools/libfoo.pl
212 @chmod 0555 $(TARGETDIR)/lib/*.so*
213 @chmod 0555 $(TARGETDIR)/usr/lib/*.so*
215 # !!TB - moved to run after libfoo.pl - to make sure shared libs include all symbols needed by extras
216 # separated extra stuff
217 @rm -rf $(PLATFORMDIR)/extras
218 @mkdir $(PLATFORMDIR)/extras
219 @mv $(TARGETDIR)/lib/modules/*/kernel/net/ipv4/ip_gre.o $(PLATFORMDIR)/extras/
220 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/tun.o $(PLATFORMDIR)/extras/
222 #!!TB
223 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/ntfs.o $(PLATFORMDIR)/extras/ || true
224 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/smbfs.o $(PLATFORMDIR)/extras/ || true
225 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/reiserfs.o $(PLATFORMDIR)/extras/ || true
226 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/hfsplus.o $(PLATFORMDIR)/extras/ || true
227 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nfs.o $(PLATFORMDIR)/extras/ || true
228 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nfsd.o $(PLATFORMDIR)/extras/ || true
229 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/lockd.o $(PLATFORMDIR)/extras/ || true
230 @mv $(TARGETDIR)/lib/modules/*/kernel/net/sunrpc.o $(PLATFORMDIR)/extras/ || true
231 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/xfs.o $(PLATFORMDIR)/extras/ || true
232 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/scanner.o $(PLATFORMDIR)/extras/ || true
233 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbserial.o $(PLATFORMDIR)/extras/ || true
234 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ftdi_sio.o $(PLATFORMDIR)/extras/ || true
235 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/option.o $(PLATFORMDIR)/extras/ || true
236 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/pl2303.o $(PLATFORMDIR)/extras/ || true
237 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/sierra.o $(PLATFORMDIR)/extras/ || true
238 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/acm.o $(PLATFORMDIR)/extras/ || true
239 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ipw.o $(PLATFORMDIR)/extras/ || true
240 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/audio.o $(PLATFORMDIR)/extras/ || true
241 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ov51*.o $(PLATFORMDIR)/extras/ || true
242 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/pwc*.o $(PLATFORMDIR)/extras/ || true
243 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/media/*.o $(PLATFORMDIR)/extras/ || true
244 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/media || true
245 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/sound/*.o $(PLATFORMDIR)/extras/ || true
246 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/sound || true
248 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ppp_mppe_mppc.o $(PLATFORMDIR)/extras/ || true
249 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ppp_deflate.o $(PLATFORMDIR)/extras/ || true
250 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/pptp.o $(PLATFORMDIR)/extras/
251 @mkdir -p $(PLATFORMDIR)/extras/crypto
252 @mv $(TARGETDIR)/lib/modules/*/kernel/crypto/*.o $(PLATFORMDIR)/extras/crypto/ || true
253 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/crypto || true
254 @mv $(TARGETDIR)/lib/modules/*/kernel/lib/*.o $(PLATFORMDIR)/extras/ || true
255 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/lib || true
256 ifneq ($(TCONFIG_SAMBASRV),y)
257 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nls_*.o $(PLATFORMDIR)/extras/ || true
258 endif
259 ifneq ($(TCONFIG_USB),y)
260 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/*.o $(PLATFORMDIR)/extras/ || true
261 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/usb || true
262 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi/*.o $(PLATFORMDIR)/extras/ || true
263 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi || true
264 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/ext2.o $(PLATFORMDIR)/extras/ || true
265 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/ext3.o $(PLATFORMDIR)/extras/ || true
266 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/jbd.o $(PLATFORMDIR)/extras/ || true
267 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/fat.o $(PLATFORMDIR)/extras/ || true
268 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/vfat.o $(PLATFORMDIR)/extras/ || true
269 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/fuse.o $(PLATFORMDIR)/extras/ || true
270 endif
271 ifneq ($(TCONFIG_USB_EXTRAS),y)
272 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/block/loop.o $(PLATFORMDIR)/extras/ || true
273 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/block || true
274 endif
275 @mkdir -p $(PLATFORMDIR)/extras/lib
276 @mv $(TARGETDIR)/usr/lib/libusb* $(PLATFORMDIR)/extras/lib/ || true
277 @mkdir -p $(PLATFORMDIR)/extras/apps
278 @mv $(TARGETDIR)/usr/sbin/usb_modeswitch $(PLATFORMDIR)/extras/apps/ || true
279 @cp usbmodeswitch/usb_modeswitch.conf $(PLATFORMDIR)/extras/apps/usb_modeswitch.conf || true
281 @mkdir -p $(TARGETDIR)/rom/etc/l7-protocols
282 ifeq ($(TCONFIG_L7PAT),y)
283 @cd layer7 && ./squish.sh
284 cp layer7/squished/*.pat $(TARGETDIR)/rom/etc/l7-protocols
285 endif
287 @$(MAKE) -C $(LINUXDIR)/scripts/squashfs mksquashfs-lzma
288 @$(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(TARGETDIR) $(PLATFORMDIR)/target.image | tee target.info
290 # Package kernel and filesystem
291 # if grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
292 # cp $(PLATFORMDIR)/target.image $(LINUXDIR)/arch/mips/ramdisk/$${CONFIG_EMBEDDED_RAMDISK_IMAGE} ; \
293 # $(MAKE) -C $(LINUXDIR) zImage ; \
294 # else \
295 # cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/vmlinuz $(PLATFORMDIR)/ ; \
296 # trx -o $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image ; \
297 # fi
299 # Pad self-booting Linux to a 64 KB boundary
300 # cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/zImage $(PLATFORMDIR)/
301 # dd conv=sync bs=64k < $(PLATFORMDIR)/zImage > $(PLATFORMDIR)/linux.bin
302 # Append filesystem to self-booting Linux
303 # cat $(PLATFORMDIR)/target.image >> $(PLATFORMDIR)/linux.bin
306 libc: $(LIBDIR)/ld-uClibc.so.0
307 # $(MAKE) -C ../../../tools-src/uClibc all
308 # $(MAKE) -C ../../../tools-src/uClibc install
312 # cleaners
315 clean: clean-build $(obj-clean)
316 rm -rf layer7/squished
317 make -C config clean
319 clean-build: dummy
320 rm -rf $(TARGETDIR)
321 rm -rf $(INSTALLDIR)
322 rm -f $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image
323 rm -rf $(PLATFORMDIR)/extras
325 distclean: clean
326 ifneq ($(INSIDE_MAK),1)
327 $(MAKE) -C .. $@ INSIDE_MAK=1
328 endif
329 -rm -f $(LIBDIR)/*.so.0 $(LIBDIR)/*.so
332 # configuration
335 CONFIG_IN := config/config.in
337 config/conf config/mconf:
338 @$(MAKE) -C config
340 rconf: config/conf
341 @config/conf $(CONFIG_IN)
343 rmconf: config/mconf
344 @config/mconf $(CONFIG_IN)
346 roldconf: config/conf
347 @config/conf -o $(CONFIG_IN)
349 kconf:
350 @$(MAKE) -C $(LINUXDIR) config
352 kmconf:
353 @$(MAKE) -C $(LINUXDIR) menuconfig
355 koldconf:
356 @$(MAKE) -C $(LINUXDIR) oldconfig
358 config conf: rconf kconf
360 menuconfig mconf: rmconf kmconf
362 oldconfig oldconf: roldconf koldconf
366 # overrides and extra dependencies
369 busybox: dummy
370 @$(MAKE) -C busybox
372 # V=1
374 busybox-install:
375 rm -rf $(INSTALLDIR)/busybox
376 $(MAKE) -C busybox install CONFIG_PREFIX=$(INSTALLDIR)/busybox
378 busybox-clean:
379 $(MAKE) -C busybox distclean
381 busybox-config:
382 $(MAKE) -C busybox menuconfig
384 busybox-test: dummy
385 $(MAKE) -C busybox objsizes CFLAGS="-Os"
388 httpd: matrixssl shared nvram mssl
389 @$(SEP)
390 @$(MAKE) -C httpd
392 www-install:
393 @$(MAKE) -C www install INSTALLDIR=$(INSTALLDIR)/www TOMATO_EXPERIMENTAL=$(TOMATO_EXPERIMENTAL)
395 matrixssl:
396 @$(SEP)
397 @$(MAKE) -C matrixssl/src
399 matrixssl-install:
400 @true
402 matrixssl-clean:
403 $(MAKE) -C matrixssl/src clean
406 openssl-install:
407 install -D openssl/libcrypto.so $(INSTALLDIR)/openssl/usr/lib/libcrypto.so
408 $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libcrypto.so
410 install -D openssl/apps/openssl $(INSTALLDIR)/openssl/usr/sbin/openssl
411 $(STRIP) $(INSTALLDIR)/openssl/usr/sbin/openssl
412 chmod 0500 $(INSTALLDIR)/openssl/usr/sbin/openssl
414 install -D -m 0500 httpd/gencert.sh $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
416 # perl -e 'while (<>) { s/.SECS/time()-(24*60*60)/e; print; }' < httpd/gencert.sh > $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
417 # chmod 0500 $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
419 ifeq ($(TCONFIG_FTP_SSL),y)
420 # !!TB
421 install -D openssl/libssl.so $(INSTALLDIR)/openssl/usr/lib/libssl.so
422 $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libssl.so
423 endif
425 mssl: matrixssl
427 mdu: shared mssl
429 rc: nvram shared
432 bridge:
433 @$(SEP)
434 @$(MAKE) -C bridge brctl/brctl
436 bridge-install:
437 install -D bridge/brctl/brctl $(INSTALLDIR)/bridge/usr/sbin/brctl
438 $(STRIP) $(INSTALLDIR)/bridge/usr/sbin/brctl
440 dnsmasq:
441 @$(SEP)
442 @$(MAKE) -C dnsmasq COPTS="-DNO_IPV6 -DNO_SCRIPT"
444 dnsmasq-install:
445 install -D dnsmasq/src/dnsmasq $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
446 $(STRIP) $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
448 iptables:
449 @$(SEP)
450 $(MAKE) -C iptables BINDIR=/usr/sbin LIBDIR=/usr/lib KERNEL_DIR=$(LINUXDIR)
452 iptables-install:
453 install -D iptables/iptables $(INSTALLDIR)/iptables/usr/sbin/iptables
454 cd $(INSTALLDIR)/iptables/usr/sbin && \
455 ln -sf iptables iptables-restore
457 install -d $(INSTALLDIR)/iptables/usr/lib/iptables
458 install -D iptables/extensions/*.so $(INSTALLDIR)/iptables/usr/lib/iptables/
460 install -D iptables/libiptc.so $(INSTALLDIR)/iptables/usr/lib/libiptc.so
462 $(STRIP) $(INSTALLDIR)/iptables/usr/sbin/iptables
463 $(STRIP) $(INSTALLDIR)/iptables/usr/lib/iptables/*.so
464 $(STRIP) $(INSTALLDIR)/iptables/usr/lib/libiptc.so
466 iptables-clean:
467 -$(MAKE) -C iptables KERNEL_DIR=$(LINUXDIR) clean
469 ppp:
470 @$(SEP)
471 $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp
472 # $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp DFLAGS="-DDEBUG -DDEBUGALL"
474 ppp-%:
475 $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp
478 upnp: nvram shared iptables
480 miniupnpd: iptables
481 @$(SEP)
482 $(MAKE) -C miniupnpd -f Makefile.tomato
484 miniupnpd-clean:
485 -$(MAKE) -C miniupnpd -f Makefile.tomato clean
487 miniupnpd-install:
488 install -D miniupnpd/miniupnpd $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
489 $(STRIP) $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
491 # !!TB
492 shared: busybox
494 vsftpd: shared openssl
495 @$(SEP)
496 $(MAKE) -C vsftpd
498 vsftpd-install:
499 install -D vsftpd/vsftpd $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
500 $(STRIP) -s $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
502 ntfs-3g/Makefile:
503 cd ntfs-3g && \
504 CC=$(CC) CFLAGS="-g -Os" $(CONFIGURE) --host=mipsel-linux --enable-shared=no --enable-static=no \
505 --disable-library --disable-ldconfig --disable-mount-helper --with-fuse=internal
507 ntfs-3g: ntfs-3g/Makefile
508 @$(MAKE) -C ntfs-3g CFLAGS="-g -Os -Wall"
510 ntfs-3g-clean:
511 @$(MAKE) -C ntfs-3g clean || true
513 ntfs-3g-install: ntfs-3g
514 install -D ntfs-3g/src/ntfs-3g $(INSTALLDIR)/ntfs-3g/bin/ntfs-3g
515 $(STRIP) -s $(INSTALLDIR)/ntfs-3g/bin/ntfs-3g
516 install -d $(INSTALLDIR)/ntfs-3g/sbin && cd $(INSTALLDIR)/ntfs-3g/sbin && \
517 ln -sf ../bin/ntfs-3g mount.ntfs-3g
519 libusb10/Makefile: libusb10/Makefile.in
520 cd libusb10 && CFLAGS="-O2 -Wall" \
521 $(CONFIGURE) --host=mipsel-linux --prefix=/usr ac_cv_lib_rt_clock_gettime=no
523 libusb10: libusb10/Makefile
524 $(MAKE) -C $@
526 libusb10-install: libusb10
527 install -D libusb10/libusb/.libs/libusb-1.0.so.0.0.0 $(INSTALLDIR)/libusb10/usr/lib/libusb-1.0.so.0
528 $(STRIP) $(INSTALLDIR)/libusb10/usr/lib/*.so.*
529 cd $(INSTALLDIR)/libusb10/usr/lib && \
530 ln -sf libusb-1.0.so.0 libusb-1.0.so.0.0.0 && \
531 ln -sf libusb-1.0.so.0 libusb-1.0.so
533 libusb/Makefile: libusb/Makefile.in
534 cd libusb && CFLAGS="-Wall -Os" \
535 $(CONFIGURE) --host=mipsel-linux --prefix=/usr \
536 LIBUSB_1_0_CFLAGS="-I$(TOP)/libusb10/libusb" \
537 LIBUSB_1_0_LIBS="-L$(TOP)/libusb10/libusb/.libs -lusb-1.0 \
538 -Wl,-R/usr/lib:/opt/usr/lib:/usr/local/share"
540 libusb: libusb10 libusb/Makefile
541 $(MAKE) -C $@
543 libusb-install: libusb
544 install -D libusb/libusb/.libs/libusb-0.1.so.4.4.4 $(INSTALLDIR)/libusb/usr/lib/libusb-0.1.so.4
545 $(STRIP) $(INSTALLDIR)/libusb/usr/lib/*.so.*
546 cd $(INSTALLDIR)/libusb/usr/lib && \
547 ln -sf libusb-0.1.so.4 libusb-0.1.so.4.4.4 && \
548 ln -sf libusb-0.1.so.4 libusb.so
550 usbmodeswitch: libusb
551 $(MAKE) -C $@ CC=$(CC) CCFLAGS="-Wall -Os \
552 -Wl,-R/usr/lib:/opt/usr/lib:/usr/local/share \
553 -I$(TOP)/libusb10/libusb -L$(TOP)/libusb10/libusb/.libs -lusb-1.0 \
554 -I$(TOP)/libusb/libusb -L$(TOP)/libusb/libusb/.libs -lusb"
556 usbmodeswitch-install:
557 install -D usbmodeswitch/usb_modeswitch $(INSTALLDIR)/usbmodeswitch/usr/sbin/usb_modeswitch
558 $(STRIP) -s $(INSTALLDIR)/usbmodeswitch/usr/sbin/usb_modeswitch
560 p910nd:
561 sendmail:
562 samba:
564 nvram: shared
566 prebuilt: shared
568 vlan:
569 @$(SEP)
570 @$(MAKE) -C vlan CROSS=$(CROSS_COMPILE) # STRIPTOOL=$(STRIP)
572 vlan-install:
573 $(MAKE) -C vlan CROSS=$(CROSS_COMPILE) INSTALLDIR=$(INSTALLDIR) install # STRIPTOOL=$(STRIP)
574 $(STRIP) $(INSTALLDIR)/vlan/usr/sbin/vconfig
577 pptp-client-install:
578 install -D pptp-client/pptp $(INSTALLDIR)/pptp-client/usr/sbin/pptp
579 $(STRIP) $(INSTALLDIR)/pptp-client/usr/sbin/pptp
582 pppd:
583 @$(SEP)
584 @$(MAKE) -C pppd/pppd
586 pppd-clean:
587 $(MAKE) -C pppd/pppd clean
589 pppd-install:
590 install -D pppd/pppd/pppd $(INSTALLDIR)/pppd/usr/sbin/pppd
591 $(STRIP) $(INSTALLDIR)/pppd/usr/sbin/pppd
593 # ipupdate-install:
594 # install -D ipupdate/ez-ipupdate $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
595 # $(STRIP) $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
598 zebra:
599 @$(SEP)
600 cd zebra && rm -f config.cache && CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) CFLAGS="-Os -Wall" $(CONFIGURE) \
601 --host=mipsel-linux --sysconfdir=/etc \
602 --enable-netlink --disable-ipv6 --disable-ripngd --disable-ospfd --disable-doc \
603 --disable-ospf6d --disable-bgpd --disable-bgpd-announce
604 @$(MAKE) -C zebra CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD)
606 zebra-install:
607 install -D zebra/zebra/zebra $(INSTALLDIR)/zebra/usr/sbin/zebra
608 install -D zebra/ripd/ripd $(INSTALLDIR)/zebra/usr/sbin/ripd
609 install -D zebra/lib/libzebra.so $(INSTALLDIR)/zebra/usr/lib/libzebra.so
610 $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/zebra
611 $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/ripd
612 $(STRIP) $(INSTALLDIR)/zebra/usr/lib/libzebra.so
615 rp-l2tp-install:
616 install -d $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
617 install rp-l2tp/handlers/*.so $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
618 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp/*.so
619 install -D rp-l2tp/handlers/l2tp-control $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
620 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
621 install -D rp-l2tp/l2tpd $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
622 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
625 bpalogin-install:
626 install -D bpalogin/bpalogin $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
627 $(STRIP) $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
630 # libnet:
631 # @$(SEP)
632 # @-mkdir -p libnet/lib
633 # @$(MAKE) -C libnet CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
635 # libpcap:
636 # @$(SEP)
637 # @$(MAKE) -C libpcap CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
639 libbcm:
640 @[ ! -f libbcm/Makefile ] || $(MAKE) -C libbcm
642 libbcm-install:
643 install -D libbcm/libbcm.so $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
644 $(STRIP) $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
647 iproute2-install:
648 install -D iproute2/tc/tc $(INSTALLDIR)/iproute2/usr/sbin/tc
649 $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/tc
650 install -D iproute2/ip/ip $(INSTALLDIR)/iproute2/usr/sbin/ip
651 $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/ip
654 ntpc: nvram shared
657 dropbear: dropbear/config.h
658 @$(SEP)
659 @make -C dropbear PROGRAMS="dropbear dbclient dropbearkey scp" MULTI=1
661 dropbear-install:
662 install -D dropbear/dropbearmulti $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
663 $(STRIP) $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
664 cd $(INSTALLDIR)/dropbear/usr/bin && \
665 ln -sf dropbearmulti dropbear && \
666 ln -sf dropbearmulti dropbearconvert && \
667 ln -sf dropbearmulti dropbearkey && \
668 ln -sf dropbearmulti dbclient && \
669 ln -sf dropbearmulti ssh && \
670 ln -sf dropbearmulti scp
672 dropbear-clean:
673 @make -C dropbear clean
675 dropbear/config.h:
676 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
677 make -C dropbear clean
679 igmpproxy/src/Makefile: igmpproxy/src/Makefile.in
680 cd igmpproxy && CFLAGS="-O2 -Wall" \
681 $(CONFIGURE) --prefix=/usr
683 igmpproxy: igmpproxy/src/Makefile
684 @$(SEP)
685 @$(MAKE) -C igmpproxy/src
687 igmpproxy-install:
688 install -D igmpproxy/src/igmpproxy $(INSTALLDIR)/igmpproxy/usr/sbin/igmpproxy
689 $(STRIP) $(INSTALLDIR)/igmpproxy/usr/sbin/igmpproxy
691 igmpproxy-clean:
692 $(MAKE) -C igmpproxy/src clean
693 rm -f igmpproxy/src/Makefile
696 ebtables: dummy
697 @make -C ebtables
699 ebtables-install: dummy
700 install -D ebtables/ebtables $(INSTALLDIR)/ebtables/usr/sbin/ebtables
702 mkdir -p $(INSTALLDIR)/ebtables/usr/lib/
703 cp ebtables/*.so $(INSTALLDIR)/ebtables/usr/lib/
704 cp ebtables/extensions/*.so $(INSTALLDIR)/ebtables/usr/lib/
706 ebtables-clean:
707 make -C ebtables clean
710 # Generic rules
714 @[ ! -d $* ] || ( $(SEP); $(MAKE) -C $* )
717 %-clean:
718 @-[ ! -d $* ] || $(MAKE) -C $* clean
720 %-install:
721 @[ ! -d $* ] || $(MAKE) -C $* install INSTALLDIR=$(INSTALLDIR)/$*
723 %-build:
724 $(MAKE) $*-clean $*
726 $(obj-y) $(obj-n) $(obj-clean) $(obj-install): dummy
728 .PHONY: all clean distclean mrproper install package
729 .PHONY: conf mconf oldconf kconf kmconf config menuconfig oldconfig
730 .PHONY: dummy libnet libpcap