MiniDLNA 1.0.22: cvs 2011-08-25
[tomato.git] / release / src / router / Makefile
blobf5a78230ec1546d5c2abc43104e41df364e7417e
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=0
21 SEP=echo "\033[41;1m $@ \033[0m"
24 # standard packages
26 obj-y += lzma-loader
27 obj-y += nvram
28 obj-y += shared
29 obj-y += prebuilt
30 obj-y += igmpproxy
31 obj-y += iptables
32 obj-y += rc
33 obj-y += iproute2
34 obj-y += rom
35 obj-y += others
36 obj-y += busybox
37 obj-y += httpd
38 obj-y += www
39 obj-y += bridge
40 obj-y += dnsmasq
41 obj-y += etc
42 # obj-y += vlan # use Busybox vconfig
43 obj-y += ppp
44 obj-y += ttcp
45 obj-y += ntpc
46 obj-y += rstats
48 # !!TB - updated Broadcom Wireless driver
49 obj-y += et
50 obj-y += libbcmcrypto
51 obj-y += wlconf
53 obj-y += mssl
54 obj-y += mdu
56 # !!TB
57 obj-$(TCONFIG_USB) += p910nd
58 obj-$(TCONFIG_USB) += scsi-idle
59 obj-$(TCONFIG_USB) += libusb10
60 obj-$(TCONFIG_USB) += libusb
61 obj-$(TCONFIG_USB) += usbmodeswitch
62 #obj-y += sendmail
63 obj-$(TCONFIG_FTP) += vsftpd
64 ifeq ($(CONFIG_LINUX26),y)
65 ifeq ($(TCONFIG_SAMBASRV),y)
66 NEED_EX_NLS = y
67 endif
68 endif
69 ifeq ($(TCONFIG_SAMBASRV),y)
70 ifeq ($(TCONFIG_SAMBA3),y)
71 NEED_SAMBA3 = y
72 else
73 NEED_SAMBA2 = y
74 endif
75 endif
76 obj-$(NEED_SAMBA2) += samba
77 obj-$(NEED_SAMBA3) += samba3
78 obj-$(TCONFIG_NTFS) += ntfs-3g
79 obj-$(TCONFIG_EBTABLES) += ebtables
81 obj-$(TCONFIG_MEDIA_SERVER) += zlib
82 obj-$(TCONFIG_MEDIA_SERVER) += sqlite
83 obj-$(TCONFIG_MEDIA_SERVER) += ffmpeg
84 obj-$(TCONFIG_MEDIA_SERVER) += libogg
85 obj-$(TCONFIG_MEDIA_SERVER) += flac
86 obj-$(TCONFIG_MEDIA_SERVER) += jpeg
87 obj-$(TCONFIG_MEDIA_SERVER) += libexif
88 obj-$(TCONFIG_MEDIA_SERVER) += libid3tag
89 obj-$(TCONFIG_MEDIA_SERVER) += libvorbis
91 obj-y += miniupnpd
92 # obj-y += upnp
96 # configurable packages
98 obj-$(TCONFIG_L2TP) += rp-l2tp
99 #obj-$(TCONFIG_PPTP) += pptp-client
100 obj-$(TCONFIG_PPTP) += accel-pptp
101 obj-$(TCONFIG_HTTPS) += openssl
102 obj-$(TCONFIG_HTTPS) += matrixssl
103 obj-$(TCONFIG_SSH) += dropbear
104 obj-$(TCONFIG_ZEBRA) += zebra
105 # obj-$(TCONFIG_IPP2P) += ipp2p
106 obj-$(TCONFIG_LZO) += lzo
107 obj-$(TCONFIG_OPENVPN) += openvpn
109 ifeq ($(TCONFIG_L2TP),y)
110 NEED_PPPD = y
111 endif
112 ifeq ($(TCONFIG_PPTP),y)
113 NEED_PPPD = y
114 endif
115 obj-$(NEED_PPPD) += pppd
117 obj-$(CONFIG_LINUX26) += hotplug2
118 obj-$(CONFIG_LINUX26) += udev
119 obj-$(__CONFIG_BCMWL5) += emf
120 obj-$(__CONFIG_BCMWL5) += igs
122 obj-clean := $(foreach obj, $(obj-y) $(obj-n) $(obj-), $(obj)-clean)
123 obj-install := $(foreach obj,$(obj-y),$(obj)-install)
128 # Basic rules
131 all: clean-build libc $(obj-y) kernel
134 kernel: $(LINUXDIR)/.config
135 @$(SEP)
137 @if ! grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
138 $(MAKE) -C $(LINUXDIR) zImage CC=$(KERNELCC); \
140 if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \
141 $(MAKE) -C $(LINUXDIR) modules CC=$(KERNELCC); \
143 ifeq ($(CONFIG_LINUX26),y)
144 $(MAKE) -C $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed srctree=$(LINUXDIR)
145 endif
148 lzma-loader:
149 $(MAKE) -C $(SRCBASE)/lzma-loader CROSS_COMPILE=$(CROSS_COMPILE) LD=$(LD)
151 lzma-loader-install: lzma-loader
152 @$(SEP)
155 kmod: dummy
156 $(MAKE) -C $(LINUXDIR) modules
158 testfind:
159 cd $(TARGETDIR)/lib/modules/* && find -name "*.o" -exec mv -i {} . \; || true
160 cd $(TARGETDIR)/lib/modules/* && find -type d -delete || true
162 install package: $(obj-install) $(LINUXDIR)/.config
163 @$(SEP)
165 install -d $(TARGETDIR)
168 # kernel modules
169 $(MAKE) -C $(LINUXDIR) modules_install DEPMOD=/bin/true INSTALL_MOD_PATH=$(TARGETDIR)
170 ##!!TB find $(TARGETDIR)/lib/modules -name *.o -exec mipsel-linux-strip --strip-unneeded {} \;
171 find $(TARGETDIR)/lib/modules -name *.o -exec $(STRIP) --strip-debug {} \;
172 find $(TARGETDIR)/lib/modules -name *.ko -exec $(STRIP) --strip-debug {} \;
174 -cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv diag/* . && rm -rf diag
176 # nice and clean
177 -cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv et.4702/* . && rm -rf et.4702 || true
178 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv et/* . && rm -rf et
179 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv wl/* . && rm -rf wl
180 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv cifs/* . && rm -rf cifs
181 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jffs2/* . && rm -rf jffs2 || true
182 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jffs/* . && rm -rf jffs || true
183 cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv zlib_inflate/* . && rm -rf zlib_inflate || true
184 cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv zlib_deflate/* . && rm -rf zlib_deflate || true
185 cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv lzo/* . && rm -rf lzo || true
186 rm -rf $(TARGETDIR)/lib/modules/*/pcmcia
188 ##!!TB
189 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ext2/* . && rm -rf ext2 || true
190 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ext3/* . && rm -rf ext3 || true
191 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jbd/* . && rm -rf jbd || true
192 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv fat/* . && rm -rf fat || true
193 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv vfat/* . && rm -rf vfat || true
194 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv msdos/* . && rm -rf msdos || true
195 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv fuse/* . && rm -rf fuse || true
196 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ntfs/* . && rm -rf ntfs || true
197 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv smbfs/* . && rm -rf smbfs || true
198 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv reiserfs/* . && rm -rf reiserfs || true
199 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv hfsplus/* . && rm -rf hfsplus || true
200 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv lockd/* . && rm -rf lockd || true
201 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nfsd/* . && rm -rf nfsd || true
202 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nfs/* . && rm -rf nfs || true
203 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv xfs/* . && rm -rf xfs || true
204 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nls/* . && rm -rf nls || true
205 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv exportfs/* . && rm -rf exportfs || true
206 cd $(TARGETDIR)/lib/modules/*/kernel/net && mv sunrpc/* . && rm -rf sunrpc || true
207 cd $(TARGETDIR)/lib/modules/*/kernel/net && mv auth_gss/* . && rm -rf auth_gss || true
208 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv hcd/* . && rm -rf hcd || true
209 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv host/* . && rm -rf host || true
210 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv storage/* . && rm -rf storage || true
211 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv serial/* . && rm -rf serial || true
212 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv core/* . && rm -rf core || true
213 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv class/* . && rm -rf class || true
214 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv misc/* . && rm -rf misc || true
215 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media && mv video/* . && rm -rf video || true
217 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv bcm57xx/* . && rm -rf bcm57xx || true
218 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv emf/* . && rm -rf emf || true
219 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv igs/* . && rm -rf igs || true
220 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv ctf/* . && rm -rf ctf || true
221 cd $(TARGETDIR)/lib/modules && rm -f */source || true
223 # misc
224 for dir in $(wildcard $(patsubst %,$(INSTALLDIR)/%,$(obj-y))) ; do \
225 (cd $${dir} && tar cpf - .) | (cd $(TARGETDIR) && tar xpf -) \
226 done
228 ifneq ($(TCONFIG_JFFS2),y)
229 rm -f $(TARGETDIR)/lib/modules/*/kernel/fs/jffs2.*o || true
230 rm -f $(TARGETDIR)/lib/modules/*/kernel/fs/jffs.*o || true
231 ifneq ($(CONFIG_LINUX26),y)
232 rm -rf $(TARGETDIR)/lib/modules/*/kernel/lib/zlib_* || true
233 endif
234 endif
236 ifneq ($(TCONFIG_CIFS),y)
237 rm -f $(TARGETDIR)/lib/modules/*/kernel/fs/cifs.*o
238 endif
240 ifneq ($(TCONFIG_L7),y)
241 rm -f $(TARGETDIR)/lib/modules/*/kernel/net/ipv4/netfilter/ipt_layer7.*o
242 rm -f $(TARGETDIR)/usr/lib/iptables/libipt_layer7.so
243 endif
245 # uClibc
246 install $(LIBDIR)/ld-uClibc.so.0 $(TARGETDIR)/lib/
247 install $(LIBDIR)/libcrypt.so.0 $(TARGETDIR)/lib/
248 install $(LIBDIR)/libpthread.so.0 $(TARGETDIR)/lib/
249 install $(LIBDIR)/libgcc_s.so.1 $(TARGETDIR)/lib/
250 $(STRIP) $(TARGETDIR)/lib/libgcc_s.so.1
251 install $(LIBDIR)/libc.so.0 $(TARGETDIR)/lib/
252 install $(LIBDIR)/libdl.so.0 $(TARGETDIR)/lib/
253 install $(LIBDIR)/libm.so.0 $(TARGETDIR)/lib/
254 install $(LIBDIR)/libnsl.so.0 $(TARGETDIR)/lib/
255 ifeq ($(TCONFIG_SSH),y)
256 install $(LIBDIR)/libutil.so.0 $(TARGETDIR)/lib/
257 endif
258 ifneq ($(TCONFIG_OPTIMIZE_SHARED_LIBS),y)
259 install $(LIBDIR)/libresolv.so.0 $(TARGETDIR)/lib/
260 $(STRIP) $(TARGETDIR)/lib/*.so.0
261 endif
263 @cd $(TARGETDIR) && $(TOP)/others/rootprep.sh
265 @echo ---
267 ifeq ($(TCONFIG_OPTIMIZE_SHARED_LIBS),y)
268 @../btools/libfoo.pl
269 else
270 @../btools/libfoo.pl --noopt
271 endif
272 @chmod 0555 $(TARGETDIR)/lib/*.so*
273 @chmod 0555 $(TARGETDIR)/usr/lib/*.so*
275 # !!TB - moved to run after libfoo.pl - to make sure shared libs include all symbols needed by extras
276 # separated extra stuff
277 @rm -rf $(PLATFORMDIR)/extras
278 @mkdir $(PLATFORMDIR)/extras
279 @mv $(TARGETDIR)/lib/modules/*/kernel/net/ipv4/ip_gre.*o $(PLATFORMDIR)/extras/ || true
280 ifneq ($(TCONFIG_OPENVPN),y)
281 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/tun.*o $(PLATFORMDIR)/extras/ || true
282 endif
284 #!!TB
285 ifneq ($(TCONFIG_EBTABLES),y)
286 @mv $(TARGETDIR)/lib/modules/*/kernel/net/bridge/netfilter/ebt*.*o $(PLATFORMDIR)/extras/ || true
287 endif
288 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ifb.*o $(PLATFORMDIR)/extras/ || true
289 @mv $(TARGETDIR)/lib/modules/*/kernel/net/sched/sch_red.*o $(PLATFORMDIR)/extras/ || true
290 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/ntfs.*o $(PLATFORMDIR)/extras/ || true
291 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/smbfs.*o $(PLATFORMDIR)/extras/ || true
292 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/reiserfs.*o $(PLATFORMDIR)/extras/ || true
293 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/hfsplus.*o $(PLATFORMDIR)/extras/ || true
294 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nfs.*o $(PLATFORMDIR)/extras/ || true
295 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nfsd.*o $(PLATFORMDIR)/extras/ || true
296 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/lockd.*o $(PLATFORMDIR)/extras/ || true
297 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/exportfs.*o $(PLATFORMDIR)/extras/ || true
298 @mv $(TARGETDIR)/lib/modules/*/kernel/net/sunrpc.*o $(PLATFORMDIR)/extras/ || true
299 @mv $(TARGETDIR)/lib/modules/*/kernel/net/auth_rpcgss.*o $(PLATFORMDIR)/extras/ || true
300 @mv $(TARGETDIR)/lib/modules/*/kernel/net/rpcsec_gss_krb5.*o $(PLATFORMDIR)/extras/ || true
301 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/xfs.*o $(PLATFORMDIR)/extras/ || true
302 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi/sr_mod.*o $(PLATFORMDIR)/extras/ || true
303 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/scanner.*o $(PLATFORMDIR)/extras/ || true
304 ifneq ($(CONFIG_LINUX26),y)
305 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbserial.*o $(PLATFORMDIR)/extras/ || true
306 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/option.*o $(PLATFORMDIR)/extras/ || true
307 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/sierra.*o $(PLATFORMDIR)/extras/ || true
308 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/*acm.*o $(PLATFORMDIR)/extras/ || true
309 endif
310 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ftdi_sio.*o $(PLATFORMDIR)/extras/ || true
311 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/pl2303.*o $(PLATFORMDIR)/extras/ || true
312 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ipw.*o $(PLATFORMDIR)/extras/ || true
313 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/audio.*o $(PLATFORMDIR)/extras/ || true
314 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ov51*.*o $(PLATFORMDIR)/extras/ || true
315 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/pwc*.*o $(PLATFORMDIR)/extras/ || true
316 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/emi*.*o $(PLATFORMDIR)/extras/ || true
317 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/media/* $(PLATFORMDIR)/extras/ || true
318 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/media || true
319 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/sound/* $(PLATFORMDIR)/extras/ || true
320 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/sound || true
321 @mv $(TARGETDIR)/lib/modules/*/kernel/sound/* $(PLATFORMDIR)/extras/ || true
322 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/sound || true
324 ifneq ($(TCONFIG_PPTP),y)
325 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/pptp.*o $(PLATFORMDIR)/extras/ || true
326 endif
327 ifneq ($(TCONFIG_L2TP),y)
328 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/pppol2tp.*o $(PLATFORMDIR)/extras/ || true
329 endif
330 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ppp_mppe*.*o $(PLATFORMDIR)/extras/ || true
331 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ppp_deflate.*o $(PLATFORMDIR)/extras/ || true
332 @mkdir -p $(PLATFORMDIR)/extras/crypto
333 @mv $(TARGETDIR)/lib/modules/*/kernel/crypto/* $(PLATFORMDIR)/extras/crypto/ || true
334 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/crypto || true
335 ifneq ($(CONFIG_LINUX26),y)
336 @mv $(TARGETDIR)/lib/modules/*/kernel/lib/* $(PLATFORMDIR)/extras/ || true
337 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/lib || true
338 endif
339 ifneq ($(TCONFIG_USB),y)
340 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nls_*.*o $(PLATFORMDIR)/extras/ || true
341 endif
342 ifneq ($(NEED_EX_NLS),y)
343 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nls_cp9*.*o $(PLATFORMDIR)/extras/ || true
344 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nls_cp1251.*o $(PLATFORMDIR)/extras/ || true
345 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nls_euc-jp.*o $(PLATFORMDIR)/extras/ || true
346 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nls_sjis.*o $(PLATFORMDIR)/extras/ || true
347 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nls_gb2312.*o $(PLATFORMDIR)/extras/ || true
348 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nls_euc-kr.*o $(PLATFORMDIR)/extras/ || true
349 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nls_big5.*o $(PLATFORMDIR)/extras/ || true
350 endif
351 ifneq ($(TCONFIG_USB),y)
352 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/*.*o $(PLATFORMDIR)/extras/ || true
353 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/usb || true
354 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi/*.*o $(PLATFORMDIR)/extras/ || true
355 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi || true
356 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/ext2.*o $(PLATFORMDIR)/extras/ || true
357 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/ext3.*o $(PLATFORMDIR)/extras/ || true
358 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/jbd.*o $(PLATFORMDIR)/extras/ || true
359 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/fat.*o $(PLATFORMDIR)/extras/ || true
360 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/vfat.*o $(PLATFORMDIR)/extras/ || true
361 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/msdos.*o $(PLATFORMDIR)/extras/ || true
362 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/fuse.*o $(PLATFORMDIR)/extras/ || true
363 endif
364 ifneq ($(TCONFIG_USB_EXTRAS),y)
365 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/block/loop.*o $(PLATFORMDIR)/extras/ || true
366 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/block || true
367 endif
369 ifneq ($(CONFIG_LINUX26),y)
370 @mkdir -p $(PLATFORMDIR)/extras/lib
371 @mv $(TARGETDIR)/usr/lib/libusb* $(PLATFORMDIR)/extras/lib/ || true
372 @mkdir -p $(PLATFORMDIR)/extras/apps
373 @mv $(TARGETDIR)/usr/sbin/usb_modeswitch $(PLATFORMDIR)/extras/apps/ || true
374 @cp usbmodeswitch/usb_modeswitch.conf $(PLATFORMDIR)/extras/apps/usb_modeswitch.conf || true
375 @cp usbmodeswitch/usb_modeswitch.setup $(PLATFORMDIR)/extras/apps/usb_modeswitch.setup || true
376 endif
378 @mkdir -p $(TARGETDIR)/rom/etc/l7-protocols
379 ifeq ($(TCONFIG_L7PAT),y)
380 @cd layer7 && ./squish.sh
381 cp layer7/squished/*.pat $(TARGETDIR)/rom/etc/l7-protocols
382 endif
384 busybox/examples/depmod.pl -k $(LINUXDIR)/vmlinux -b $(TARGETDIR)/lib/modules/*/
385 @mv $(TARGETDIR)/lib/modules/*/modules.dep $(TARGETDIR)/lib/modules/
386 @echo ---
388 @rm -f $(TARGETDIR)/lib/modules/*/build
390 @$(MAKE) -C $(LINUXDIR)/scripts/squashfs mksquashfs-lzma
391 @$(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(TARGETDIR) $(PLATFORMDIR)/target.image -all-root -noappend -nopad | tee target.info
393 # Package kernel and filesystem
394 # if grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
395 # cp $(PLATFORMDIR)/target.image $(LINUXDIR)/arch/mips/ramdisk/$${CONFIG_EMBEDDED_RAMDISK_IMAGE} ; \
396 # $(MAKE) -C $(LINUXDIR) zImage ; \
397 # else \
398 # cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/vmlinuz $(PLATFORMDIR)/ ; \
399 # trx -o $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image ; \
400 # fi
402 # Pad self-booting Linux to a 64 KB boundary
403 # cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/zImage $(PLATFORMDIR)/
404 # dd conv=sync bs=64k < $(PLATFORMDIR)/zImage > $(PLATFORMDIR)/linux.bin
405 # Append filesystem to self-booting Linux
406 # cat $(PLATFORMDIR)/target.image >> $(PLATFORMDIR)/linux.bin
409 libc: $(LIBDIR)/ld-uClibc.so.0
410 # $(MAKE) -C ../../../tools-src/uClibc all
411 # $(MAKE) -C ../../../tools-src/uClibc install
415 # cleaners
418 clean: clean-build $(obj-clean)
419 rm -rf layer7/squished
420 make -C config clean
422 clean-build: dummy
423 rm -rf $(TARGETDIR)
424 rm -rf $(INSTALLDIR)
425 rm -f $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image
426 rm -rf $(PLATFORMDIR)/extras
428 distclean: clean
429 ifneq ($(INSIDE_MAK),1)
430 $(MAKE) -C .. $@ INSIDE_MAK=1
431 endif
432 # -rm -f $(LIBDIR)/*.so.0 $(LIBDIR)/*.so
435 # configuration
438 CONFIG_IN := config/config.in
440 config/conf config/mconf:
441 @$(MAKE) -C config
443 rconf: config/conf
444 @config/conf $(CONFIG_IN)
446 rmconf: config/mconf
447 @config/mconf $(CONFIG_IN)
449 roldconf: config/conf
450 @config/conf -o $(CONFIG_IN)
451 @$(MAKE) shared-clean rc-clean nvram-clean httpd-clean openssl-clean
453 kconf:
454 @$(MAKE) -C $(LINUXDIR) config
456 kmconf:
457 @$(MAKE) -C $(LINUXDIR) menuconfig
459 koldconf:
460 @$(MAKE) -C $(LINUXDIR) oldconfig
461 @$(MAKE) -C $(LINUXDIR) include/linux/version.h
463 bboldconf:
464 @$(MAKE) -C busybox oldconfig
466 config conf: rconf kconf
468 menuconfig mconf: rmconf kmconf
470 oldconfig oldconf: koldconf roldconf bboldconf
474 # overrides and extra dependencies
477 busybox: dummy
478 @$(MAKE) -C busybox CFLAGS_busybox="$(EXTRACFLAGS)"
480 # V=1
482 busybox-install:
483 rm -rf $(INSTALLDIR)/busybox
484 $(MAKE) -C busybox install CONFIG_PREFIX=$(INSTALLDIR)/busybox
486 busybox-clean:
487 $(MAKE) -C busybox distclean
489 busybox-config:
490 $(MAKE) -C busybox menuconfig
493 httpd: matrixssl shared nvram mssl
494 @$(SEP)
495 @$(MAKE) -C httpd
497 www-install:
498 @$(MAKE) -C www install INSTALLDIR=$(INSTALLDIR)/www TOMATO_EXPERIMENTAL=$(TOMATO_EXPERIMENTAL)
500 matrixssl:
501 @$(SEP)
502 @$(MAKE) -C matrixssl/src
504 matrixssl-install:
505 @true
507 matrixssl-clean:
508 $(MAKE) -C matrixssl/src clean
510 openssl/stamp-h1:
511 ifeq ($(TCONFIG_OPENVPN),y)
512 cd openssl && \
513 CC=$(CC) && ./Configure linux-mipsel
514 else
515 cd openssl && \
516 CC=$(CC) && ./Configure linux-mipsel no-aes no-idea no-md2 no-mdc2 no-rc5
517 endif
518 @$(MAKE) -C openssl clean
519 @touch openssl/stamp-h1
521 openssl: openssl/stamp-h1
523 openssl-clean:
524 -@$(MAKE) -C openssl clean
525 @rm -f openssl/stamp-h1
527 openssl-install: openssl
528 install -D openssl/libcrypto.so $(INSTALLDIR)/openssl/usr/lib/libcrypto.so
529 $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libcrypto.so
531 install -D openssl/apps/openssl $(INSTALLDIR)/openssl/usr/sbin/openssl
532 $(STRIP) $(INSTALLDIR)/openssl/usr/sbin/openssl
533 chmod 0500 $(INSTALLDIR)/openssl/usr/sbin/openssl
535 install -D -m 0500 httpd/gencert.sh $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
537 # perl -e 'while (<>) { s/.SECS/time()-(24*60*60)/e; print; }' < httpd/gencert.sh > $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
538 # chmod 0500 $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
540 ifeq ($(TCONFIG_FTP_SSL),y)
541 # !!TB
542 install -D openssl/libssl.so $(INSTALLDIR)/openssl/usr/lib/libssl.so
543 $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libssl.so
544 endif
546 ifeq ($(TCONFIG_OPENVPN),y)
547 install -D openssl/libssl.so $(INSTALLDIR)/openssl/usr/lib/libssl.so
548 $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libssl.so
549 endif
551 mssl: matrixssl
553 mdu: shared mssl
555 rc: nvram shared
557 bridge/Makefile:
558 cd bridge && CFLAGS="-Os -g $(EXTRACFLAGS)" \
559 $(CONFIGURE) --prefix="" --with-linux-headers=$(LINUXDIR)/include
561 bridge: bridge/Makefile
562 @$(SEP)
563 @$(MAKE) -C bridge
565 bridge-clean:
566 -@$(MAKE) -C bridge clean
567 @rm -f bridge/Makefile
569 bridge-install:
570 install -D bridge/brctl/brctl $(INSTALLDIR)/bridge/usr/sbin/brctl
571 $(STRIP) $(INSTALLDIR)/bridge/usr/sbin/brctl
573 dnsmasq:
574 @$(SEP)
575 @$(MAKE) -C dnsmasq COPTS="-DNO_IPV6 -DNO_SCRIPT $(EXTRACFLAGS)"
577 dnsmasq-install:
578 install -D dnsmasq/src/dnsmasq $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
579 $(STRIP) $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
581 iptables:
582 @$(SEP)
583 $(MAKE) -C iptables BINDIR=/usr/sbin LIBDIR=/usr/lib KERNEL_DIR=$(LINUXDIR) COPT_FLAGS="-Os $(EXTRACFLAGS)"
585 iptables-install:
586 install -D iptables/iptables $(INSTALLDIR)/iptables/usr/sbin/iptables
587 cd $(INSTALLDIR)/iptables/usr/sbin && \
588 ln -sf iptables iptables-restore
590 install -d $(INSTALLDIR)/iptables/usr/lib/iptables
591 install -D iptables/extensions/*.so $(INSTALLDIR)/iptables/usr/lib/iptables/
593 install -D iptables/libiptc.so $(INSTALLDIR)/iptables/usr/lib/libiptc.so
595 $(STRIP) $(INSTALLDIR)/iptables/usr/sbin/iptables
596 $(STRIP) $(INSTALLDIR)/iptables/usr/lib/iptables/*.so
597 $(STRIP) $(INSTALLDIR)/iptables/usr/lib/libiptc.so
599 iptables-clean:
600 -$(MAKE) -C iptables KERNEL_DIR=$(LINUXDIR) clean
602 ppp:
603 @$(SEP)
604 $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp
605 # $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp DFLAGS="-DDEBUG -DDEBUGALL"
607 ppp-%:
608 $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp
611 upnp: nvram shared iptables
613 miniupnpd: iptables
614 @$(SEP)
615 $(MAKE) -C miniupnpd -f Makefile.tomato
617 miniupnpd-clean:
618 -$(MAKE) -C miniupnpd -f Makefile.tomato clean
620 miniupnpd-install:
621 install -D miniupnpd/miniupnpd $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
622 $(STRIP) $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
624 # !!TB
625 shared: busybox
627 vsftpd: shared openssl
628 @$(SEP)
629 $(MAKE) -C vsftpd
631 vsftpd-install:
632 install -D vsftpd/vsftpd $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
633 $(STRIP) -s $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
635 ntfs-3g/Makefile:
636 cd ntfs-3g && \
637 CC=$(CC) CFLAGS="-Os $(EXTRACFLAGS)" $(CONFIGURE) --enable-shared=no --enable-static=no \
638 --disable-library --disable-ldconfig --disable-mount-helper --with-fuse=internal \
639 --disable-posix-acls --disable-nfconv --disable-dependency-tracking
641 ntfs-3g: ntfs-3g/Makefile
642 @$(MAKE) -C ntfs-3g CFLAGS="-Os -Wall $(EXTRACFLAGS)"
644 ntfs-3g-clean:
645 -@$(MAKE) -C ntfs-3g clean
646 @rm -f ntfs-3g/Makefile
648 ntfs-3g-install: ntfs-3g
649 install -D ntfs-3g/src/ntfs-3g $(INSTALLDIR)/ntfs-3g/bin/ntfs-3g
650 $(STRIP) -s $(INSTALLDIR)/ntfs-3g/bin/ntfs-3g
651 install -d $(INSTALLDIR)/ntfs-3g/sbin && cd $(INSTALLDIR)/ntfs-3g/sbin && \
652 ln -sf ../bin/ntfs-3g mount.ntfs-3g && \
653 ln -sf ../bin/ntfs-3g mount.ntfs
655 libusb10/Makefile: libusb10/Makefile.in
656 cd libusb10 && CFLAGS="-Os -Wall $(EXTRACFLAGS)" LIBS="-lpthread" \
657 $(CONFIGURE) --prefix=/usr ac_cv_lib_rt_clock_gettime=no
659 libusb10: libusb10/Makefile
660 $(MAKE) -C $@
662 libusb10-install: libusb10
663 install -D libusb10/libusb/.libs/libusb-1.0.so.0.0.0 $(INSTALLDIR)/libusb10/usr/lib/libusb-1.0.so.0
664 $(STRIP) $(INSTALLDIR)/libusb10/usr/lib/*.so.*
665 cd $(INSTALLDIR)/libusb10/usr/lib && \
666 ln -sf libusb-1.0.so.0 libusb-1.0.so.0.0.0 && \
667 ln -sf libusb-1.0.so.0 libusb-1.0.so
669 libusb/Makefile: libusb/Makefile.in
670 cd libusb && CFLAGS="-Wall -Os $(EXTRACFLAGS)" \
671 $(CONFIGURE) --prefix=/usr \
672 LIBUSB_1_0_CFLAGS="-I$(TOP)/libusb10/libusb" \
673 LIBUSB_1_0_LIBS="-L$(TOP)/libusb10/libusb/.libs -lusb-1.0 -lpthread \
674 -Wl,-R/lib:/usr/lib:/opt/usr/lib:/usr/local/share"
676 libusb: libusb10 libusb/Makefile
677 $(MAKE) -C $@
679 libusb-install: libusb
680 install -D libusb/libusb/.libs/libusb-0.1.so.4.4.4 $(INSTALLDIR)/libusb/usr/lib/libusb-0.1.so.4
681 $(STRIP) $(INSTALLDIR)/libusb/usr/lib/*.so.*
682 cd $(INSTALLDIR)/libusb/usr/lib && \
683 ln -sf libusb-0.1.so.4 libusb-0.1.so.4.4.4 && \
684 ln -sf libusb-0.1.so.4 libusb.so
686 usbmodeswitch: libusb
687 $(MAKE) -C $@ CC=$(CC) CFLAGS="-Os $(EXTRACFLAGS) \
688 -Wl,-R/lib:/usr/lib:/opt/usr/lib:/usr/local/share \
689 -I$(TOP)/libusb10/libusb -L$(TOP)/libusb10/libusb/.libs -lusb-1.0 \
690 -I$(TOP)/libusb/libusb -L$(TOP)/libusb/libusb/.libs -lusb -lpthread"
692 usbmodeswitchdb-install:
693 @mkdir -p $(TARGETDIR)/rom/etc/usb_modeswitch.d
694 # compress whitespace
695 @for D in $(wildcard $(TOP)/usbmodeswitch/data/usb_modeswitch.d/*); do \
696 F=`basename $$D`; \
697 sed 's/###.*//g;s/[ \t]\+/ /g;s/^[ \t]*//;s/[ \t]*$$//;/^$$/d' < $$D > $(TARGETDIR)/rom/etc/usb_modeswitch.d/$$F; \
698 done
700 usbmodeswitch-install: usbmodeswitch usbmodeswitchdb-install
701 install -D usbmodeswitch/usb_modeswitch $(INSTALLDIR)/usbmodeswitch/usr/sbin/usb_modeswitch
702 $(STRIP) -s $(INSTALLDIR)/usbmodeswitch/usr/sbin/usb_modeswitch
703 @mkdir -p $(TARGETDIR)/rom/etc
704 @sed 's/#.*//g;s/[ \t]\+/ /g;s/^[ \t]*//;s/[ \t]*$$//;/^$$/d' < $(TOP)/usbmodeswitch/usb_modeswitch.conf > $(TARGETDIR)/rom/etc/usb_modeswitch.conf
706 p910nd:
707 sendmail:
708 samba:
709 samba3:
711 nvram: shared
713 prebuilt: shared
715 vlan:
716 @$(SEP)
717 @$(MAKE) -C vlan CROSS=$(CROSS_COMPILE) # STRIPTOOL=$(STRIP)
719 vlan-install:
720 $(MAKE) -C vlan CROSS=$(CROSS_COMPILE) INSTALLDIR=$(INSTALLDIR) install # STRIPTOOL=$(STRIP)
721 $(STRIP) $(INSTALLDIR)/vlan/usr/sbin/vconfig
724 pptp-client-install:
725 install -D pptp-client/pptp $(INSTALLDIR)/pptp-client/usr/sbin/pptp
726 $(STRIP) $(INSTALLDIR)/pptp-client/usr/sbin/pptp
729 accel-pptp: pppd accel-pptp/Makefile
730 @$(MAKE) -C accel-pptp
732 accel-pptp/Makefile: accel-pptp/Makefile.in $(LINUXDIR)/include/linux/version.h
733 cd accel-pptp && CFLAGS="-g -O2 $(EXTRACFLAGS)" \
734 $(CONFIGURE) --prefix=/usr KDIR=$(LINUXDIR) PPPDIR=$(TOP)/pppd
736 accel-pptp-clean:
737 -@$(MAKE) -C accel-pptp clean
738 @rm -f accel-pptp/Makefile
740 accel-pptp-install: accel-pptp
741 install -D accel-pptp/src/.libs/pptp.so $(INSTALLDIR)/accel-pptp/usr/lib/pppd/pptp.so
742 $(STRIP) $(INSTALLDIR)/accel-pptp/usr/lib/pppd/pptp.so
745 pppd/Makefile: pppd/linux/Makefile.top
746 cd pppd && $(CONFIGURE) --prefix=/usr --sysconfdir=/tmp
748 pppd: pppd/Makefile
749 @$(SEP)
750 @$(MAKE) -C pppd
752 pppd-clean:
753 -$(MAKE) -C pppd clean
754 @rm -f pppd/Makefile
756 pppd-install: pppd
757 install -D pppd/pppd/pppd $(INSTALLDIR)/pppd/usr/sbin/pppd
758 $(STRIP) $(INSTALLDIR)/pppd/usr/sbin/pppd
759 install -D pppd/pppd/plugins/pppol2tp/pppol2tp.so $(INSTALLDIR)/pppd/usr/lib/pppd/pppol2tp.so
760 $(STRIP) $(INSTALLDIR)/pppd/usr/lib/pppd/*.so
762 # ipupdate-install:
763 # install -D ipupdate/ez-ipupdate $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
764 # $(STRIP) $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
767 zebra/stamp-h1:
768 @cd zebra && rm -f config.cache && \
769 CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
770 $(CONFIGURE) --sysconfdir=/etc \
771 --enable-netlink --disable-ipv6 --disable-ripngd --disable-ospfd --disable-doc \
772 --disable-ospf6d --disable-bgpd --disable-bgpd-announce
773 @touch zebra/stamp-h1
775 zebra: zebra/stamp-h1
776 @$(MAKE) -C zebra CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD)
778 zebra-clean:
779 -@$(MAKE) -C zebra clean
780 @rm -f zebra/stamp-h1
782 zebra-install:
783 install -D zebra/zebra/zebra $(INSTALLDIR)/zebra/usr/sbin/zebra
784 install -D zebra/ripd/ripd $(INSTALLDIR)/zebra/usr/sbin/ripd
785 install -D zebra/lib/libzebra.so $(INSTALLDIR)/zebra/usr/lib/libzebra.so
786 $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/zebra
787 $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/ripd
788 $(STRIP) $(INSTALLDIR)/zebra/usr/lib/libzebra.so
791 rp-l2tp-install:
792 install -d $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
793 install rp-l2tp/handlers/*.so $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
794 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp/*.so
795 install -D rp-l2tp/handlers/l2tp-control $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
796 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
797 install -D rp-l2tp/l2tpd $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
798 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
801 bpalogin-install:
802 install -D bpalogin/bpalogin $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
803 $(STRIP) $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
806 # libnet:
807 # @$(SEP)
808 # @-mkdir -p libnet/lib
809 # @$(MAKE) -C libnet CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
811 # libpcap:
812 # @$(SEP)
813 # @$(MAKE) -C libpcap CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
815 libbcm:
816 @[ ! -f libbcm/Makefile ] || $(MAKE) -C libbcm
818 libbcm-install:
819 install -D libbcm/libbcm.so $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
820 $(STRIP) $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
823 iproute2-install:
824 install -D iproute2/tc/tc $(INSTALLDIR)/iproute2/usr/sbin/tc
825 $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/tc
826 install -D iproute2/ip/ip $(INSTALLDIR)/iproute2/usr/sbin/ip
827 $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/ip
830 ntpc: nvram shared
833 dropbear: dropbear/config.h
834 @$(SEP)
835 @$(MAKE) -C dropbear PROGRAMS="dropbear dbclient dropbearkey scp" MULTI=1
837 dropbear-install:
838 install -D dropbear/dropbearmulti $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
839 $(STRIP) $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
840 cd $(INSTALLDIR)/dropbear/usr/bin && \
841 ln -sf dropbearmulti dropbear && \
842 ln -sf dropbearmulti dropbearconvert && \
843 ln -sf dropbearmulti dropbearkey && \
844 ln -sf dropbearmulti dbclient && \
845 ln -sf dropbearmulti ssh && \
846 ln -sf dropbearmulti scp
848 dropbear-clean:
849 -@$(MAKE) -C dropbear clean
850 @rm -f dropbear/config.h
852 dropbear/config.h:
853 cd dropbear && CFLAGS="-O2 -Wall $(EXTRACFLAGS)" ac_cv_func_logout=no ac_cv_func_logwtmp=no $(CONFIGURE) --disable-zlib --enable-syslog --disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx --disable-pututline --disable-pututxline --disable-loginfunc --disable-largefile
854 @$(MAKE) -C dropbear clean
856 # Media libraries
858 sqlite/stamp-h1:
859 cd sqlite && \
860 CC=$(CC) CFLAGS="-Os $(EXTRACFLAGS)" $(CONFIGURE) \
861 --prefix=/usr --enable-shared --enable-static \
862 --disable-readline --disable-dynamic-extensions --enable-threadsafe
863 touch sqlite/stamp-h1
865 sqlite: sqlite/stamp-h1
866 @$(MAKE) -C sqlite all
868 sqlite-clean:
869 -@$(MAKE) -C sqlite clean
870 @rm -f sqlite/Makefile
872 sqlite-install:
873 @$(SEP)
875 ffmpeg/stamp-h1:
876 cd ffmpeg && \
877 CC=$(CC) CFLAGS="-Os $(EXTRACFLAGS)" \
878 ./configure --enable-cross-compile --arch=mips --target_os=linux --cross-prefix=$(CROSS_COMPILE) \
879 --enable-shared --enable-static --enable-gpl --disable-doc \
880 --enable-pthreads --enable-small --disable-encoders --disable-filters \
881 --disable-muxers --disable-devices --disable-ffmpeg --disable-ffplay \
882 --disable-ffserver --disable-debug --prefix=''
883 touch ffmpeg/stamp-h1
885 ffmpeg: ffmpeg/stamp-h1
886 @$(MAKE) -C ffmpeg all
888 ffmpeg-clean:
889 -@$(MAKE) -C ffmpeg clean
890 @rm -f lffmpeg/stamp-h1
892 ffmpeg-install:
893 @$(SEP)
895 libogg/stamp-h1:
896 cd libogg && \
897 CFLAGS="-Os $(EXTRACFLAGS)" $(CONFIGURE) --enable-shared --enable-static --prefix=''
898 touch libogg/stamp-h1
900 libogg: libogg/stamp-h1
901 @$(MAKE) -C libogg all
903 libogg-clean:
904 -@$(MAKE) -C libogg clean
905 @rm -f libogg/stamp-h1
907 libogg-install:
908 @$(SEP)
910 flac/stamp-h1: libogg
911 cd flac && \
912 CFLAGS="-Os $(EXTRACFLAGS)" \
913 CPPFLAGS="-I../../../libogg/include" LDFLAGS="-L../../../libogg/src/.libs" \
914 $(CONFIGURE) --enable-shared --enable-static --prefix='' --disable-rpath \
915 --disable-doxygen-docs --disable-xmms-plugin --disable-cpplibs
916 touch flac/stamp-h1
918 flac: flac/stamp-h1
919 @$(MAKE) -C flac/src/libFLAC all
921 flac-clean:
922 -@$(MAKE) -C flac clean
923 @rm -f flac/stamp-h1
925 flac-install:
926 @$(SEP)
928 jpeg/stamp-h1:
929 cd jpeg && \
930 CFLAGS="-Os $(EXTRACFLAGS)" $(CONFIGURE) --enable-shared --enable-static --prefix=''
931 touch jpeg/stamp-h1
933 jpeg: jpeg/stamp-h1
934 @$(MAKE) -C jpeg LIBTOOL="" O=o A=a CC=$(CC) libjpeg.a libjpeg.so
936 jpeg-clean:
937 -@$(MAKE) -C jpeg clean
938 @rm -f jpeg/Makefile
939 @rm -f jpeg/stamp-h1
941 jpeg-install:
942 @$(SEP)
944 libexif/stamp-h1:
945 cd libexif && CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
946 $(CONFIGURE) --enable-shared --enable-static --prefix='' \
947 --disable-docs --disable-rpath --without-libiconv-prefix --without-libintl-prefix
948 touch libexif/stamp-h1
950 libexif: libexif/stamp-h1
951 @$(MAKE) -C libexif all
953 libexif-clean:
954 -@$(MAKE) -C libexif clean
955 @rm -f libexif/stamp-h1
957 libexif-install:
958 @$(SEP)
960 zlib/stamp-h1:
961 cd zlib && \
962 CC=$(CC) AR="ar rc" RANLIB=$(RANLIB) LD=$(LD) CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
963 ./configure --shared --prefix=''
964 touch zlib/stamp-h1
966 zlib: zlib/stamp-h1
967 @$(MAKE) -C zlib CC=$(CC) AR="ar rc" RANLIB=$(RANLIB) LD=$(LD) CFLAGS="-Os -Wall $(EXTRACFLAGS)" all libz.a
969 zlib-clean:
970 -@$(MAKE) -C zlib clean
971 @rm -f zlib/Makefile
972 @rm -f zlib/stamp-h1
974 zlib-install:
975 @$(SEP)
977 libid3tag/stamp-h1: zlib
978 cd libid3tag && \
979 CFLAGS="-Os -Wall $(EXTRACFLAGS)" CPPFLAGS="-I../zlib" LDFLAGS="-L../zlib" \
980 $(CONFIGURE) --enable-shared --enable-static --prefix='' --disable-debugging --disable-profiling
981 touch libid3tag/stamp-h1
983 libid3tag: libid3tag/stamp-h1 zlib
984 @$(MAKE) -C libid3tag all
986 libid3tag-clean:
987 -@$(MAKE) -C libid3tag clean
988 @rm -f libid3tag/stamp-h1
990 libid3tag-install:
991 @$(SEP)
993 libvorbis/stamp-h1: libogg
994 cd libvorbis && \
995 CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
996 CPPFLAGS="-I../../libogg/include" LDFLAGS="-L../../libogg/src/.libs" \
997 $(CONFIGURE) --enable-shared --enable-static --prefix='' --disable-oggtest \
998 --with-ogg-includes="../libogg/include" --with-ogg-libraries="../libogg/src/.libs"
999 touch libvorbis/stamp-h1
1001 libvorbis: libvorbis/stamp-h1
1002 @$(MAKE) -C libvorbis/lib all
1004 libvorbis-clean:
1005 -@$(MAKE) -C libvorbis clean
1006 @rm -f libvorbis/stamp-h1
1008 libvorbis-install:
1009 @$(SEP)
1012 igmpproxy/src/Makefile: igmpproxy/src/Makefile.in
1013 cd igmpproxy && CFLAGS="-O2 -Wall $(EXTRACFLAGS)" \
1014 $(CONFIGURE) --prefix=/usr
1016 igmpproxy: igmpproxy/src/Makefile
1017 @$(SEP)
1018 @$(MAKE) -C igmpproxy/src
1020 igmpproxy-install:
1021 install -D igmpproxy/src/igmpproxy $(INSTALLDIR)/igmpproxy/usr/sbin/igmpproxy
1022 $(STRIP) $(INSTALLDIR)/igmpproxy/usr/sbin/igmpproxy
1024 igmpproxy-clean:
1025 -$(MAKE) -C igmpproxy/src clean
1026 @rm -f igmpproxy/src/Makefile
1028 udev:
1029 $(MAKE) -C $@ CROSS_COMPILE=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)" \
1030 PROGRAMS=udevtrigger
1032 udev-install:
1033 install -d $(INSTALLDIR)
1034 install -d $(TARGETDIR)
1035 $(MAKE) -C udev DESTDIR=$(INSTALLDIR) prefix=/udev install-udevtrigger
1037 hotplug2:
1038 $(MAKE) -C $@ CROSS_COMPILE=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRA_CFLAGS)"
1040 hotplug2-install:
1041 $(MAKE) -C hotplug2 install PREFIX=$(INSTALLDIR)/hotplug2 SUBDIRS=""
1042 $(MAKE) -C hotplug2/examples install PREFIX=$(INSTALLDIR)/hotplug2/rom KERNELVER=$(LINUX_KERNEL)
1044 emf:
1045 $(MAKE) -C $(SRCBASE)/emf/emfconf CROSS=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)"
1047 emf-install:
1048 $(MAKE) -C $(SRCBASE)/emf/emfconf INSTALLDIR=$(INSTALLDIR) install
1050 igs:
1051 $(MAKE) -C $(SRCBASE)/emf/igsconf CROSS=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)"
1053 igs-install:
1054 $(MAKE) -C $(SRCBASE)/emf/igsconf INSTALLDIR=$(INSTALLDIR) install
1057 ebtables: dummy
1058 $(MAKE) -C ebtables CC=$(CC) LD=$(LD) CFLAGS="$(EXTRACFLAGS) -Wall -Wunused"
1060 ebtables-install: ebtables
1061 install -D ebtables/ebtables $(INSTALLDIR)/ebtables/usr/sbin/ebtables
1063 install -d $(INSTALLDIR)/ebtables/usr/lib
1064 install -D ebtables/*.so $(INSTALLDIR)/ebtables/usr/lib/
1065 install -D ebtables/extensions/*.so $(INSTALLDIR)/ebtables/usr/lib/
1067 $(STRIP) $(INSTALLDIR)/ebtables/usr/sbin/ebtables
1068 $(STRIP) $(INSTALLDIR)/ebtables/usr/lib/libebt*.so
1069 $(STRIP) $(INSTALLDIR)/ebtables/usr/lib/libebtc.so
1071 ebtables-clean:
1072 make -C ebtables clean
1075 lzo-install:
1076 install -D lzo/src/.libs/liblzo2.so $(INSTALLDIR)/lzo/usr/lib/liblzo2.so.2
1077 $(STRIP) $(INSTALLDIR)/lzo/usr/lib/liblzo2.so.2
1078 cd $(INSTALLDIR)/lzo/usr/lib && ln -sf liblzo2.so.2 liblzo2.so
1081 openvpn: openvpn/.conf
1083 openvpn/.conf:
1084 cd openvpn && CFLAGS="-O3 -Wall $(EXTRACFLAGS)" \
1085 LDFLAGS=" -L../openssl/ -L../lzo/src/.libs/" \
1086 $(CONFIGURE) --prefix= \
1087 --with-lzo-headers="../lzo/include" \
1088 --with-ssl-headers="../openssl/include/" \
1089 --with-iproute-path="/usr/sbin/ip" \
1090 --disable-debug --disable-plugins --enable-management --enable-small \
1091 --disable-selinux --disable-socks --enable-password-save
1092 touch openvpn/.conf
1094 openvpn-clean:
1095 -$(MAKE) -C openvpn clean
1096 @rm -f openvpn/.conf
1098 openvpn-install:
1099 install -D openvpn/openvpn $(INSTALLDIR)/openvpn/usr/sbin/openvpn
1100 $(STRIP) $(INSTALLDIR)/openvpn/usr/sbin/openvpn
1101 chmod 0500 $(INSTALLDIR)/openvpn/usr/sbin/openvpn
1105 # Generic rules
1109 @[ ! -d $* ] || ( $(SEP); $(MAKE) -C $* )
1112 %-clean:
1113 @-[ ! -d $* ] || $(MAKE) -C $* clean
1115 %-install:
1116 @[ ! -d $* ] || $(MAKE) -C $* install INSTALLDIR=$(INSTALLDIR)/$*
1118 %-build:
1119 $(MAKE) $*-clean $*
1121 $(obj-y) $(obj-n) $(obj-clean) $(obj-install): dummy
1123 .PHONY: all clean distclean mrproper install package
1124 .PHONY: conf mconf oldconf kconf kmconf config menuconfig oldconfig
1125 .PHONY: dummy libnet libpcap