enable threads support for openssl and tor
[tomato.git] / release / src / router / Makefile.orig
blobc3d5885a836f9cd6fbaf0b5b13d762cdf34e4a4e
1 # Broadcom Linux Router Makefile
3 # Copyright 2005, Broadcom Corporation
4 # All Rights Reserved.
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.
13 include common.mak
15 #TOMATO_EXPERIMENTAL=0
17 #export PARALLEL_BUILD :=
18 export PARALLEL_BUILD := -j`grep -c '^processor' /proc/cpuinfo`
23 SEP=echo "\033[41;1m   $@   \033[0m"
26 # standard packages
28 obj-y += lzma-loader
29 obj-y += nvram
30 obj-y += shared
31 obj-y += prebuilt
32 obj-y += igmpproxy
33 obj-y += iptables
34 obj-y += rc
35 obj-y += iproute2
36 obj-y += rom
37 obj-y += others
38 obj-y += busybox
39 obj-y += httpd
40 obj-y += www
41 obj-y += wwwAT
42 obj-y += bridge
43 obj-y += dnsmasq
44 obj-y += etc
45 # obj-y += vlan # use Busybox vconfig
46 obj-y += pppd
47 obj-y += rp-pppoe
48 obj-y += utils
49 obj-y += ntpc
50 obj-y += rstats
51 obj-y += cstats
52 obj-y += udpxy
53 obj-$(TCONFIG_TOR) += tor
54 obj-$(TCONFIG_TOR) += libevent
55 obj-$(TCONFIG_TOR) += zlib
56 obj-$(TCONFIG_DNSCRYPT) += libsodium
57 obj-$(TCONFIG_DNSCRYPT) += dnscrypt
58 obj-$(TCONFIG_SNMP) += snmp
59 obj-$(TCONFIG_SDHC) += mmc
61 # !!TB - updated Broadcom Wireless driver
62 obj-y += et
63 obj-y += libbcmcrypto
64 obj-y += wlconf
66 obj-y += cyassl
67 obj-y += mssl
68 obj-y += mdu
69 obj-$(TCONFIG_RAID) += mdadm
71 obj-$(TCONFIG_NFS) += portmap
72 obj-$(TCONFIG_NFS) += e2fsprogs
73 obj-$(TCONFIG_NFS) += libevent
74 obj-$(TCONFIG_NFS) += libnfsidmap
75 obj-$(TCONFIG_NFS) += nfs-utils
77 #Roadkill
78 obj-$(TCONFIG_NOCAT) += nocat
80 # !!TB
81 obj-$(TCONFIG_USB) += p910nd
82 obj-$(TCONFIG_USB) += comgt
84 obj-$(TCONFIG_UPS) += apcupsd
86 ifeq ($(CONFIG_LINUX26),y)
87 obj-$(TCONFIG_USB) += sd-idle
88 else
89 obj-$(TCONFIG_USB) += scsi-idle
90 endif
92 obj-y += libusb10
93 #obj-y += libusb
94 obj-y += usbmodeswitch
95 obj-$(TCONFIG_FTP) += vsftpd
97 ifeq ($(CONFIG_LINUX26),y)
98 ifeq ($(TCONFIG_SAMBASRV),y)
99 NEED_EX_NLS = y
100 endif
101 ifeq ($(TCONFIG_USB_EXTRAS),y)
102 NEED_EX_USB = y
103 endif
104 endif
106 ifeq ($(TCONFIG_SAMBASRV),y)
107 ifeq ($(TCONFIG_SAMBA3),y)
108 NEED_SAMBA3 = y
109 else
110 NEED_SAMBA2 = y
111 endif
112 endif
114 ifeq ($(TCONFIG_IPV6),y)
115 export TCONFIG_IPV6 := y
116 else
117 TCONFIG_IPV6 :=
118 endif
120 ifeq ($(TCONFIG_IPSEC),y)
121 export TCONFIG_IPSEC := y
122 else
123 TCONFIG_IPSEC :=
124 endif
126 ifeq ($(TCONFIG_RAID),y)
127 export TCONFIG_RAID := y
128 else
129 TCONFIG_RAID :=
130 endif
132 obj-$(NEED_SAMBA2) += samba
133 obj-$(NEED_SAMBA3) += samba3
134 obj-$(TCONFIG_NTFS) += ntfs-3g
135 obj-$(TCONFIG_EBTABLES) += ebtables
136 #obj-$(TCONFIG_IPV6) += libdaemon
137 #obj-$(TCONFIG_IPV6) += radvd
138 obj-$(TCONFIG_IPV6) += dhcpv6
140 obj-$(TCONFIG_MEDIA_SERVER) += zlib
141 obj-$(TCONFIG_MEDIA_SERVER) += sqlite
142 obj-$(TCONFIG_MEDIA_SERVER) += ffmpeg
143 #obj-$(TCONFIG_MEDIA_SERVER) += libiconv
144 obj-$(TCONFIG_MEDIA_SERVER) += libogg
145 obj-$(TCONFIG_MEDIA_SERVER) += flac
146 obj-$(TCONFIG_MEDIA_SERVER) += jpeg
147 obj-$(TCONFIG_MEDIA_SERVER) += libexif
148 obj-$(TCONFIG_MEDIA_SERVER) += libid3tag
149 obj-$(TCONFIG_MEDIA_SERVER) += libvorbis
150 obj-$(TCONFIG_MEDIA_SERVER) += minidlna
151 MEDIA_SERVER_STATIC=y
152 #MEDIA_SERVER_STATIC :=
154 #obj-y += libnfnetlink
155 obj-y += miniupnpd
156 #       obj-y += upnp
157 obj-$(CONFIG_LINUX26) += ipset
161 # configurable packages
163 obj-$(TCONFIG_L2TP) += xl2tpd
164 obj-$(TCONFIG_PPTP) += accel-pptp
165 obj-$(TCONFIG_PPTPD) += pptpd
166 obj-$(TCONFIG_HTTPS) += openssl
167 obj-$(TCONFIG_SSH) += dropbear
168 obj-$(TCONFIG_ZEBRA) += zebra
169 #       obj-$(TCONFIG_IPP2P) += ipp2p
170 obj-$(TCONFIG_LZO) += lzo
171 obj-$(TCONFIG_OPENVPN) += openvpn
172 obj-$(TCONFIG_OPENVPN) += openvpn_plugin_auth_nvram
173 obj-$(TCONFIG_TINC) += tinc
174 obj-$(TCONFIG_EMF) += emf
175 obj-$(TCONFIG_EMF) += igs
177 # Tomato RAF
178 # additional modules for nginx
179 ifeq (obj-$(TCONFIG_NGINX),y)
180 ifndef ($(ADDITIONAL_MODULES))
181 ADDITIONAL_MODULES:=
182 else
183 ifeq ($(TCONFIG_IPV6),y)
184 ADDITIONAL_MODULES += --with-ipv6
185 endif
186 endif
187 endif
188 obj-$(TCONFIG_NGINX) += libncurses
189 obj-$(TCONFIG_NGINX) += mysql
190 obj-$(TCONFIG_NGINX) += openssl
191 obj-$(TCONFIG_NGINX) += spawn-fcgi
192 obj-$(TCONFIG_NGINX) += pcre
193 obj-$(TCONFIG_NGINX) += sqlite
194 obj-$(TCONFIG_NGINX) += libiconv
195 obj-$(TCONFIG_NGINX) += libxml2
196 obj-$(TCONFIG_NGINX) += libpng
197 obj-$(TCONFIG_NGINX) += jpeg
198 obj-$(TCONFIG_NGINX) += php
199 obj-$(TCONFIG_NGINX) += nginx
201 obj-$(TCONFIG_NANO) += libncurses
202 obj-$(TCONFIG_NANO) += nano
204 obj-$(TCONFIG_BBT) += openssl
205 obj-$(TCONFIG_BBT) += libevent
206 obj-$(TCONFIG_BBT) += libcurl
207 obj-$(TCONFIG_BBT) += transmission
208 obj-$(TCONFIG_BT) += btgui
209 obj-$(TCONFIG_BBT) += zlib
210 #obj-$(TCONFIG_BBT) += libiconv
212 obj-$(CONFIG_LINUX26) += hotplug2
213 obj-$(CONFIG_LINUX26) += udevtrigger
215 ifeq ($(TCONFIG_OPENVPN),y)
216   export FULL_OPENSSL := y
217 else
218   ifeq ($(TCONFIG_FTP_SSL),y)
219     export FULL_OPENSSL := y
220   else
221     ifeq ($(TCONFIG_BBT),y)
222       export FULL_OPENSSL := y
223     else
224       ifeq ($(TCONFIG_TOR),y)
225         export FULL_OPENSSL := y
226       else
227         ifeq ($(TCONFIG_TOR),y)
228           export FULL_OPENSSL := y
229         else
230           ifeq ($(TCONFIG_TINC),y)
231             export FULL_OPENSSL := y
232           else
233             FULL_OPENSSL :=
234           endif
235         endif
236       endif
237     endif
238   endif
239 endif
241 obj-y += wanuptime
243 obj-clean := $(foreach obj, $(obj-y) $(obj-n) $(obj-), $(obj)-clean)
244 obj-install := $(foreach obj,$(obj-y),$(obj)-install)
249 # Basic rules
252 all: clean-build libc $(obj-y) kernel
255 kernel: $(LINUXDIR)/.config
256         @$(SEP)
258         @if ! grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
259             $(MAKE) -C $(LINUXDIR) zImage CC=$(KERNELCC) $(PARALLEL_BUILD); \
260         fi
261         if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \
262             $(MAKE) -C $(LINUXDIR) modules CC=$(KERNELCC) $(PARALLEL_BUILD); \
263         fi
264 ifeq ($(CONFIG_LINUX26),y)
265         $(MAKE) -C $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed srctree=$(LINUXDIR) $(PARALLEL_BUILD)
266 endif
269 lzma-loader:
270         $(MAKE) -C $(SRCBASE)/lzma-loader CROSS_COMPILE=$(CROSS_COMPILE) LD=$(LD) $(PARALLEL_BUILD)
272 lzma-loader-install: lzma-loader
273         @$(SEP)
276 kmod: dummy
277         $(MAKE) -C $(LINUXDIR) modules CC=$(KERNELCC) $(PARALLEL_BUILD)
279 testfind:
280         cd $(TARGETDIR)/lib/modules/* && find -name "*.o" -exec mv -i {} . \; || true
281         cd $(TARGETDIR)/lib/modules/* && find -type d -delete || true
283 install package: $(obj-install) $(LINUXDIR)/.config
284         @$(SEP)
286         install -d $(TARGETDIR)
289 # kernel modules
290         $(MAKE) -C $(LINUXDIR) modules_install \
291         INSTALL_MOD_STRIP="--strip-debug -x -R .comment -R .note -R .pdr -R .mdebug.abi32 -R .note.gnu.build-id -R .gnu.attributes -R .reginfo" \
292         DEPMOD=/bin/true INSTALL_MOD_PATH=$(TARGETDIR)
294 ifneq ($(CONFIG_LINUX26),y)
295         find $(TARGETDIR)/lib/modules -name wl.*o -exec $(STRIP) --strip-unneeded -x {} \;
296         find $(TARGETDIR)/lib/modules -name et.*o -exec $(STRIP) --strip-unneeded -x {} \;
297         find $(TARGETDIR)/lib/modules -name bcm57*.*o -exec $(STRIP) --strip-unneeded -x {} \;
298         find $(TARGETDIR)/lib/modules -name ctf.*o -exec $(STRIP) --strip-unneeded -x {} \;
299         find $(TARGETDIR)/lib/modules -name emf.*o -exec $(STRIP) --strip-unneeded -x {} \;
300         find $(TARGETDIR)/lib/modules -name igs.*o -exec $(STRIP) --strip-unneeded -x {} \;
301         find $(TARGETDIR)/lib/modules -name jffs*.*o -exec $(STRIP) --strip-unneeded -x {} \;
303         find $(TARGETDIR)/lib/modules -name *.*o -exec $(STRIP) --strip-debug -x -R .mdebug.abi32 {} \;
304 endif
306         -cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv diag/* . && rm -rf diag
308 # nice and clean
309         -cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv et.4702/* . && rm -rf et.4702 || true
310         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv et/* . && rm -rf et
311         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv wl/* . && rm -rf wl
312         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv cifs/* . && rm -rf cifs
313         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jffs2/* . && rm -rf jffs2 || true
314         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jffs/* . && rm -rf jffs || true
315         cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv zlib_inflate/* . && rm -rf zlib_inflate || true
316         cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv zlib_deflate/* . && rm -rf zlib_deflate || true
317         cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv lzo/* . && rm -rf lzo || true
318         rm -rf $(TARGETDIR)/lib/modules/*/pcmcia
320 ##!!TB
321         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ext2/* . && rm -rf ext2 || true
322         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ext3/* . && rm -rf ext3 || true
323         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jbd/* . && rm -rf jbd || true
324         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv fat/* . && rm -rf fat || true
325         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jfs/* . && rm -rf jfs || true
326         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv vfat/* . && rm -rf vfat || true
327         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv msdos/* . && rm -rf msdos || true
328         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv fuse/* . && rm -rf fuse || true
329         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ntfs/* . && rm -rf ntfs || true
330         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv smbfs/* . && rm -rf smbfs || true
331         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv reiserfs/* . && rm -rf reiserfs || true
332         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv hfs/* . && rm -rf hfs || true
333         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv hfsplus/* . && rm -rf hfsplus || true
334         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv lockd/* . && rm -rf lockd || true
335         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nfsd/* . && rm -rf nfsd || true
336         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nfs/* . && rm -rf nfs || true
337         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv xfs/* . && rm -rf xfs || true
338         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nls/* . && rm -rf nls || true
339         cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv exportfs/* . && rm -rf exportfs || true
340         cd $(TARGETDIR)/lib/modules/*/kernel/net && mv sunrpc/* . && rm -rf sunrpc || true
341         cd $(TARGETDIR)/lib/modules/*/kernel/net && mv auth_gss/* . && rm -rf auth_gss || true
342         cd $(TARGETDIR)/lib/modules/*/kernel/sound/core && mv oss/* . && rm -rf oss || true
343         cd $(TARGETDIR)/lib/modules/*/kernel/sound/core && mv seq/* . && rm -rf seq || true
344         cd $(TARGETDIR)/lib/modules/*/kernel/sound && mv core/* . && rm -rf core || true
345         cd $(TARGETDIR)/lib/modules/*/kernel/sound && mv usb/* . && rm -rf usb || true
346         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv hcd/* . && rm -rf hcd || true
347         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv host/* . && rm -rf host || true
348         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv storage/* . && rm -rf storage || true
349         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv serial/* . && rm -rf serial || true
350         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv core/* . && rm -rf core || true
351         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv class/* . && rm -rf class || true
352         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv misc/* . && rm -rf misc || true
353         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv usbip/* . && rm -rf usbip || true
354         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/hid && mv usbhid/* . && rm -rf usbhid || true
355         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/input && mv joystick/* . && rm -rf joystick || true
356         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/input && mv keyboard/* . && rm -rf keyboard || true
357         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/input && mv misc/* . && rm -rf misc || true
358         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/input && mv mouse/* . && rm -rf mouse || true
359         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video && mv uvc/* . && rm -rf uvc || true
360         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video && mv pwc/* . && rm -rf pwc || true
361         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video/gspca && mv gl860/* . && rm -rf gl860 || true
362         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video/gspca && mv m5602/* . && rm -rf m5602 || true
363         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video/gspca && mv stv06xx/* . && rm -rf stv06xx || true
364         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video && mv gspca/* . && rm -rf gspca || true
365         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media && mv video/* . && rm -rf video || true
367         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv bcm57xx/* . && rm -rf bcm57xx || true
368         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv emf/* . && rm -rf emf || true
369         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv igs/* . && rm -rf igs || true
370         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv ctf/* . && rm -rf ctf || true
371         cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv usb/* . && rm -rf usb || true
372         cd $(TARGETDIR)/lib/modules && rm -f */source || true
374 # misc
375         for dir in $(wildcard $(patsubst %,$(INSTALLDIR)/%,$(obj-y))) ; do \
376             (cd $${dir} && tar cpf - .) | (cd $(TARGETDIR) && tar xpf -) \
377         done
379 ifneq ($(TCONFIG_L7),y)
380         rm -f $(TARGETDIR)/usr/lib/iptables/libipt_layer7.so
381 endif
383 # uClibc
384         install $(LIBDIR)/ld-uClibc.so.0 $(TARGETDIR)/lib/
385         install $(LIBDIR)/libcrypt.so.0 $(TARGETDIR)/lib/
386         install $(LIBDIR)/libpthread.so.0 $(TARGETDIR)/lib/
387         install $(LIBDIR)/libgcc_s.so.1 $(TARGETDIR)/lib/
388         $(STRIP) $(TARGETDIR)/lib/libgcc_s.so.1
389         install $(LIBDIR)/libc.so.0 $(TARGETDIR)/lib/
390         install $(LIBDIR)/libdl.so.0 $(TARGETDIR)/lib/
391         install $(LIBDIR)/libm.so.0 $(TARGETDIR)/lib/
392         install $(LIBDIR)/libnsl.so.0 $(TARGETDIR)/lib/
393 ifeq ($(TCONFIG_SSH),y)
394         install $(LIBDIR)/libutil.so.0 $(TARGETDIR)/lib/
395 endif
396 ifeq ($(TCONFIG_BBT),y)
397         install $(LIBDIR)/librt-0.9.30.1.so $(TARGETDIR)/lib/librt.so.0
398 endif
399 ifeq ($(TCONFIG_NGINX),y)
400         install $(LIBDIR)/libstdc++.so.6 $(TARGETDIR)/lib/libstdc++.so.6
401         cd $(TARGETDIR)/lib && ln -sf libstdc++.so.6 libstdc++.so
402         $(STRIP) $(TARGETDIR)/lib/libstdc++.so.6
403 endif
404 ifneq ($(TCONFIG_OPTIMIZE_SHARED_LIBS),y)
405         install $(LIBDIR)/libresolv.so.0 $(TARGETDIR)/lib/
406         $(STRIP) $(TARGETDIR)/lib/*.so.0
407 endif
409         @cd $(TARGETDIR) && $(TOP)/others/rootprep.sh
411         @echo ---
413 ifeq ($(TCONFIG_OPTIMIZE_SHARED_LIBS),y)
414         @$(SRCBASE)/btools/libfoo.pl
415 else
416         @$(SRCBASE)/btools/libfoo.pl --noopt
417 endif
418         @chmod 0555 $(TARGETDIR)/lib/*.so*
419         @chmod 0555 $(TARGETDIR)/usr/lib/*.so*
421 # !!TB - moved to run after libfoo.pl - to make sure shared libs include all symbols needed by extras
422 # separated/copied extra stuff
423         @rm -rf $(PLATFORMDIR)/extras
424         @mkdir $(PLATFORMDIR)/extras
425         @mkdir $(PLATFORMDIR)/extras/ipsec
426         @mkdir $(PLATFORMDIR)/extras/raid
427         @mv $(TARGETDIR)/lib/modules/*/kernel/net/ipv4/ip_gre.*o $(PLATFORMDIR)/extras/ || true
428 #       $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/usr/lib/iptables/libipt_policy.*o $(PLATFORMDIR)/extras/ipsec/ || true
430         $(if $(TCONFIG_OPENVPN),@cp -f,$(if $(TCONFIG_USB_EXTRAS),@cp -f,$(if $(TCONFIG_IPV6),@cp -f,@mv))) $(TARGETDIR)/lib/modules/*/kernel/drivers/net/tun.*o $(PLATFORMDIR)/extras/ || true
431         $(if $(TCONFIG_EBTABLES),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/bridge/netfilter/ebt*.*o $(PLATFORMDIR)/extras/ || true
433         $(if $(TCONFIG_RAID),@cp -f,@mv) $(TARGETDIR)/usr/sbin/mdadm $(PLATFORMDIR)/extras/raid/ || true
434         $(if $(TCONFIG_RAID),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/md/*.ko $(PLATFORMDIR)/extras/raid/ || true
435         $(if $(TCONFIG_RAID),@ls,@rm -rf) $(TARGETDIR)/lib/modules/*/kernel/drivers/md || true
437         @cp $(TARGETDIR)/lib/modules/*/kernel/net/ipv4/netfilter/ip_set*o $(PLATFORMDIR)/extras/ || true
438         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ifb.*o $(PLATFORMDIR)/extras/ || true
439         @mv $(TARGETDIR)/lib/modules/*/kernel/net/sched/sch_red.*o $(PLATFORMDIR)/extras/ || true
440         @mv $(TARGETDIR)/lib/modules/*/kernel/fs/ntfs.*o $(PLATFORMDIR)/extras/ || true
441         @mv $(TARGETDIR)/lib/modules/*/kernel/fs/smbfs.*o $(PLATFORMDIR)/extras/ || true
442         @mv $(TARGETDIR)/lib/modules/*/kernel/fs/reiserfs.*o $(PLATFORMDIR)/extras/ || true
443         @mv $(TARGETDIR)/lib/modules/*/kernel/fs/jfs.*o $(PLATFORMDIR)/extras/ || true
444         $(if $(TCONFIG_NFS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nfs.*o $(PLATFORMDIR)/extras/ || true
445         $(if $(TCONFIG_NFS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nfsd.*o $(PLATFORMDIR)/extras/ || true
446         $(if $(TCONFIG_NFS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/lockd.*o $(PLATFORMDIR)/extras/ || true
447         $(if $(TCONFIG_NFS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/exportfs.*o $(PLATFORMDIR)/extras/ || true
448         $(if $(TCONFIG_NFS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/sunrpc.*o $(PLATFORMDIR)/extras/ || true
449         @mv $(TARGETDIR)/lib/modules/*/kernel/net/auth_rpcgss.*o $(PLATFORMDIR)/extras/ || true
450         @mv $(TARGETDIR)/lib/modules/*/kernel/net/rpcsec_gss_krb5.*o $(PLATFORMDIR)/extras/ || true
451         @mv $(TARGETDIR)/lib/modules/*/kernel/fs/xfs.*o $(PLATFORMDIR)/extras/ || true
452         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi/sr_mod.*o $(PLATFORMDIR)/extras/ || true
453         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/scanner.*o $(PLATFORMDIR)/extras/ || true
455         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbserial.*o $(PLATFORMDIR)/extras/ || true
456         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/option.*o $(PLATFORMDIR)/extras/ || true
457         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/sierra.*o $(PLATFORMDIR)/extras/ || true
458         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/sierra.*o $(PLATFORMDIR)/extras/ || true
459         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/cdc-acm.*o $(PLATFORMDIR)/extras/ || true
460         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/net/mii.*o $(PLATFORMDIR)/extras/ || true
461         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/net/cdc_*.*o $(PLATFORMDIR)/extras/ || true
462         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/net/usbnet.*o $(PLATFORMDIR)/extras/ || true
463         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ftdi_sio.*o $(PLATFORMDIR)/extras/ || true
464         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/pl2303.*o $(PLATFORMDIR)/extras/ || true
466         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ch341.*o $(PLATFORMDIR)/extras/ || true
467         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbip*.*o $(PLATFORMDIR)/extras/ || true
468         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbkbd.*o $(PLATFORMDIR)/extras/ || true
469         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbmouse.*o $(PLATFORMDIR)/extras/ || true
470         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/hid*.*o $(PLATFORMDIR)/extras/ || true
471         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ipw.*o $(PLATFORMDIR)/extras/ || true
472         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/audio.*o $(PLATFORMDIR)/extras/ || true
473         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ov51*.*o $(PLATFORMDIR)/extras/ || true
474         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/pwc*.*o $(PLATFORMDIR)/extras/ || true
475         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/emi*.*o $(PLATFORMDIR)/extras/ || true
476         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/cdc-wdm.*o $(PLATFORMDIR)/extras/ || true
477         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/cdc_subset.*o $(PLATFORMDIR)/extras/ || true
478         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/rndis_host.*o $(PLATFORMDIR)/extras/ || true
479         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/qmi_wwan.*o $(PLATFORMDIR)/extras/ || true
480         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ipheth.*o $(PLATFORMDIR)/extras/ || true
481         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/net/usb || true
482         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/media/* $(PLATFORMDIR)/extras/ || true
483         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/media || true
484         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/sound/* $(PLATFORMDIR)/extras/ || true
485         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/sound || true
486         @mv $(TARGETDIR)/lib/modules/*/kernel/sound/* $(PLATFORMDIR)/extras/ || true
487         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/sound || true
488         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/input/* $(PLATFORMDIR)/extras/ || true
489         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/input || true
490         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/hid/* $(PLATFORMDIR)/extras/ || true
491         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/hid || true
492         @cp -f $(TARGETDIR)/lib/modules/*/kernel/drivers/net/bcm57*.*o $(PLATFORMDIR)/extras/ || true
493         $(if $(TCONFIG_CTF),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ctf*.*o $(PLATFORMDIR)/extras/ || true
494         $(if $(TCONFIG_PPTP),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/net/pptp.*o $(PLATFORMDIR)/extras/ || true
495         $(if $(TCONFIG_L2TP),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/net/pppol2tp.*o $(PLATFORMDIR)/extras/ || true
496         @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ppp_deflate.*o  $(PLATFORMDIR)/extras/ || true
497         $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/crypto/*.ko $(PLATFORMDIR)/extras/ipsec/ || true
498         $(if $(TCONFIG_IPSEC),@ls,@rm -rf) $(TARGETDIR)/lib/modules/*/kernel/crypto || true
499         $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/xfrm/*.ko $(PLATFORMDIR)/extras/ipsec/ || true
500         $(if $(TCONFIG_IPSEC),@ls,@rm -rf) $(TARGETDIR)/lib/modules/*/kernel/net/xfrm || true
501         $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/key/*.ko $(PLATFORMDIR)/extras/ipsec/ || true
502         $(if $(TCONFIG_IPSEC),@ls,@rm -rf) $(TARGETDIR)/lib/modules/*/kernel/net/key || true
503         $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/ipv*/xfrm*.ko $(PLATFORMDIR)/extras/ipsec/ || true
504 #       $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/ipv*/tunnel*.ko $(PLATFORMDIR)/extras/ipsec/ || true
505         $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/ipv*/ah*.ko $(PLATFORMDIR)/extras/ipsec/ || true
506         $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/ipv*/esp*.ko $(PLATFORMDIR)/extras/ipsec/ || true
507         $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/ipv*/ipcomp*.ko $(PLATFORMDIR)/extras/ipsec/ || true
508 #       $(if $(TCONFIG_IPSEC),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/netfilter/xt_policy.ko $(PLATFORMDIR)/extras/ipsec/ || true
510         $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_cp9*.*o $(PLATFORMDIR)/extras/ || true
511         $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_cp1251.*o $(PLATFORMDIR)/extras/ || true
512         $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_euc-jp.*o $(PLATFORMDIR)/extras/ || true
513         $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_sjis.*o $(PLATFORMDIR)/extras/ || true
514         $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_gb2312.*o $(PLATFORMDIR)/extras/ || true
515         $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_euc-kr.*o $(PLATFORMDIR)/extras/ || true
516         $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_big5.*o $(PLATFORMDIR)/extras/ || true
518         $(if $(TCONFIG_USB),@cp -f,$(if $(TCONFIG_SDHC),@cp -f,@mv)) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_*.*o $(PLATFORMDIR)/extras/ || true
519         $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/*.*o $(PLATFORMDIR)/extras/ || true
520         $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi/*.*o $(PLATFORMDIR)/extras/ || true
521         $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/leds/*.*o $(PLATFORMDIR)/extras/ || true
522         $(if $(TCONFIG_USB),@cp -f,$(if $(TCONFIG_SDHC),@cp -f,@mv)) $(TARGETDIR)/lib/modules/*/kernel/fs/ext2.*o $(PLATFORMDIR)/extras/ || true
523         $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/ext3.*o $(PLATFORMDIR)/extras/ || true
524         $(if $(TCONFIG_USB),@cp -f,$(if $(TCONFIG_SDHC),@cp -f,@mv)) $(TARGETDIR)/lib/modules/*/kernel/fs/jbd.*o $(PLATFORMDIR)/extras/ || true
525         $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/mbcache.*o $(PLATFORMDIR)/extras/ || true
526         $(if $(TCONFIG_USB),@cp -f,$(if $(TCONFIG_SDHC),@cp -f,@mv)) $(TARGETDIR)/lib/modules/*/kernel/fs/fat.*o $(PLATFORMDIR)/extras/ || true
527         $(if $(TCONFIG_USB),@cp -f,$(if $(TCONFIG_SDHC),@cp -f,@mv)) $(TARGETDIR)/lib/modules/*/kernel/fs/vfat.*o $(PLATFORMDIR)/extras/ || true
528         $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/msdos.*o $(PLATFORMDIR)/extras/ || true
529         $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/fuse.*o $(PLATFORMDIR)/extras/ || true
530         $(if $(TCONFIG_HFS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/hfs.*o $(PLATFORMDIR)/extras/ || true
531         $(if $(TCONFIG_HFS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/hfsplus.*o $(PLATFORMDIR)/extras/ || true
533 ifneq ($(TCONFIG_USB),y)
534         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/usb || true
535         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi || true
536         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/leds || true
537 endif
539         $(if $(TCONFIG_USB_EXTRAS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/connector/cn.*o $(PLATFORMDIR)/extras/ || true
540         $(if $(TCONFIG_USB_EXTRAS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/block/loop.*o $(PLATFORMDIR)/extras/ || true
541 ifneq ($(TCONFIG_USB_EXTRAS),y)
542         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/connector || true
543         @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/block || true
544 endif
545         $(if $(TCONFIG_CIFS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/cifs.*o $(PLATFORMDIR)/extras/ || true
546         $(if $(TCONFIG_JFFS2),$(if $(TCONFIG_JFFSV1),@mv,@cp -f),@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/jffs2.*o $(PLATFORMDIR)/extras/ || true
547         $(if $(TCONFIG_JFFS2),$(if $(TCONFIG_JFFSV1),@mv,@cp -f),@mv) $(TARGETDIR)/lib/modules/*/kernel/lib/zlib_*.*o $(PLATFORMDIR)/extras/ || true
548         $(if $(TCONFIG_JFFS2),$(if $(TCONFIG_JFFSV1),@cp -f,@mv),@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/jffs.*o $(PLATFORMDIR)/extras/ || true
549         [ ! -f $(TARGETDIR)/lib/modules/*/kernel/lib/* ] && rm -rf $(TARGETDIR)/lib/modules/*/kernel/lib || true
550         $(if $(TCONFIG_L7),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/ipv4/netfilter/ipt_layer7.*o $(PLATFORMDIR)/extras/ || true
551         $(if $(TCONFIG_L7),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/netfilter/xt_layer7.*o $(PLATFORMDIR)/extras/ || true
553         @mkdir -p $(PLATFORMDIR)/extras/apps
554         @mkdir -p $(PLATFORMDIR)/extras/lib
556         @mv $(TARGETDIR)/usr/sbin/ttcp $(PLATFORMDIR)/extras/apps/ || true
557         @mv $(TARGETDIR)/usr/sbin/mii-tool $(PLATFORMDIR)/extras/apps/ || true
558         @cp -r $(TARGETDIR)/usr/sbin/robocfg $(PLATFORMDIR)/extras/apps/ || true
560         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/usr/lib/libusb* $(PLATFORMDIR)/extras/lib/ || true
561         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/usr/sbin/usb_modeswitch $(PLATFORMDIR)/extras/apps/ || true
562         @cp usbmodeswitch/usb_modeswitch.conf $(PLATFORMDIR)/extras/apps/usb_modeswitch.conf || true
563         @cp usbmodeswitch/usb_modeswitch.setup $(PLATFORMDIR)/extras/apps/usb_modeswitch.setup || true
564         @mkdir -p $(PLATFORMDIR)/extras/apps/usb_modeswitch.d
565         @cp -f usbmodeswitch/data/usb_modeswitch.d/* $(PLATFORMDIR)/extras/apps/usb_modeswitch.d || true
566 ifneq ($(NEED_EX_USB),y)
567         @rm -rf $(TARGETDIR)/rom/etc/usb_modeswitch.d || true
568         @rm -f  $(TARGETDIR)/rom/etc/usb_modeswitch.conf || true
569 endif
570         $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/usr/sbin/chat $(PLATFORMDIR)/extras/apps/ || true
572         @mkdir -p $(TARGETDIR)/rom/etc/l7-protocols
573 ifeq ($(TCONFIG_L7PAT),y)
574         @cd layer7 && ./squish.sh
575         cp layer7/squished/*.pat $(TARGETDIR)/rom/etc/l7-protocols
576 endif
578 ifeq ($(TCONFIG_PPTPD),y)
579         @mkdir -p $(TARGETDIR)/rom/etc/vpn
580         cp rc/vpn/* $(TARGETDIR)/rom/etc/vpn
581         chmod +x $(TARGETDIR)/rom/etc/vpn/*
582 endif
584         busybox/examples/depmod.pl -k $(LINUXDIR)/vmlinux -b $(TARGETDIR)/lib/modules/*/
585         @mv $(TARGETDIR)/lib/modules/*/modules.dep $(TARGETDIR)/lib/modules/
586         @echo ---
588         @rm -f $(TARGETDIR)/lib/modules/*/build
590         @$(MAKE) -C $(LINUXDIR)/scripts/squashfs mksquashfs-lzma
591         @$(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(TARGETDIR) $(PLATFORMDIR)/target.image -all-root -noappend -no-duplicates | tee target.info
593 #       Package kernel and filesystem
594 #       if grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
595 #           cp $(PLATFORMDIR)/target.image $(LINUXDIR)/arch/mips/ramdisk/$${CONFIG_EMBEDDED_RAMDISK_IMAGE} ; \
596 #           $(MAKE) -C $(LINUXDIR) zImage ; \
597 #       else \
598 #           cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/vmlinuz $(PLATFORMDIR)/ ; \
599 #           trx -o $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image ; \
600 #       fi
602 #       Pad self-booting Linux to a 64 KB boundary
603 #       cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/zImage $(PLATFORMDIR)/
604 #       dd conv=sync bs=64k < $(PLATFORMDIR)/zImage > $(PLATFORMDIR)/linux.bin
605 #       Append filesystem to self-booting Linux
606 #       cat $(PLATFORMDIR)/target.image >> $(PLATFORMDIR)/linux.bin
609 libc:   $(LIBDIR)/ld-uClibc.so.0
610 #       $(MAKE) -C ../../../tools-src/uClibc all
611 #       $(MAKE) -C ../../../tools-src/uClibc install
615 # cleaners
618 clean: clean-build $(obj-clean)
619         rm -rf layer7/squished
620         rm -f .ipv6-y .ipv6-n
621         rm -f .fullssl-y .fullssl-n
622         make -C config clean
624 clean-build: dummy
625         rm -rf $(TARGETDIR)
626         rm -rf $(INSTALLDIR)
627         rm -f $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image
628         rm -rf $(PLATFORMDIR)/extras
630 distclean: clean
631 ifneq ($(INSIDE_MAK),1)
632         $(MAKE) -C $(SRCBASE) $@ INSIDE_MAK=1
633 endif
634 #       -rm -f $(LIBDIR)/*.so.0  $(LIBDIR)/*.so
637 # configuration
640 CONFIG_IN := config/config.in
642 config/conf config/mconf:
643         @$(MAKE) -C config
645 rconf: config/conf
646         @config/conf $(CONFIG_IN)
648 rmconf: config/mconf
649         @config/mconf $(CONFIG_IN)
651 roldconf: config/conf
652         @config/conf -o $(CONFIG_IN)
653         @$(MAKE) shared-clean rc-clean nvram-clean httpd-clean prebuilt-clean libbcmcrypto-clean dhcpv6-clean
655 kconf:
656         @$(MAKE) -C $(LINUXDIR) config
658 kmconf:
659         @$(MAKE) -C $(LINUXDIR) menuconfig
661 koldconf:
662         @$(MAKE) -C $(LINUXDIR) oldconfig
663         @$(MAKE) -C $(LINUXDIR) include/linux/version.h
665 bboldconf:
666         @$(MAKE) -C busybox oldconfig
668 config conf: rconf kconf
670 menuconfig mconf: rmconf kmconf
672 .ipv6-y .ipv6-n:
673         @rm -f .ipv6-y .ipv6-n
674         @$(MAKE) iptables-clean ebtables-clean pppd-clean zebra-clean dnsmasq-clean iproute2-clean
675         @touch $@
677 .fullssl-y .fullssl-n:
678         @rm -f .fullssl-y .fullssl-n
679         @$(MAKE) openssl-clean vsftpd-clean mssl-clean mdu-clean httpd-clean
680         @touch $@
682 dependconf: .ipv6-$(if $(TCONFIG_IPV6),y,n) .fullssl-$(if $(FULL_OPENSSL),y,n)
684 oldconfig oldconf: koldconf roldconf dependconf bboldconf
688 # overrides and extra dependencies
691 busybox: dummy
692         @$(MAKE) -C busybox EXTRA_CFLAGS="-fPIC $(EXTRACFLAGS)" $(PARALLEL_BUILD)
694 busybox-install:
695         rm -rf $(INSTALLDIR)/busybox
696         $(MAKE) -C busybox install EXTRA_CFLAGS="-fPIC $(EXTRACFLAGS)" CONFIG_PREFIX=$(INSTALLDIR)/busybox
698 busybox-clean:
699         -@$(MAKE) -C busybox distclean
701 busybox-config:
702         $(MAKE) -C busybox menuconfig
705 httpd: shared nvram mssl
706         @$(SEP)
707         @$(MAKE) -C httpd
709 www-install:
710         @$(MAKE) -C www install INSTALLDIR=$(INSTALLDIR)/www TOMATO_EXPERIMENTAL=$(TOMATO_EXPERIMENTAL)
712 matrixssl:
713         @$(SEP)
714         @$(MAKE) -C matrixssl/src
716 matrixssl-install:
717         @true
719 matrixssl-clean:
720         -@$(MAKE) -C matrixssl/src clean
722 cyassl/stamp-h1:
723         @cd cyassl && CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) \
724         CFLAGS="-Os -Wall -fPIC $(EXTRACFLAGS) -ffunction-sections -fdata-sections \
725         -DNO_MD4 -DNO_AES -DNO_ERROR_STRINGS -DNO_HC128 -DNO_RABBIT -DNO_PSK -DNO_DSA -DNO_DH -DNO_PWDBASED" \
726         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
727         PTHREAD_LIBS="-lpthread" \
728         $(CONFIGURE)
729         @touch cyassl/stamp-h1
731 cyassl: cyassl/stamp-h1
732         @$(SEP)
733         @$(MAKE) -C cyassl
735 cyassl-clean:
736         -@$(MAKE) -C cyassl clean
737         @rm -f cyassl/stamp-h1
739 cyassl-install:
740         @true
742 ifeq ($(FULL_OPENSSL),y)
743 OPENSSL_CIPHERS:=enable-rc5
744 else
745 OPENSSL_CIPHERS:=no-dh no-idea no-rc2 no-rc5 no-engine no-aes192 no-cast
746 endif
748 openssl/stamp-h1:
749         cd openssl && \
750         ./Configure linux-mipsel --openssldir=/etc --cross-compile-prefix=' ' \
751         -ffunction-sections -fdata-sections -Wl,--gc-sections \
752         shared $(OPENSSL_CIPHERS) no-ssl2 no-ssl3 \
753         no-sha0 no-smime no-camellia no-krb5 no-rmd160 no-ripemd \
754         no-seed no-capieng no-cms no-gms no-gmp no-rfc3779 \
755         no-ec no-ecdh no-ecdsa no-err no-hw no-jpake no-threads \
756         no-zlib no-engines no-sse2 \
757         no-dtls1 no-store no-psk no-md2 no-mdc2 no-ts
759         @$(MAKE) -C openssl clean
760         @touch openssl/stamp-h1
762 openssl: openssl/stamp-h1
764 openssl-clean:
765         -@$(MAKE) -C openssl clean
766         @rm -f openssl/stamp-h1
768 openssl-install: openssl
769         install -D openssl/libcrypto.so.1.0.0 $(INSTALLDIR)/openssl/usr/lib/libcrypto.so.1.0.0
770         $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libcrypto.so.1.0.0
771         cd $(INSTALLDIR)/openssl/usr/lib && ln -sf libcrypto.so.1.0.0 libcrypto.so
773         install -D openssl/apps/openssl $(INSTALLDIR)/openssl/usr/sbin/openssl
774         $(STRIP) $(INSTALLDIR)/openssl/usr/sbin/openssl
775         chmod 0500 $(INSTALLDIR)/openssl/usr/sbin/openssl
777         install -D -m 0500 httpd/gencert.sh $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
779 #       perl -e 'while (<>) { s/.SECS/time()-(24*60*60)/e; print; }' < httpd/gencert.sh > $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
780 #       chmod 0500 $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
782 ifeq ($(FULL_OPENSSL),y)
783         install -D openssl/libssl.so.1.0.0 $(INSTALLDIR)/openssl/usr/lib/libssl.so.1.0.0
784         $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libssl.so.1.0.0
785         cd $(INSTALLDIR)/openssl/usr/lib && ln -sf libssl.so.1.0.0 libssl.so
786 endif
788 mssl:   $(if $(FULL_OPENSSL),openssl,cyassl)
790 mdu:    shared mssl
792 rc: nvram shared
794 bridge/Makefile:
795         cd bridge && CFLAGS="-Os -g $(EXTRACFLAGS)" \
796         $(CONFIGURE) --prefix="" --with-linux-headers=$(LINUXDIR)/include
798 bridge: bridge/Makefile
799         @$(SEP)
800         @$(MAKE) -C bridge
802 bridge-clean:
803         -@$(MAKE) -C bridge clean
804         @rm -f bridge/Makefile
806 bridge-install:
807         install -D bridge/brctl/brctl $(INSTALLDIR)/bridge/usr/sbin/brctl
808         $(STRIP) $(INSTALLDIR)/bridge/usr/sbin/brctl
810 dnsmasq: $(if $(TCONFIG_DNSSEC),nettle,)
811         @$(SEP)
812         @$(MAKE) -C dnsmasq $(PARALLEL_BUILD) \
813         COPTS="$(if $(TCONFIG_DNSSEC),-I$(TOP)/nettle/include -I$(TOP)/gmp -DHAVE_DNSSEC -DHAVE_DNSSEC_STATIC,) \
814                 $(if $(TCONFIG_IPV6),-DUSE_IPV6,-DNO_IPV6) \
815                 $(if $(CONFIG_LINUX26),-DUSE_IPSET,-DNO_IPSET) \
816                 -DHAVE_BROKEN_RTC -DHAVE_TOMATO $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
817         LDFLAGS="$(if $(TCONFIG_DNSSEC),-L$(TOP)/nettle/lib -L$(TOP)/gmp/.libs,) -ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
818         $(if $(TCONFIG_DNSSEC),PKG_CONFIG_PATH="$(TOP)/nettle/lib/pkgconfig",)
820 dnsmasq-install:
821         install -D dnsmasq/src/dnsmasq $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
822         $(STRIP) $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
824 nettle/stamp-h1: gmp
825         @cd nettle && CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) \
826         CPPFLAGS="-I$(TOP)/gmp" \
827         CFLAGS="-Os -Wall $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
828         LDFLAGS="-L$(TOP)/gmp/.libs -ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
829         $(CONFIGURE) prefix=$(TOP)/nettle
830         @touch nettle/stamp-h1
832 nettle: nettle/stamp-h1
833         @$(SEP)
834         @$(MAKE) -C nettle
835         @$(MAKE) -C nettle install
837 nettle-clean:
838         -@$(MAKE) -C nettle clean
839         @rm -f nettle/stamp-h1
840         @rm -rf nettle/include nettle/lib nettle/bin nettle/share
842 gmp/stamp-h1:
843         @cd gmp && CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) \
844         CFLAGS="-Os -Wall $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
845         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
846         $(CONFIGURE)
847         @touch gmp/stamp-h1
849 gmp: gmp/stamp-h1
850         @$(SEP)
851         @$(MAKE) -C gmp
853 gmp-clean:
854         @$(MAKE) -C gmp clean
855         @rm -f gmp/stamp-h1
857 iptables:
858 ifeq ($(CONFIG_LINUX26),y)
859         cp -f iptables/extensions/libipt_ipp2p_K26.c iptables/extensions/libipt_ipp2p.c
860 else
861         cp -f iptables/extensions/libipt_ipp2p_K24.c iptables/extensions/libipt_ipp2p.c
862 endif
863         @$(SEP)
864         $(MAKE) -C iptables BINDIR=/usr/sbin LIBDIR=/usr/lib KERNEL_DIR=$(LINUXDIR) COPT_FLAGS="-Os $(EXTRACFLAGS) -U CONFIG_NVRAM_SIZE"
866 iptables-install:
867         install -D iptables/iptables $(INSTALLDIR)/iptables/usr/sbin/iptables
868         cd $(INSTALLDIR)/iptables/usr/sbin && \
869                 ln -sf iptables iptables-restore && \
870                 ln -sf iptables iptables-save
872         install -d $(INSTALLDIR)/iptables/usr/lib/iptables
873         install -D iptables/extensions/*.so $(INSTALLDIR)/iptables/usr/lib/iptables/
875         install -D iptables/libiptc.so $(INSTALLDIR)/iptables/usr/lib/libiptc.so
877         $(STRIP) $(INSTALLDIR)/iptables/usr/sbin/iptables
878         $(STRIP) $(INSTALLDIR)/iptables/usr/lib/iptables/*.so
879         $(STRIP) $(INSTALLDIR)/iptables/usr/lib/libiptc.so
881 ifeq ($(TCONFIG_IPV6),y)
882         install iptables/ip6tables $(INSTALLDIR)/iptables/usr/sbin/ip6tables
883         $(STRIP) $(INSTALLDIR)/iptables/usr/sbin/ip6tables
884         cd $(INSTALLDIR)/iptables/usr/sbin && \
885                 ln -sf ip6tables ip6tables-restore && \
886                 ln -sf ip6tables ip6tables-save
887 endif
889 iptables-clean:
890         -@$(MAKE) -C iptables KERNEL_DIR=$(LINUXDIR) clean
892 ppp:
893         @$(SEP)
894         $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp $(if $(TCONFIG_IPV6),HAVE_INET6=y,) $(PARALLEL_BUILD)
895 #       $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp DFLAGS="-DDEBUG -DDEBUGALL"
897 ppp-%:
898         $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp $(if $(TCONFIG_IPV6),HAVE_INET6=y,)
900 rp-pppoe/src/stamp-h1: rp-pppoe/src/Makefile.in
901         cd rp-pppoe/src && CFLAGS="-g -O2 $(EXTRACFLAGS)" \
902         $(CONFIGURE) --prefix=/usr --enable-plugin=$(TOP)/pppd \
903         ac_cv_linux_kernel_pppoe=yes rpppoe_cv_pack_bitfields=rev
904         @touch rp-pppoe/src/stamp-h1
906 rp-pppoe: pppd rp-pppoe/src/stamp-h1
907         $(MAKE) -C rp-pppoe/src pppoe-relay rp-pppoe.so $(PARALLEL_BUILD)
909 rp-pppoe-clean:
910         -@$(MAKE) -C rp-pppoe/src clean
911         @rm -f rp-pppoe/src/pppoe-relay
912         @rm -f rp-pppoe/src/stamp-h1
914 rp-pppoe-install: rp-pppoe
915         install -D rp-pppoe/src/rp-pppoe.so $(INSTALLDIR)/rp-pppoe/usr/lib/pppd/rp-pppoe.so
916         $(STRIP) $(INSTALLDIR)/rp-pppoe/usr/lib/pppd/*.so
917 #       install -D rp-pppoe/src/pppoe-relay $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe-relay
918 #       $(STRIP) $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe-relay
921 upnp: nvram shared iptables
923 libnfnetlink/stamp-h1:
924         cd $(TOP)/libnfnetlink && CC=$(CC) STRIP='mipsel-uclibc-strip' \
925                 CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
926                 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
927                 $(CONFIGURE) --prefix=/usr --enable-shared --enable-static
928         touch libnfnetlink/stamp-h1
930 libnfnetlink: libnfnetlink/stamp-h1
931         @$(SEP)
932         $(MAKE) -C libnfnetlink
934 libnfnetlink-install:
935         install -D libnfnetlink/src/.libs/libnfnetlink.so.0.2.0 $(INSTALLDIR)/libnfnetlink/usr/lib/libnfnetlink.so.0.2.0
936         $(STRIP) -s $(INSTALLDIR)/libnfnetlink/usr/lib/libnfnetlink.so.0.2.0
937         cd $(INSTALLDIR)/libnfnetlink/usr/lib/ && \
938                 ln -sf libnfnetlink.so.0.2.0 libnfnetlink.so.0 && \
939                 ln -sf libnfnetlink.so.0.2.0 libnfnetlink.so
941 miniupnpd-config:
942 #ifeq ($(TCONFIG_IPV6),y)
943 #       @cd miniupnpd && ./genconfig.sh --leasefile --ipv6
944 #else
945         @cd miniupnpd && ./genconfig.sh --leasefile --vendorcfg
946 #endif
948 miniupnpd: iptables miniupnpd-config
949         @$(SEP)
950         $(MAKE) -C miniupnpd miniupnpd -f Makefile.linux CC=$(CC) \
951                 CFLAGS="-Wall -Os -D_GNU_SOURCE $(EXTRACFLAGS) -I$(TOP)/iptables/include" \
952                 LDFLAGS="-L$(TOP)/iptables -liptc" LIBS="" $(PARALLEL_BUILD)
954 miniupnpd-clean:
955         -@$(MAKE) -C miniupnpd -f Makefile.linux clean
956         @rm -f miniupnpd/config.h
958 miniupnpd-install:
959         install -D miniupnpd/miniupnpd $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
960         $(STRIP) $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
962 # !!TB
963 shared: busybox
965 vsftpd: $(if $(TCONFIG_FTP_SSL),openssl,)
966         @$(SEP)
967         $(MAKE) -C vsftpd $(PARALLEL_BUILD)
969 vsftpd-install: vsftpd
970         install -D vsftpd/vsftpd $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
971         $(STRIP) -s $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
973 ntfs-3g/Makefile:
974         cd ntfs-3g && \
975         CC=$(CC) CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
976                 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
977                 $(CONFIGURE) --enable-shared=no --enable-static=no \
978                 --disable-library --disable-ldconfig --disable-mount-helper --with-fuse=internal \
979                 --disable-ntfsprogs --disable-crypto --without-uuid \
980                 --disable-posix-acls --disable-nfconv --disable-dependency-tracking
982 ntfs-3g: ntfs-3g/Makefile
983         @$(MAKE) -C ntfs-3g $(PARALLEL_BUILD)
985 ntfs-3g-clean:
986         -@$(MAKE) -C ntfs-3g clean
987         @rm -f ntfs-3g/Makefile
989 ntfs-3g-install: ntfs-3g
990         install -D ntfs-3g/src/ntfs-3g $(INSTALLDIR)/ntfs-3g/bin/ntfs-3g
991         $(STRIP) -s $(INSTALLDIR)/ntfs-3g/bin/ntfs-3g
992         install -d $(INSTALLDIR)/ntfs-3g/sbin && cd $(INSTALLDIR)/ntfs-3g/sbin && \
993                 ln -sf ../bin/ntfs-3g mount.ntfs-3g && \
994                 ln -sf ../bin/ntfs-3g mount.ntfs
996 libusb10/Makefile: libusb10/Makefile.in
997         cd libusb10 && CFLAGS="-Os -Wall $(EXTRACFLAGS)" LIBS="-lpthread" \
998         $(CONFIGURE) --prefix=/usr ac_cv_lib_rt_clock_gettime=no
1000 libusb10: libusb10/Makefile
1001         $(MAKE) -C $@
1003 libusb10-install: libusb10
1004         install -D libusb10/libusb/.libs/libusb-1.0.so $(INSTALLDIR)/libusb10/usr/lib/libusb-1.0.so
1005         $(STRIP) $(INSTALLDIR)/libusb10/usr/lib/*.so
1007 libusb10-clean:
1008         -@$(MAKE) -C $@ clean
1009         @rm -rf libusb10/Makefile
1011 libusb/Makefile: libusb/Makefile.in
1012         cd libusb && CFLAGS="-Wall -Os $(EXTRACFLAGS)" \
1013         $(CONFIGURE) --prefix=/usr \
1014                 LIBUSB_1_0_CFLAGS="-I$(TOP)/libusb10/libusb" \
1015                 LIBUSB_1_0_LIBS="-L$(TOP)/libusb10/libusb/.libs -lusb-1.0 -lpthread \
1016                 -Wl,-R/lib:/usr/lib:/opt/usr/lib:/usr/local/share"
1018 libusb: libusb10 libusb/Makefile
1019         $(MAKE) -C $@
1021 libusb-install: libusb
1022         install -D libusb/libusb/.libs/libusb-0.1.so $(INSTALLDIR)/libusb/usr/lib/libusb-0.1.so
1023         $(STRIP) $(INSTALLDIR)/libusb/usr/lib/*.so
1025 libusb-clean:
1026         -@$(MAKE) -C $@ clean
1027         @rm -rf libusb/Makefile
1029 usbmodeswitch: libusb10
1030         $(MAKE) -C $@ CC=$(CC) CFLAGS="-Os $(EXTRACFLAGS) -DLIBUSB10 \
1031             -Wl,-R/lib:/usr/lib:/opt/usr/lib:/usr/local/share -lpthread \
1032             -I$(TOP)/libusb10/libusb -L$(TOP)/libusb10/libusb/.libs -lusb-1.0"
1034 usbmodeswitchdb-install:
1035         @mkdir -p $(TARGETDIR)/rom/etc/usb_modeswitch.d
1036         # compress whitespace
1037         @for D in $(wildcard $(TOP)/usbmodeswitch/data/usb_modeswitch.d/*); do \
1038                 F=`basename $$D`; \
1039                 sed 's/###.*//g;s/[ \t]\+/ /g;s/^[ \t]*//;s/[ \t]*$$//;/^$$/d' < $$D > $(TARGETDIR)/rom/etc/usb_modeswitch.d/$$F; \
1040         done
1042 usbmodeswitch-install: usbmodeswitch usbmodeswitchdb-install
1043         install -D usbmodeswitch/usb_modeswitch $(INSTALLDIR)/usbmodeswitch/usr/sbin/usb_modeswitch
1044         $(STRIP) -s $(INSTALLDIR)/usbmodeswitch/usr/sbin/usb_modeswitch
1045         @mkdir -p $(TARGETDIR)/rom/etc
1046         @sed 's/#.*//g;s/[ \t]\+/ /g;s/^[ \t]*//;s/[ \t]*$$//;/^$$/d' < $(TOP)/usbmodeswitch/usb_modeswitch.conf > $(TARGETDIR)/rom/etc/usb_modeswitch.conf
1048 #libdaemon: libdaemon/Makefile
1049         #$(MAKE) -C $@
1051 #libdaemon/Makefile: libdaemon/Makefile.in
1052 #       cd libdaemon && $(CONFIGURE) ac_cv_func_setpgrp_void=yes \
1053 #               --disable-dependency-tracking
1055 #libdaemon-install: libdaemon
1056 #       install -D libdaemon/libdaemon/.libs/libdaemon.so.0.5.0 $(INSTALLDIR)/libdaemon/usr/lib/libdaemon.so.0.5.0
1057 #       $(STRIP) $(INSTALLDIR)/libdaemon/usr/lib/*.so.*
1058 #       cd $(INSTALLDIR)/libdaemon/usr/lib && \
1059 #               ln -sf libdaemon.so.0.5.0 libdaemon.so && \
1060 #               ln -sf libdaemon.so.0.5.0 libdaemon.so.0
1062 #libdaemon-clean:
1063 #       -@$(MAKE) -C libdaemon distclean
1065 #radvd/stamp-h1:
1066 #       cd radvd && CFLAGS="-Os $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
1067 #               LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
1068 #       $(CONFIGURE) --prefix="" --disable-dependency-tracking \
1069 #       DAEMON_CFLAGS="-I$(TOP)/libdaemon" \
1070 #       DAEMON_LIBS="-ldaemon -L$(TOP)/libdaemon/libdaemon/.libs"
1071 #       @$(MAKE) -C radvd clean
1072 #       @touch radvd/stamp-h1
1074 #radvd: libdaemon radvd/stamp-h1
1076 #radvd-clean:
1077 #       -@$(MAKE) -C radvd distclean
1078 #       @rm -f radvd/stamp-h1
1080 #radvd-install: radvd
1081 #       install -D radvd/radvd $(INSTALLDIR)/radvd/usr/sbin/radvd
1082 #       $(STRIP) $(INSTALLDIR)/radvd/usr/sbin/radvd
1084 dhcpv6/stamp-h1:
1085         @cd dhcpv6 && \
1086         CFLAGS="-Os -Wall $(EXTRACFLAGS) -D_GNU_SOURCE -ffunction-sections -fdata-sections" \
1087         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
1088         ac_cv_func_setpgrp_void=yes \
1089         $(CONFIGURE) --prefix= --with-localdbdir=/var
1090         @$(MAKE) -C dhcpv6 clean
1091         @touch dhcpv6/stamp-h1
1093 dhcpv6: dhcpv6/stamp-h1
1094         @$(SEP)
1095         @$(MAKE) -C dhcpv6 dhcp6c
1097 dhcpv6-install: dhcpv6
1098         install -D dhcpv6/dhcp6c $(INSTALLDIR)/dhcpv6/usr/sbin/dhcp6c
1099         $(STRIP) $(INSTALLDIR)/dhcpv6/usr/sbin/dhcp6c
1101 dhcpv6-clean:
1102         -@$(MAKE) -C dhcpv6 clean
1103         @rm -f dhcpv6/Makefile dhcpv6/stamp-h1
1106 p910nd:
1107 samba:
1108 samba3:
1110 nvram: shared
1112 prebuilt: shared
1114 vlan:
1115         @$(SEP)
1116         @$(MAKE) -C vlan CROSS=$(CROSS_COMPILE) # STRIPTOOL=$(STRIP)
1118 vlan-install:
1119         $(MAKE) -C vlan CROSS=$(CROSS_COMPILE) INSTALLDIR=$(INSTALLDIR) install # STRIPTOOL=$(STRIP)
1120         $(STRIP) $(INSTALLDIR)/vlan/usr/sbin/vconfig
1123 pptp-client-install:
1124         install -D pptp-client/pptp $(INSTALLDIR)/pptp-client/usr/sbin/pptp
1125         $(STRIP) $(INSTALLDIR)/pptp-client/usr/sbin/pptp
1128 accel-pptp: pppd accel-pptp/Makefile
1129         @$(MAKE) -C accel-pptp
1131 accel-pptp/Makefile: accel-pptp/Makefile.in $(LINUXDIR)/include/linux/version.h
1132         cd accel-pptp && CFLAGS="-g -O2 $(EXTRACFLAGS)" \
1133         $(CONFIGURE) --prefix=/usr KDIR=$(LINUXDIR) PPPDIR=$(TOP)/pppd
1135 accel-pptp-clean:
1136         -@$(MAKE) -C accel-pptp clean
1137         @rm -f accel-pptp/Makefile
1139 accel-pptp-install: accel-pptp
1140         install -D accel-pptp/src/.libs/pptp.so $(INSTALLDIR)/accel-pptp/usr/lib/pppd/pptp.so
1141         $(STRIP) $(INSTALLDIR)/accel-pptp/usr/lib/pppd/pptp.so
1143 pptpd/stamp-h1:
1144         cd pptpd && $(CONFIGURE) --prefix=$(INSTALLDIR)/pptpd --enable-bcrelay CC=mipsel-uclibc-gcc \
1145                 STRIP=mipsel-uclibc-strip AR=mipsel-uclibc-ar LD=mipsel-uclibc-ld NM=mipsel-uclibc-nm RANLIB=mipsel-uclibc-ranlib
1146         touch pptpd/stamp-h1
1148 pptpd: pptpd/stamp-h1
1150 pptpd-install: pptpd
1151         @echo pptpd
1152         @install -D pptpd/pptpd $(INSTALLDIR)/pptpd/usr/sbin/pptpd
1153         @install -D pptpd/bcrelay $(INSTALLDIR)/pptpd/usr/sbin/bcrelay
1154         @install -D pptpd/pptpctrl $(INSTALLDIR)/pptpd/usr/sbin/pptpctrl
1155         @$(STRIP) $(INSTALLDIR)/pptpd/usr/sbin/pptpd
1156         @$(STRIP) $(INSTALLDIR)/pptpd/usr/sbin/bcrelay
1157         @$(STRIP) $(INSTALLDIR)/pptpd/usr/sbin/pptpctrl
1159 pptpd-clean:
1160         -@$(MAKE) -C pptpd clean
1161         rm -rf pptpd/stamp-h1 pptpd/.deps
1163 pppd/Makefile: pppd/linux/Makefile.top
1164         cd pppd && $(CONFIGURE) --prefix=/usr --sysconfdir=/tmp
1166 pppd: pppd/Makefile
1167         @$(SEP)
1168         @$(MAKE) -C pppd MFLAGS='$(if $(TCONFIG_IPV6),HAVE_INET6=y,) EXTRACFLAGS="$(EXTRACFLAGS)"'
1170 pppd-clean:
1171         -@$(MAKE) -C pppd clean
1172         @rm -f pppd/Makefile
1174 pppd-install: pppd
1175         install -D pppd/pppd/pppd $(INSTALLDIR)/pppd/usr/sbin/pppd
1176         $(STRIP) $(INSTALLDIR)/pppd/usr/sbin/pppd
1177         install -D pppd/chat/chat $(INSTALLDIR)/pppd/usr/sbin/chat
1178         $(STRIP) $(INSTALLDIR)/pppd/usr/sbin/chat
1179 ifeq ($(TCONFIG_L2TP),y)
1180         install -D pppd/pppd/plugins/pppol2tp/pppol2tp.so $(INSTALLDIR)/pppd/usr/lib/pppd/pppol2tp.so
1181         $(STRIP) $(INSTALLDIR)/pppd/usr/lib/pppd/*.so
1182 endif
1184 #       ipupdate-install:
1185 #               install -D ipupdate/ez-ipupdate $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
1186 #               $(STRIP) $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
1188 zebra/stamp-h1:
1189         @cd zebra && rm -f config.cache && \
1190         CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) \
1191         CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
1192         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
1193         $(CONFIGURE) --sysconfdir=/etc \
1194         --enable-netlink $(if $(TCONFIG_IPV6),--enable-ipv6,--disable-ipv6) --disable-ripngd --disable-ospfd --disable-doc \
1195         --disable-ospf6d --disable-bgpd --disable-bgpd-announce
1196         @touch zebra/stamp-h1
1198 zebra: zebra/stamp-h1
1199         @$(MAKE) -C zebra CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD)
1201 zebra-clean:
1202         -@$(MAKE) -C zebra clean
1203         @rm -f zebra/stamp-h1
1205 zebra-install: zebra
1206         install -D zebra/zebra/zebra $(INSTALLDIR)/zebra/usr/sbin/zebra
1207         install -D zebra/ripd/ripd $(INSTALLDIR)/zebra/usr/sbin/ripd
1208         install -D zebra/lib/libzebra.so $(INSTALLDIR)/zebra/usr/lib/libzebra.so
1209         $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/zebra
1210         $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/ripd
1211         $(STRIP) $(INSTALLDIR)/zebra/usr/lib/libzebra.so
1214 rp-l2tp-install:
1215         install -d $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
1216         install rp-l2tp/handlers/*.so $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
1217         $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp/*.so
1218         install -D rp-l2tp/handlers/l2tp-control $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
1219         $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
1220         install -D rp-l2tp/l2tpd $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
1221         $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
1223 xl2tpd: pppd
1224         CFLAGS="-g $(EXTRACFLAGS)" $(MAKE) -C $@ PREFIX=/usr xl2tpd
1226 xl2tpd-install: xl2tpd
1227         install -D xl2tpd/xl2tpd $(INSTALLDIR)/xl2tpd/usr/sbin/xl2tpd
1228         $(STRIP) $(INSTALLDIR)/xl2tpd/usr/sbin/xl2tpd
1231 bpalogin-install:
1232         install -D bpalogin/bpalogin $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
1233         $(STRIP) $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
1236 #       libnet:
1237 #               @$(SEP)
1238 #               @-mkdir -p libnet/lib
1239 #               @$(MAKE) -C libnet CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
1241 #       libpcap:
1242 #               @$(SEP)
1243 #               @$(MAKE) -C libpcap CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
1245 libbcm:
1246         @[ ! -f libbcm/Makefile ] || $(MAKE) -C libbcm
1248 libbcm-install:
1249         install -D libbcm/libbcm.so $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
1250         $(STRIP) $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
1253 iproute2:
1254         @$(SEP)
1255         @$(MAKE) -C $@ KERNEL_INCLUDE=$(LINUXDIR)/include EXTRACFLAGS="$(EXTRACFLAGS) $(if $(TCONFIG_IPV6),-DUSE_IPV6,-DNO_IPV6)"
1257 iproute2-install: iproute2
1258         install -D iproute2/tc/tc $(INSTALLDIR)/iproute2/usr/sbin/tc
1259         $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/tc
1260         install -D iproute2/ip/ip $(INSTALLDIR)/iproute2/usr/sbin/ip
1261         $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/ip
1264 ntpc: nvram shared
1267 dropbear: dropbear/config.h
1268         @$(SEP)
1269         @$(MAKE) -C dropbear PROGRAMS="dropbear dbclient dropbearkey scp" MULTI=1 $(PARALLEL_BUILD)
1271 dropbear-install:
1272         install -D dropbear/dropbearmulti $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
1273         $(STRIP) $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
1274         cd $(INSTALLDIR)/dropbear/usr/bin && \
1275         ln -sf dropbearmulti dropbear && \
1276         ln -sf dropbearmulti dropbearconvert && \
1277         ln -sf dropbearmulti dropbearkey && \
1278         ln -sf dropbearmulti dbclient && \
1279         ln -sf dropbearmulti ssh && \
1280         ln -sf dropbearmulti scp
1282 dropbear-clean:
1283         -@$(MAKE) -C dropbear clean
1284         @rm -f dropbear/config.h
1286 dropbear/config.h:
1287         cd dropbear && \
1288                 CFLAGS="-Os -Wall $(EXTRACFLAGS) -DARGTYPE=3 -ffunction-sections -fdata-sections" \
1289                 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
1290                 ac_cv_func_logout=no ac_cv_func_logwtmp=no \
1291                 $(CONFIGURE) --disable-zlib --enable-syslog --disable-lastlog --disable-utmp \
1292                 --disable-utmpx --disable-wtmp --disable-wtmpx --disable-pututline \
1293                 --disable-pututxline --disable-loginfunc --disable-pam --enable-openpty --enable-bundled-libtom
1294         @$(MAKE) -C dropbear clean
1296 # Media libraries
1298 sqlite/stamp-h1:
1299         cd sqlite && \
1300         CC=$(CC) CFLAGS="-Os $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
1301                 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
1302                 $(CONFIGURE) --prefix=/usr --enable-shared --enable-static \
1303                 --disable-readline --disable-dynamic-extensions --enable-threadsafe
1304         touch sqlite/stamp-h1
1306 sqlite: sqlite/stamp-h1
1307         @$(MAKE) -C sqlite all $(PARALLEL_BUILD)
1309 sqlite-clean:
1310         -@$(MAKE) -C sqlite clean
1311         @rm -f sqlite/stamp-h1
1313 sqlite-install: sqlite
1314         @$(SEP)
1315 ifeq ($(TCONFIG_NGINX),y)
1316         install -D sqlite/.libs/libsqlite3.so.0.8.6 $(INSTALLDIR)/sqlite/usr/lib/libsqlite3.so.0.8.6
1317         $(STRIP) $(INSTALLDIR)/sqlite/usr/lib/libsqlite3.so.0.8.6
1318         cd $(INSTALLDIR)/sqlite/usr/lib/ && \
1319                 ln -sf libsqlite3.so.0.8.6 libsqlite3.so.0 && \
1320                 ln -sf libsqlite3.so.0.8.6 libsqlite3.so
1321 endif
1323 FFMPEG_FILTER_CONFIG= $(foreach c, $(2), --$(1)="$(c)")
1325 FFMPEG_DECODERS:=aac ac3 atrac3 flac h264 jpegls mp3 mpeg1video mpeg2video mpeg4 mpeg4aac mpegvideo png wmav1 wmav2
1326 FFMPEG_CONFIGURE_DECODERS:=$(call FFMPEG_FILTER_CONFIG,enable-decoder,$(FFMPEG_DECODERS))
1328 FFMPEG_PARSERS:=aac ac3 h264 mpeg4video mpegaudio mpegvideo
1329 FFMPEG_CONFIGURE_PARSERS:=$(call FFMPEG_FILTER_CONFIG,enable-parser,$(FFMPEG_PARSERS))
1331 FFMPEG_PROTOCOLS:=file
1332 FFMPEG_CONFIGURE_PROTOCOLS:=$(call FFMPEG_FILTER_CONFIG,enable-protocol,$(FFMPEG_PROTOCOLS))
1334 FFMPEG_DISABLED_DEMUXERS:=amr apc ape ass bethsoftvid bfi c93 daud dnxhd dsicin dxa ffm gsm gxf idcin iff image2 image2pipe ingenient ipmovie lmlm4 mm mmf msnwc_tcp mtv mxf nsv nut oma pva rawvideo rl2 roq rpl segafilm shorten siff smacker sol str thp tiertexseq tta txd vmd voc wc3 wsaud wsvqa xa yuv4mpegpipe
1335 FFMPEG_CONFIGURE_DEMUXERS:=$(call FFMPEG_FILTER_CONFIG,disable-demuxer,$(FFMPEG_DISABLED_DEMUXERS))
1337 ffmpeg/stamp-h1: zlib
1338         cd ffmpeg && symver_asm_label=no symver_gnu_asm=no symver=no CC=$(CC) \
1339                 ./configure --enable-cross-compile --arch=mips --target_os=linux \
1340                 --cross-prefix=$(CROSS_COMPILE) --enable-shared --enable-gpl --disable-doc \
1341                 --enable-pthreads --enable-small --disable-encoders --disable-filters \
1342                 --disable-muxers --disable-devices --disable-ffmpeg --disable-ffplay \
1343                 --disable-ffserver --disable-ffprobe --disable-avdevice --disable-swscale \
1344                 --disable-hwaccels --disable-network --disable-bsfs --disable-mpegaudio-hp \
1345                 --enable-demuxers $(FFMPEG_CONFIGURE_DEMUXERS) \
1346                 --disable-decoders $(FFMPEG_CONFIGURE_DECODERS) \
1347                 --disable-parsers $(FFMPEG_CONFIGURE_PARSERS) \
1348                 --disable-protocols $(FFMPEG_CONFIGURE_PROTOCOLS) \
1349                 --extra-cflags="-Os $(EXTRACFLAGS) -ffunction-sections -fdata-sections -fPIC -I$(TOP)/zlib" \
1350                 --extra-ldflags="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
1351                 --extra-libs="-L$(TOP)/zlib -lz" \
1352                 --enable-zlib --disable-debug --prefix=''
1353         touch ffmpeg/stamp-h1
1355 ffmpeg: ffmpeg/stamp-h1 zlib
1356         @$(MAKE) -C ffmpeg all $(PARALLEL_BUILD)
1358 ffmpeg-clean:
1359         -@$(MAKE) -C ffmpeg clean
1360         @rm -f ffmpeg/stamp-h1 ffmpeg/config.h ffmpeg/config.mak
1362 ffmpeg-install: ffmpeg
1363         @$(SEP)
1364 ifneq ($(MEDIA_SERVER_STATIC),y)
1365         install -D ffmpeg/libavformat/libavformat.so.52 $(INSTALLDIR)/ffmpeg/usr/lib/libavformat.so.52
1366         install -D ffmpeg/libavcodec/libavcodec.so.52 $(INSTALLDIR)/ffmpeg/usr/lib/libavcodec.so.52
1367         install -D ffmpeg/libavutil/libavutil.so.50 $(INSTALLDIR)/ffmpeg/usr/lib/libavutil.so.50
1368         $(STRIP) $(INSTALLDIR)/ffmpeg/usr/lib/libavformat.so.52
1369         $(STRIP) $(INSTALLDIR)/ffmpeg/usr/lib/libavcodec.so.52
1370         $(STRIP) $(INSTALLDIR)/ffmpeg/usr/lib/libavutil.so.50
1371 endif
1373 libogg/stamp-h1:
1374         cd libogg && \
1375         CFLAGS="-Os $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
1376         LDFLAGS="-fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1377         $(CONFIGURE) --enable-shared --enable-static --prefix=''
1378         touch libogg/stamp-h1
1380 libogg: libogg/stamp-h1
1381         @$(MAKE) -C libogg all $(PARALLEL_BUILD)
1383 libogg-clean:
1384         -@$(MAKE) -C libogg clean
1385         @rm -f libogg/stamp-h1
1387 libogg-install: libogg
1388         @$(SEP)
1389 ifneq ($(MEDIA_SERVER_STATIC),y)
1390         install -D libogg/src/.libs/libogg.so.0 $(INSTALLDIR)/libogg/usr/lib/libogg.so.0
1391         $(STRIP) $(INSTALLDIR)/libogg/usr/lib/libogg.so.0
1392 endif
1394 flac/stamp-h1: libogg
1395         cd flac && \
1396         CFLAGS="-Os $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
1397         CPPFLAGS="-I$(TOP)/libogg/include" \
1398         LDFLAGS="-L$(TOP)/libogg/src/.libs -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1399         $(CONFIGURE) --enable-shared --enable-static --prefix='' --disable-rpath \
1400                 --disable-doxygen-docs --disable-xmms-plugin --disable-cpplibs \
1401                 --without-libiconv-prefix --disable-altivec --disable-3dnow --disable-sse
1402         touch flac/stamp-h1
1404 flac: flac/stamp-h1 libogg
1405         @$(MAKE) -C flac/src/libFLAC all $(PARALLEL_BUILD)
1407 flac-clean:
1408         -@$(MAKE) -C flac clean
1409         @rm -f flac/stamp-h1
1411 flac-install: flac
1412         @$(SEP)
1413 ifneq ($(MEDIA_SERVER_STATIC),y)
1414         install -D flac/src/libFLAC/.libs/libFLAC.so.8 $(INSTALLDIR)/flac/usr/lib/libFLAC.so.8
1415         $(STRIP) $(INSTALLDIR)/flac/usr/lib/libFLAC.so.8
1416 endif
1418 jpeg/stamp-h1:
1419         cd jpeg && \
1420         CFLAGS="-Os $(EXTRACFLAGS) -fPIC" CC=$(CC) AR2="touch" $(CONFIGURE) --enable-shared --enable-static --prefix=''
1421         touch jpeg/stamp-h1
1423 jpeg: jpeg/stamp-h1
1424         @$(MAKE) -C jpeg LIBTOOL="" O=o A=a CC=$(CC) AR2="touch" libjpeg.a libjpeg.so $(PARALLEL_BUILD)
1425         install -d $(TOP)/jpeg/staged/include
1426         install -d $(TOP)/jpeg/staged/lib
1427         install -d $(TOP)/jpeg/staged/bin
1428         install -d $(TOP)/jpeg/staged/man/man1
1429         @$(MAKE) -C jpeg LIBTOOL="" prefix=$(TOP)/jpeg/staged install
1430         install -D jpeg/libjpeg.so $(TOP)/jpeg/staged/lib/libjpeg.so
1431         rm -f $(TOP)/jpeg/staged/lib/libjpeg.la
1433 jpeg-clean:
1434         -@$(MAKE) -C jpeg clean
1435         @rm -f jpeg/stamp-h1 jpeg/Makefile
1436         @rm -rf jpeg/staged
1438 jpeg-install: jpeg
1439         @$(SEP)
1440 ifneq ($(MEDIA_SERVER_STATIC),y)
1441         install -D jpeg/libjpeg.so $(INSTALLDIR)/jpeg/usr/lib/libjpeg.so
1442         $(STRIP) $(INSTALLDIR)/jpeg/usr/lib/libjpeg.so
1443 endif
1444 ifeq ($(TCONFIG_NGINX),y)
1445         install -D jpeg/libjpeg.so $(INSTALLDIR)/jpeg/usr/lib/libjpeg.so
1446         $(STRIP) $(INSTALLDIR)/jpeg/usr/lib/libjpeg.so
1447 endif
1449 libexif/stamp-h1:
1450         cd libexif && CFLAGS="-Os -Wall $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
1451         LDFLAGS="-fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1452         $(CONFIGURE) --enable-shared --enable-static --prefix='' \
1453                 --disable-docs --disable-rpath --disable-nls --without-libiconv-prefix --without-libintl-prefix
1454         touch libexif/stamp-h1
1456 libexif: libexif/stamp-h1
1457         @$(MAKE) -C libexif all
1459 libexif-clean:
1460         -@$(MAKE) -C libexif clean
1461         @rm -f libexif/stamp-h1
1463 libexif-install: libexif
1464         @$(SEP)
1465 ifneq ($(MEDIA_SERVER_STATIC),y)
1466         install -D libexif/libexif/.libs/libexif.so.12 $(INSTALLDIR)/libexif/usr/lib/libexif.so.12
1467         $(STRIP) $(INSTALLDIR)/libexif/usr/lib/libexif.so.12
1468 endif
1470 zlib/stamp-h1:
1471         cd zlib && \
1472         CC=$(CC) RANLIB=$(RANLIB) LD=$(LD) CFLAGS="-Os -Wall $(EXTRACFLAGS) -fPIC" LDSHAREDLIBC="$(EXTRALDFLAGS)" \
1473         ./configure --shared --prefix=/usr --libdir=/usr/lib
1474         touch zlib/stamp-h1
1476 zlib: zlib/stamp-h1
1477         @$(MAKE) -C zlib all
1478         @$(MAKE) -C zlib DESTDIR=$(TOP)/zlib/staged install
1480 zlib-clean:
1481         -@$(MAKE) -C zlib clean
1482         @rm -f zlib/stamp-h1 zlib/Makefile zlib/zconf.h zlib/zlib.pc
1483         @rm -rf zlib/staged
1485 zlib-install: zlib
1486         @$(SEP)
1487 ifneq ($(MEDIA_SERVER_STATIC),y)
1488         install -d $(INSTALLDIR)/zlib/usr/lib
1489         install -D zlib/libz.so.1 $(INSTALLDIR)/zlib/usr/lib/
1490         $(STRIP) $(INSTALLDIR)/zlib/usr/lib/libz.so.1
1491 endif
1492 ifeq ($(TCONFIG_BT),y)
1493         install -d $(INSTALLDIR)/zlib/usr/lib
1494         install -D zlib/libz.so.1 $(INSTALLDIR)/zlib/usr/lib/
1495         $(STRIP) $(INSTALLDIR)/zlib/usr/lib/libz.so.1
1496 endif
1497 ifeq ($(TCONFIG_TOR),y)
1498         install -d $(INSTALLDIR)/zlib/usr/lib
1499         install -D zlib/libz.so.1 $(INSTALLDIR)/zlib/usr/lib/
1500         $(STRIP) $(INSTALLDIR)/zlib/usr/lib/libz.so.1
1501 endif
1502 ifeq ($(TCONFIG_NGINX),y)
1503         install -d $(INSTALLDIR)/zlib/usr/lib
1504         install -D zlib/libz.so.1 $(INSTALLDIR)/zlib/usr/lib/
1505         $(STRIP) $(INSTALLDIR)/zlib/usr/lib/libz.so.1
1506 endif
1508 libid3tag/stamp-h1: zlib
1509         cd libid3tag && \
1510         CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" CPPFLAGS="-I$(TOP)/zlib" \
1511         LDFLAGS="-L$(TOP)/zlib -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1512         $(CONFIGURE) --enable-shared --enable-static --prefix='' \
1513                 --disable-debugging --disable-profiling
1514         touch libid3tag/stamp-h1
1516 libid3tag: libid3tag/stamp-h1 zlib
1517         @$(MAKE) -C libid3tag all $(PARALLEL_BUILD)
1519 libid3tag-clean:
1520         -@$(MAKE) -C libid3tag clean
1521         @rm -f libid3tag/stamp-h1
1523 libid3tag-install: libid3tag
1524         @$(SEP)
1525 ifneq ($(MEDIA_SERVER_STATIC),y)
1526         install -D libid3tag/.libs/libid3tag.so.0 $(INSTALLDIR)/libid3tag/usr/lib/libid3tag.so.0
1527         $(STRIP) $(INSTALLDIR)/libid3tag/usr/lib/libid3tag.so.0
1528 endif
1530 libvorbis/stamp-h1: libogg
1531         cd libvorbis && \
1532         CFLAGS="-Os -Wall $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
1533         CPPFLAGS="-I$(TOP)/libogg/include" \
1534         LDFLAGS="-L$(TOP)/libogg/src/.libs -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1535         $(CONFIGURE) --enable-shared --enable-static --prefix='' --disable-oggtest \
1536                 --with-ogg-includes="$(TOP)/libogg/include" \
1537                 --with-ogg-libraries="$(TOP)/libogg/src/.libs"
1538         touch libvorbis/stamp-h1
1540 libvorbis: libvorbis/stamp-h1
1541         @$(MAKE) -C libvorbis/lib all $(PARALLEL_BUILD)
1543 libvorbis-clean:
1544         -@$(MAKE) -C libvorbis clean
1545         @rm -f libvorbis/stamp-h1
1547 libvorbis-install: libvorbis
1548         @$(SEP)
1549 ifneq ($(MEDIA_SERVER_STATIC),y)
1550         install -D libvorbis/lib/.libs/libvorbis.so.0 $(INSTALLDIR)/libvorbis/usr/lib/libvorbis.so.0
1551         $(STRIP) $(INSTALLDIR)/libvorbis/usr/lib/libvorbis.so.0
1552 endif
1554 minidlna: zlib sqlite ffmpeg libogg flac jpeg libexif libid3tag libvorbis
1555         @$(SEP)
1556         @$(MAKE) -C minidlna CC=$(CC) $(if $(MEDIA_SERVER_STATIC),STATIC=1,) minidlna $(PARALLEL_BUILD)
1558 minidlna-clean:
1559         -@$(MAKE) -C minidlna clean
1560         @rm -f minidlna/stamp-h1
1562 minidlna-install: minidlan
1563         @$(SEP)
1564         install -D minidlna/minidlna $(INSTALLDIR)/minidlna/usr/sbin/minidlna
1565         $(STRIP) $(INSTALLDIR)/minidlna/usr/sbin/minidlna
1567 igmpproxy/src/Makefile: igmpproxy/src/Makefile.in
1568         cd igmpproxy && CFLAGS="-O2 -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
1569         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
1570         $(CONFIGURE) --prefix=/usr
1572 igmpproxy: igmpproxy/src/Makefile
1573         @$(SEP)
1574         @$(MAKE) -C igmpproxy/src $(PARALLEL_BUILD)
1576 igmpproxy-install: igmpproxy
1577         install -D igmpproxy/src/igmpproxy $(INSTALLDIR)/igmpproxy/usr/sbin/igmpproxy
1578         $(STRIP) $(INSTALLDIR)/igmpproxy/usr/sbin/igmpproxy
1580 igmpproxy-clean:
1581         -@$(MAKE) -C igmpproxy/src clean
1582         @rm -f igmpproxy/src/Makefile
1584 udev:
1585         $(MAKE) -C $@ CROSS_COMPILE=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)" \
1586             PROGRAMS=udevtrigger
1588 udev-install: udev
1589         install -d $(INSTALLDIR)
1590         install -d $(TARGETDIR)
1591         $(MAKE) -C udev DESTDIR=$(INSTALLDIR) prefix=/udev install-udevtrigger
1593 hotplug2:
1594         $(MAKE) -C $@ CROSS_COMPILE=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)"
1596 hotplug2-install: hotplug2
1597         $(MAKE) -C hotplug2 install PREFIX=$(INSTALLDIR)/hotplug2 SUBDIRS=""
1598         $(MAKE) -C hotplug2/examples install PREFIX=$(INSTALLDIR)/hotplug2/rom KERNELVER=$(LINUX_KERNEL)
1600 emf:
1601         $(MAKE) -C $(SRCBASE)/emf/emfconf CROSS=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)"
1603 emf-install: emf
1604         $(MAKE) -C $(SRCBASE)/emf/emfconf INSTALLDIR=$(INSTALLDIR) install
1606 igs:
1607         $(MAKE) -C $(SRCBASE)/emf/igsconf CROSS=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)"
1609 igs-install: igs
1610         $(MAKE) -C $(SRCBASE)/emf/igsconf INSTALLDIR=$(INSTALLDIR) install
1612 wanuptime: nvram shared
1613         @$(SEP)
1614         @$(MAKE) -C wanuptime
1616 wanuptime-clean:
1617         -@$(MAKE) -C wanuptime clean
1619 wanuptime-install:
1620         install -D wanuptime/wanuptime $(INSTALLDIR)/wanuptime/usr/sbin/wanuptime
1621         $(STRIP) $(INSTALLDIR)/wanuptime/usr/sbin/wanuptime
1623 ebtables: dummy
1624         $(MAKE) -C ebtables CC=$(CC) LD=$(LD) \
1625         CFLAGS="-Os $(EXTRACFLAGS) -DEBT_MIN_ALIGN=4 -Wall -Wunused" \
1626         BINDIR="/usr/sbin" LIBDIR="/usr/lib/ebtables" KERNEL_INCLUDES=$(LINUXDIR)/include $(if $(TCONFIG_IPV6),DO_IPV6=1,)
1628 ebtables-install: ebtables
1629         install -D ebtables/ebtables $(INSTALLDIR)/ebtables/usr/sbin/ebtables
1631         @mkdir -p $(TARGETDIR)/rom/etc
1632         @sed 's/#.*//g;s/[ \t]\+/ /g;s/^[ \t]*//;s/[ \t]*$$//;/^$$/d' < $(TOP)/ebtables/ethertypes > $(TARGETDIR)/rom/etc/ethertypes
1633         chmod 0644 $(TARGETDIR)/rom/etc/ethertypes
1635         install -d $(INSTALLDIR)/ebtables/usr/lib
1636         install -d $(INSTALLDIR)/ebtables/usr/lib/ebtables
1637         install -D ebtables/*.so $(INSTALLDIR)/ebtables/usr/lib/
1638         install -D ebtables/extensions/*.so $(INSTALLDIR)/ebtables/usr/lib/ebtables/
1640         $(STRIP) $(INSTALLDIR)/ebtables/usr/sbin/ebtables
1641         $(STRIP) $(INSTALLDIR)/ebtables/usr/lib/ebtables/*.so
1642         $(STRIP) $(INSTALLDIR)/ebtables/usr/lib/libebt*.so
1644 ebtables-clean:
1645         -@$(MAKE) -C ebtables clean
1647 #Roadkill
1648 spawn-fcgi/stamp-h1:
1649         cd spawn-fcgi && CC=$(CC) \
1650         CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
1651         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
1652         ac_cv_func_malloc_0_nonnull=yes \
1653         $(CONFIGURE) --prefix=/usr
1654         touch spawn-fcgi/stamp-h1
1656 spawn-fcgi: spawn-fcgi/stamp-h1
1657         @$(MAKE) -C spawn-fcgi $(PARALLEL_BUILD)
1659 spawn-fcgi-clean:
1660         -@$(MAKE) -C spawn-fcgi clean
1661         rm -f spawn-fcgi/stamp-h1
1663 spawn-fcgi-install: spawn-fcgi
1664         install -d $(INSTALLDIR)/spawn-fcgi/usr/bin
1665         install spawn-fcgi/src/spawn-fcgi $(INSTALLDIR)/spawn-fcgi/usr/bin/spawn-fcgi
1666         $(STRIP) -s $(INSTALLDIR)/spawn-fcgi/usr/bin/spawn-fcgi
1668 #Roadkill
1669 glib/stamp-h1:
1670         @$(SEP)
1671         @cd glib && $(CONFIGURE) --prefix=/usr glib_cv_prog_cc_ansi_proto=no glib_cv_has__inline=yes glib_cv_has__inline__=yes glib_cv_hasinline=yes \
1672                 glib_cv_sane_realloc=yes glib_cv_va_copy=no glib_cv___va_copy=yes glib_cv_va_val_copy=yes glib_cv_rtldglobal_broken=no \
1673                 glib_cv_uscore=no glib_cv_func_pthread_mutex_trylock_posix=yes glib_cv_func_pthread_cond_timedwait_posix=yes glib_cv_sizeof_gmutex=24 \
1674                 glib_cv_byte_contents_gmutex="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0" glib_cv_sys_pthread_getspecific_posix=yes \
1675                 glib_cv_sys_pthread_mutex_trylock_posix=yes glib_cv_sys_pthread_cond_timedwait_posix=yes ac_cv_func_getpwuid_r=yes ac_cv_func_getpwuid_r_posix=yes
1676         @$(MAKE) -C glib
1677         touch glib/stamp-h1
1679 glib: glib/stamp-h1
1680         @$(MAKE) -C glib $(PARALLEL_BUILD)
1682 glib-clean:
1683         -@$(MAKE) -C glib clean
1684         rm -f glib/stamp-h1
1686 glib-install: glib
1687         @$(MAKE) -C glib DESTDIR=$(INSTALLDIR)/glib install
1689 nocat/stamp-h1: glib-install
1690         @$(SEP)
1691         @cd nocat && \
1692         NC_CONF_PATH="/" \
1693         $(CONFIGURE) --with-firewall=iptables --with-glib-prefix="$(INSTALLDIR)/glib/usr" --localstatedir=/var --sysconfdir=/etc
1694         @$(MAKE) -C nocat
1696         echo *** integrate glib to nocat installdir
1697         install -d $(INSTALLDIR)/nocat/usr/lib
1698         install -D glib/.libs/libglib-1.2.so.0.0.10 $(INSTALLDIR)/nocat/usr/lib/libglib-1.2.so.0.0.10
1699         cd $(INSTALLDIR)/nocat/usr/lib && ln -s libglib-1.2.so.0.0.10 libglib-1.2.so.0
1700         $(STRIP) $(INSTALLDIR)/nocat/usr/lib/libglib-1.2.so.0.0.10
1701         touch nocat/stamp-h1
1703 nocat: nocat/stamp-h1
1704         @$(MAKE) -C nocat $(PARALLEL_BUILD)
1706 nocat-clean:
1707         -@$(MAKE) -C nocat clean
1708         rm -f nocat/stamp-h1
1710 nocat-install:
1711         install -D nocat/src/splashd $(INSTALLDIR)/nocat/usr/sbin/splashd
1712         $(STRIP) $(INSTALLDIR)/nocat/usr/sbin/splashd
1713         mkdir -p $(INSTALLDIR)/nocat/usr/libexec/nocat
1714         install -D nocat/libexec/iptables/* $(INSTALLDIR)/nocat/usr/libexec/nocat
1716 #Tomato RAF
1717 pcre/stamp-h1:
1718         $(SEP)
1719         cd pcre && \
1720         CC=$(CC) CXX=$(HOST)-g++ AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
1721         $(CONFIGURE) --prefix=/usr --disable-dependency-tracking --enable-utf8 --enable-unicode-properties --disable-cpp
1722         @touch pcre/stamp-h1
1723         [ -d pcre/m4 ] || mkdir pcre/m4
1725 pcre: pcre/stamp-h1
1727 pcre-install: pcre
1728         @$(SEP)
1729         install -D pcre/.libs/libpcre.so.1 $(INSTALLDIR)/pcre/usr/lib/libpcre.so.1.2.3
1730         $(STRIP) -s $(INSTALLDIR)/pcre/usr/lib/libpcre.so.1.2.3
1731         install -D pcre/.libs/libpcreposix.so.0.0.2 $(INSTALLDIR)/pcre/usr/lib/libpcreposix.so.0.0.2
1732         $(STRIP) -s $(INSTALLDIR)/pcre/usr/lib/libpcreposix.so.0.0.2
1733         cd $(INSTALLDIR)/pcre/usr/lib/ && \
1734                 ln -sf libpcre.so.1.2.3 libpcre.so.1 && \
1735                 ln -sf libpcreposix.so.0.0.2 libpcreposix.so.0
1737 pcre-clean:
1738         ( if [ -f pcre/Makefile ]; then \
1739                 $(MAKE) -C pcre clean; \
1740                 rm -rf pcre/stamp-h1; \
1741         fi )
1743 libxml2/stamp-h1:
1744         cd libxml2 && \
1745         CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
1746         $(CONFIGURE) --prefix=/usr --without-python --enable-static --enable-shared
1747         touch $@
1749 libxml2: libxml2/stamp-h1
1750         @$(MAKE) -C libxml2 all $(PARALLEL_BUILD)
1751         @$(MAKE) -C libxml2 DESTDIR=$(TOP)/libxml2/staged install
1753 libxml2-install: libxml2
1754         @$(SEP)
1755         install -D libxml2/.libs/libxml2.so.2.9.1 $(INSTALLDIR)/libxml2/usr/lib/libxml2.so.2.9.1
1756         $(STRIP) $(INSTALLDIR)/libxml2/usr/lib/libxml2.so.2.9.1
1757         cd $(INSTALLDIR)/libxml2/usr/lib && \
1758                 ln -sf libxml2.so.2.9.1 libxml2.so.2 && \
1759                 ln -sf libxml2.so.2.9.1 libxml2.so
1761 libxml2-clean:
1762         -@$(MAKE) -C libxml2 clean
1763         @rm -f libxml2/stamp-h1
1764         @rm -rf libxml2/staged
1766 libpng/stamp-h1: zlib
1767         cd libpng && \
1768         CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) CFLAGS="-Os -Wall -I$(TOP)/zlib $(EXTRACFLAGS)" LDFLAGS="-L$(TOP)/zlib" \
1769         $(CONFIGURE) --prefix=/usr --enable-static --enable-shared
1770         touch $@
1772 libpng: libpng/stamp-h1
1773         @$(MAKE) -C libpng all $(PARALLEL_BUILD)
1774         @$(MAKE) -C libpng DESTDIR=$(TOP)/libpng/staged install
1776 libpng-install: libpng
1777         @$(SEP)
1778         install -D libpng/.libs/libpng.so.3.51.0 $(INSTALLDIR)/libpng/usr/lib/libpng.so.3.51.0
1779         $(STRIP) $(INSTALLDIR)/libpng/usr/lib/libpng.so.3.51.0
1780         cd $(INSTALLDIR)/libpng/usr/lib && \
1781                 ln -sf libpng.so.3.51.0 libpng.so && \
1782                 ln -sf libpng.so.3.51.0 libpng.so.3
1783         install -D libpng/.libs/libpng12.so.0.51.0 $(INSTALLDIR)/libpng/usr/lib/libpng12.so.0.51.0
1784         $(STRIP) $(INSTALLDIR)/libpng/usr/lib/libpng12.so.0.51.0
1785         cd $(INSTALLDIR)/libpng/usr/lib && \
1786                 ln -sf libpng12.so.0.51.0 libpng12.so && \
1787                 ln -sf libpng12.so.0.51.0 libpng12.so.0
1789 libpng-clean:
1790         -@$(MAKE) -C libpng clean
1791         @rm -f libpng/stamp-h1
1792         @rm -rf libpng/staged
1794 php/stamp-h1: pcre zlib libiconv sqlite libxml2 libpng jpeg
1795         @$(SEP)
1796         cd php && CC=$(CC) CXX=$(ARCH)-g++ AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) \
1797         CFLAGS="-Os -Wall -I$(TOP)/zlib -I$(TOP)/libxml2/include/libxml -I$(TOP)/libxml2/include -I$(TOP)/pcre -I$(TOP)/libiconv/include -I$(TOP)/libpng/staged/usr/include" \
1798         LDFLAGS="-L$(TOP)/pcre/.libs -L$(TOP)/sqlite/.libs -L$(TOP)/zlib -L$(TOP)/libxml2/.libs -L$(TOP)/libiconv/lib/.libs -L$(TOP)/libpng/.libs" \
1799         CPPFLAGS="-L$(TOP)/pcre/.libs -L$(TOP)/sqlite/.libs -L$(TOP)/zlib -L$(TOP)/libxml2/.libs -L$(TOP)/libiconv/lib/.libs -L$(TOP)/libpng/.libs" \
1800         LIBS="-L$(TOP)/pcre/.libs -L$(TOP)/sqlite/.libs -L$(TOP)/zlib -L$(TOP)/libxml2/.libs -L$(TOP)/libiconv/lib/.libs -L$(TOP)/libpng/.libs -lsqlite3 -ldl -lpthread -liconv -lxml2" \
1801         PHP_FCGI_LIBXML_DIR="$(TOP)/libxml2/staged/usr" \
1802         ac_cv_func_memcmp_working=yes \
1803         cv_php_mbstring_stdarg=yes \
1804         $(CONFIGURE) --prefix=/usr \
1805         --enable-shared \
1806         --disable-static \
1807         --disable-rpath \
1808         --disable-debug \
1809         --without-pear \
1810         --with-config-file-path=/etc \
1811         --with-config-file-scan-dir=/etc/php5 \
1812         --disable-short-tags \
1813         --with-zlib \
1814         --with-zlib-dir="$(TOP)/zlib/staged/usr" \
1815         --disable-phar \
1816         --enable-cli \
1817         --enable-cgi \
1818         --disable-calendar \
1819         --enable-ctype \
1820         --without-curl \
1821         --enable-fileinfo \
1822         --without-gettext \
1823         --enable-dom \
1824         --enable-exif \
1825         --disable-ftp \
1826         --without-gmp \
1827         --with-gd \
1828         --with-png-dir="$(TOP)/libpng/staged/usr" \
1829         --with-jpeg-dir="$(TOP)/jpeg/staged" \
1830         --enable-hash \
1831         --with-iconv="$(TOP)/libiconv/staged/usr" \
1832         --with-iconv-dir="$(TOP)/libiconv/staged/usr" \
1833         --enable-json \
1834         --without-ldap \
1835         --enable-mbstring \
1836         --without-mcrypt \
1837         --without-openssl \
1838         --disable-pcntl \
1839         --without-mysqli \
1840         --with-mysql \
1841         --with-mysql-sock="/var/run/mysqld.sock" \
1842         --with-pdo-mysql \
1843         --without-pdo-pgsql \
1844         --with-pdo-sqlite \
1845         --enable-pdo \
1846         --without-pgsql \
1847         --enable-session \
1848         --disable-shmop \
1849         --enable-simplexml \
1850         --disable-soap \
1851         --disable-sockets \
1852         --with-sqlite3 \
1853         --disable-sysvmsg \
1854         --disable-sysvsem \
1855         --disable-sysvshm \
1856         --disable-tokenizer \
1857         --enable-xml \
1858         --enable-xmlreader \
1859         --enable-xmlwriter \
1860         --enable-zip \
1861         --disable-filter \
1862         --with-libxml-dir="$(TOP)/libxml2/staged/usr"
1863         @touch php/stamp-h1
1865 php: php/stamp-h1
1866         @$(SEP)
1867         @$(MAKE) -C php
1869 php-clean:
1870         -@$(MAKE) -C php clean
1871         -@rm php/stamp-h1
1873 php-install: php
1874         @$(SEP)
1875         install -d $(INSTALLDIR)/php/usr/sbin
1876         install -D php/sapi/cli/.libs/php $(INSTALLDIR)/php/usr/sbin/php-cli && chmod 0755 $(INSTALLDIR)/php/usr/sbin/php-cli
1877         $(STRIP) $(INSTALLDIR)/php/usr/sbin/php-cli
1878         install -D php/sapi/cgi/.libs/php-cgi $(INSTALLDIR)/php/usr/sbin/php-cgi && chmod 0755 $(INSTALLDIR)/php/usr/sbin/php-cgi
1879         cd $(INSTALLDIR)/php/usr/sbin && ln -sf php-cgi php-fcgi
1880         $(STRIP) $(INSTALLDIR)/php/usr/sbin/php-cgi
1882 nginx/stamp-h1: openssl zlib pcre
1883         @$(SEP)
1884         cd $(TOP)/nginx && ./configure --crossbuild=Linux::$(ARCH) \
1885                 --prefix=/usr \
1886                 --sbin-path=/usr/sbin \
1887                 --conf-path=/etc/nginx/nginx.conf \
1888                 --error-log-path=/tmp/var/log/nginx/error.log \
1889                 --http-log-path=/tmp/var/log/nginx/access.log \
1890                 --pid-path=/tmp/var/run/nginx.pid \
1891                 --lock-path=/tmp/var/run/nginx.lock.accept \
1892                 --http-client-body-temp-path=/tmp/var/lib/nginx/client \
1893                 --http-fastcgi-temp-path=/tmp/var/lib/nginx/fastcgi \
1894                 --with-http_flv_module \
1895                 --with-http_ssl_module \
1896                 --with-http_gzip_static_module \
1897                 --http-uwsgi-temp-path=/tmp/var/lib/nginx/uwsgi \
1898                 --http-scgi-temp-path=/tmp/var/lib/nginx/scgi \
1899                 --http-proxy-temp-path=/tmp/var/lib/nginx/proxy \
1900                 --with-cc="$(CC)" \
1901                 --with-ld-opt="$(LDFLAGS) -L $(TOP)/pcre/.libs -L $(TOP)/zlib -L $(TOP)/openssl" \
1902                 --with-cc-opt="$(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) -I $(TOP)/openssl/include -I $(TOP)/openssl/include/openssl -I $(TOP)/pcre -I $(TOP)/zlib" \
1903                 $(ADDITIONAL_MODULES)
1905 nginx: nginx/stamp-h1
1906         @$(SEP)
1907         @$(MAKE) -C nginx
1909 nginx-clean:
1910         -@$(MAKE) -C nginx clean
1911         -@rm -f nginx/stamp-h1
1913 nginx-install: nginx
1914         install -d $(INSTALLDIR)/nginx/usr/sbin
1915         install -D nginx/objs/nginx $(INSTALLDIR)/nginx/usr/sbin/nginx && chmod 755 $(INSTALLDIR)/nginx/usr/sbin/nginx
1916         $(STRIP) $(INSTALLDIR)/nginx/usr/sbin/nginx
1918 libncurses/stamp-h1:
1919         cd libncurses && CC=$(CC) \
1920         CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections -fPIC" \
1921         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
1922         LIBS="-lstdc++" \
1923         $(CONFIGURE) --prefix=/usr --with-shared --with-normal --disable-debug --without-ada --without-manpages --without-progs --without-tests
1924         touch libncurses/stamp-h1
1926 libncurses: libncurses/stamp-h1
1927         @$(SEP)
1928         $(MAKE) -C libncurses $(PARALLEL_BUILD)
1929         $(MAKE) -C libncurses DESTDIR=$(TOP)/libncurses/staged install
1931 libncurses-clean:
1932         -@$(MAKE) -C libncurses clean
1933         @rm -f libncurses/stamp-h1 libncurses/Makefile
1934         @rm -rf libncurses/staged
1936 libncurses-install: libncurses
1937         install -d $(INSTALLDIR)/libncurses/usr/lib
1938         install -d $(INSTALLDIR)/libncurses/usr/share/terminfo
1939         install -d $(INSTALLDIR)/libncurses/usr/share/terminfo/l
1940         install -d $(INSTALLDIR)/libncurses/usr/share/terminfo/v
1941         install -d $(INSTALLDIR)/libncurses/usr/share/terminfo/x
1942         install -D -m 0644 libncurses/staged/usr/share/terminfo/l/linux $(INSTALLDIR)/libncurses/usr/share/terminfo/l
1943         install -D -m 0644 libncurses/staged/usr/share/terminfo/v/vt100 $(INSTALLDIR)/libncurses/usr/share/terminfo/v
1944         install -D -m 0644 libncurses/staged/usr/share/terminfo/v/vt220 $(INSTALLDIR)/libncurses/usr/share/terminfo/v
1945         install -D -m 0644 libncurses/staged/usr/share/terminfo/x/xterm $(INSTALLDIR)/libncurses/usr/share/terminfo/x
1946         cd $(INSTALLDIR)/libncurses/usr/lib && ln -sf ../share/terminfo terminfo
1947         install libncurses/lib/libncurses.so.5.9 $(INSTALLDIR)/libncurses/usr/lib/libncurses.so.5
1948         $(STRIP) $(INSTALLDIR)/libncurses/usr/lib/libncurses.so.5
1949         install libncurses/lib/libpanel.so.5.9 $(INSTALLDIR)/libncurses/usr/lib/libpanel.so.5
1950         $(STRIP) $(INSTALLDIR)/libncurses/usr/lib/libpanel.so.5
1951         install libncurses/lib/libform.so.5.9 $(INSTALLDIR)/libncurses/usr/lib/libform.so.5
1952         $(STRIP) $(INSTALLDIR)/libncurses/usr/lib/libform.so.5
1953         install libncurses/lib/libmenu.so.5.9 $(INSTALLDIR)/libncurses/usr/lib/libmenu.so.5
1954         $(STRIP) $(INSTALLDIR)/libncurses/usr/lib/libmenu.so.5
1955         cd $(INSTALLDIR)/libncurses/usr/lib/ && \
1956                 ln -sf libncurses.so.5 libncurses.so && \
1957                 ln -sf libpanel.so.5 libpanel.so && \
1958                 ln -sf libform.so.5 libform.so && \
1959                 ln -sf libmenu.so.5 libmenu.so
1961 mysql/stamp-h1: openssl zlib libncurses
1962         @$(SEP)
1963         cd mysql && cp -f configure.mipsel configure && \
1964         CFLAGS="-O2 -Wall -fno-delete-null-pointer-checks -funit-at-a-time --param large-function-growth=800 \
1965                 --param max-inline-insns-single=3000 -ffunction-sections -fdata-sections -I$(TOP)/zlib \
1966                 -I$(TOP)/openssl/include -I$(TOP)/libncurses/include" \
1967         CPPFLAGS="-O2 -Wall -fno-delete-null-pointer-checks -funit-at-a-time --param large-function-growth=800 \
1968                 --param max-inline-insns-single=3000 -ffunction-sections -fdata-sections -I$(TOP)/zlib \
1969                 -I$(TOP)/openssl/include -I$(TOP)/libncurses/include" \
1970         LDFLAGS="-L$(TOP)/openssl -L$(TOP)/zlib/staged/usr/lib -L$(TOP)/libncurses/lib -fPIC -EL" \
1971         LIBS="-lcrypt -lz -lstdc++ -lssl -lcrypto -lncurses" \
1972         $(CONFIGURE) --prefix=/usr \
1973                 --without-debug --without-docs --without-man --with-charset=utf8 --with-extra-charsets=ascii,latin1,gb2312,gbk \
1974                 --enable-shared --disable-static \
1975                 --without-mysqlmanager \
1976                 --with-pthread \
1977                 --with-ssl \
1978                 --without-docs \
1979                 --with-geometry \
1980                 --with-low-memory \
1981                 --enable-assembler \
1982                 --with-zlib-dir="$(TOP)/zlib/staged/usr" \
1983                 ac_cv_c_stack_direction=-1
1984         cd mysql && tar xvfz .host.tgz
1985         # Update time of config.status to avoid run 'config.status --recheck'
1986         touch mysql/config.status
1987         # Update time of Makefile to avoid regenerate it when do make
1988         sleep 5
1989         -find mysql -name Makefile -print | xargs -i touch {}
1990         touch mysql/stamp-h1
1992 mysql: mysql/stamp-h1
1993         @$(SEP)
1994         @$(MAKE) -C mysql
1995         @$(MAKE) -C mysql DESTDIR=$(TOP)/mysql/staged install
1997 mysql-clean:
1998         -@$(MAKE) -C mysql clean
1999         -@rm -f mysql/stamp-h1
2000         -@rm -rf mysql/staged mysql/host
2002 mysql-install:
2003         install -d $(INSTALLDIR)/mysql/usr/bin
2004         install -d $(INSTALLDIR)/mysql/usr/lib
2005         install -d $(INSTALLDIR)/mysql/usr/libexec
2006         install -d $(INSTALLDIR)/mysql/usr/lib/mysql
2007         install -d $(INSTALLDIR)/mysql/usr/lib/mysql/plugin
2008         install -d $(INSTALLDIR)/mysql/usr/share
2009         install -d $(INSTALLDIR)/mysql/usr/share/mysql
2010         install -D -m 755 mysql/mycheck $(INSTALLDIR)/mysql/usr/bin
2011         install -D -m 755 mysql/staged/usr/bin/my_print_defaults $(INSTALLDIR)/mysql/usr/bin
2012         $(STRIP) $(INSTALLDIR)/mysql/usr/bin/my_print_defaults
2013         install -D -m 755 mysql/staged/usr/bin/myisamchk $(INSTALLDIR)/mysql/usr/bin
2014         $(STRIP) $(INSTALLDIR)/mysql/usr/bin/myisamchk
2015         install -D -m 755 mysql/staged/usr/bin/mysql $(INSTALLDIR)/mysql/usr/bin
2016         $(STRIP) $(INSTALLDIR)/mysql/usr/bin/mysql
2017         install -D -m 755 mysql/staged/usr/bin/mysql_install_db $(INSTALLDIR)/mysql/usr/bin
2018         install -D -m 755 mysql/staged/usr/bin/mysqladmin $(INSTALLDIR)/mysql/usr/bin
2019         $(STRIP) $(INSTALLDIR)/mysql/usr/bin/mysqladmin
2020         install -D -m 755 mysql/staged/usr/bin/mysqldump $(INSTALLDIR)/mysql/usr/bin
2021         $(STRIP) $(INSTALLDIR)/mysql/usr/bin/mysqldump
2022         install -D -m 755 mysql/staged/usr/libexec/mysqld $(INSTALLDIR)/mysql/usr/libexec
2023         $(STRIP) $(INSTALLDIR)/mysql/usr/libexec/mysqld
2024         cd $(INSTALLDIR)/mysql/usr/bin && ln -sf ../libexec/mysqld mysqld
2025 #       install -D -m 755 mysql/staged/usr/bin/mysqld_safe $(INSTALLDIR)/mysql/usr/bin
2026         install -D -m 755 mysql/staged/usr/lib/mysql/libmysqlclient.so.16.0.0 $(INSTALLDIR)/mysql/usr/lib/mysql
2027         $(STRIP) $(INSTALLDIR)/mysql/usr/lib/mysql/libmysqlclient.so.16.0.0
2028         -@cd $(INSTALLDIR)/mysql/usr/lib/mysql && \
2029                 ln -sf libmysqlclient.so.16.0.0 libmysqlclient.so.16 && \
2030                 ln -sf libmysqlclient.so.16.0.0 libmysqlclient.so
2031         install -D -m 755 mysql/staged/usr/lib/mysql/libmysqlclient_r.so.16.0.0 $(INSTALLDIR)/mysql/usr/lib/mysql
2032         $(STRIP) $(INSTALLDIR)/mysql/usr/lib/mysql/libmysqlclient_r.so.16.0.0
2033         -@cd $(INSTALLDIR)/mysql/usr/lib/mysql && \
2034                 ln -sf libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16 && \
2035                 ln -sf libmysqlclient_r.so.16.0.0 libmysqlclient_r.so
2036 #       -@cd $(INSTALLDIR)/mysql/usr/lib/mysql/plugin && cp -arfpu $(TOP)/mysql/staged/usr/lib/mysql/plugin/* . && \
2037 #       rm -f *.la *.a && \
2038 #       $(STRIP) *.so.*
2039         -@cd $(INSTALLDIR)/mysql/usr/share/mysql && \
2040         cp -arfpu $(TOP)/mysql/staged/usr/share/mysql/english . && \
2041         cp -arfpu $(TOP)/mysql/staged/usr/share/mysql/fill_help_tables.sql . && \
2042         cp -arfpu $(TOP)/mysql/staged/usr/share/mysql/mysql_system_tables.sql . && \
2043         cp -arfpu $(TOP)/mysql/staged/usr/share/mysql/mysql_system_tables_data.sql .
2045 lzo/stamp-h1:
2046         cd lzo && \
2047         CFLAGS="-O3 -Wall -fPIC $(EXTRACFLAGS)" $(CONFIGURE) --enable-shared --enable-static
2048         touch lzo/stamp-h1
2050 lzo: lzo/stamp-h1
2051         @$(MAKE) -C lzo $(PARALLEL_BUILD)
2053 lzo-clean:
2054         -@$(MAKE) -C lzo clean
2055         @rm -f lzo/stamp-h1
2057 lzo-install: lzo
2058         install -D lzo/src/.libs/liblzo2.so $(INSTALLDIR)/lzo/usr/lib/liblzo2.so.2.0.0
2059         $(STRIP) $(INSTALLDIR)/lzo/usr/lib/liblzo2.so.2.0.0
2060         cd $(INSTALLDIR)/lzo/usr/lib && \
2061                 ln -sf liblzo2.so.2.0.0 liblzo2.so.2 && \
2062                 ln -sf liblzo2.so.2.0.0 liblzo2.so
2064 openvpn/.conf: openssl lzo
2065         cd openvpn && ./autogen.sh && \
2066         CFLAGS="-O3 -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
2067         LDFLAGS="-L$(TOP)/openssl -L$(TOP)/lzo/src/.libs -ffunction-sections -fdata-sections -Wl,--gc-sections" \
2068         CPPFLAGS="-I$(TOP)/lzo/include -I$(TOP)/openssl/include" \
2069         $(CONFIGURE) --prefix= \
2070         --with-crypto-library=openssl \
2071         --disable-debug --disable-plugin-auth-pam --disable-plugin-down-root --with-plugindir=/lib --enable-management --enable-small \
2072         --disable-selinux --disable-socks --enable-password-save \
2073         OPENSSL_SSL_CFLAGS="-I$(TOP)/openssl/include" \
2074         OPENSSL_SSL_LIBS="-L$(TOP)/openssl -lssl" \
2075         ac_cv_lib_resolv_gethostbyname=no
2076         touch openvpn/.conf
2078 openvpn: openvpn/.conf
2079         @$(MAKE) -C openvpn $(PARALLEL_BUILD)
2081 openvpn-clean:
2082         -@$(MAKE) -C openvpn clean
2083         @rm -f openvpn/.conf
2085 openvpn-install: openvpn
2086         install -D openvpn/src/openvpn/.libs/openvpn $(INSTALLDIR)/openvpn/usr/sbin/openvpn
2087         $(STRIP) -s $(INSTALLDIR)/openvpn/usr/sbin/openvpn
2088         chmod 0500 $(INSTALLDIR)/openvpn/usr/sbin/openvpn
2090 openvpn_plugin_auth_nvram:nvram
2092 #shibby
2093 nano/stamp-h1: libncurses
2094         cd nano && CC=$(CC) STRIP='mipsel-uclibc-strip' \
2095                 CFLAGS="-O3 -Wall $(EXTRACFLAGS) -I$(TOP)/libncurses/staged/usr/include -ffunction-sections -fdata-sections" \
2096                 CPPFLAGS="-Os -Wall $(EXTRACFLAGS) -I$(TOP)/libncurses/staged/usr/include -ffunction-sections -fdata-sections" \
2097                 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -L$(TOP)/libncurses/staged/usr/lib -fPIC" \
2098                 ac_cv_lib_ncursesw_get_wch=no \
2099                 $(CONFIGURE) --prefix=/usr --disable-nls --enable-all --without-libiconv-prefix --disable-utf8
2100         touch nano/stamp-h1
2102 nano: nano/stamp-h1
2103         @$(MAKE) -C nano $(PARALLEL_BUILD)
2105 nano-clean:
2106         -@$(MAKE) -C nano clean
2107         @rm -f nano/stamp-h1 nano/Makefile nano/src/Makefile
2109 nano-install: nano
2110         install -d $(INSTALLDIR)/nano/usr/sbin
2111         install -D nano/src/nano $(INSTALLDIR)/nano/usr/sbin/nano
2112         $(STRIP) -s $(INSTALLDIR)/nano/usr/sbin/nano
2114 libcurl/stamp-h1: zlib openssl
2115         cd libcurl && CC=$(CC) STRIP='mipsel-uclibc-strip' \
2116                 CPPFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections -I$(TOP)/zlib" \
2117                 LDFLAGS="-L$(TOP)/zlib -ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
2118                 $(CONFIGURE) --prefix=/usr --disable-thread --enable-shared --enable-static \
2119                 --enable-ares --enable-cookies --enable-crypto-auth --enable-nonblocking \
2120                 --enable-file --enable-ftp --enable-http --enable-ipv6 --enable-tftp \
2121                 --disable-nls --disable-ares --disable-dict --disable-debug --disable-gopher \
2122                 --disable-ldap --disable-manual --disable-telnet --disable-verbose \
2123                 --with-random="/dev/urandom" --with-ssl="$(TOP)/openssl" \
2124                 --without-gnutls --without-krb4 --without-libidn \
2125                 --with-linux-headers=$(LINUXDIR)/include \
2126                 OPENSSL_CFLAGS="-I$(TOP)/openssl/include" \
2127                 OPENSSL_LIBS="-L$(TOP)/openssl -lcrypto -lssl"
2128                 touch libcurl/stamp-h1
2130 libcurl: libcurl/stamp-h1
2131         @$(MAKE) -C libcurl $(PARALLEL_BUILD)
2133 libcurl-clean:
2134         -@$(MAKE) -C libcurl clean
2135         @rm -f libcurl/stamp-h1 libcurl/Makefile
2137 libcurl-install: libcurl
2138         install -d $(INSTALLDIR)/libcurl/usr/lib
2139         install -D libcurl/lib/.libs/libcurl.so.4.3.0 $(INSTALLDIR)/libcurl/usr/lib/libcurl.so.4.3.0
2140         $(STRIP) -s $(INSTALLDIR)/libcurl/usr/lib/libcurl.so.4.3.0
2141         cd $(INSTALLDIR)/libcurl/usr/lib/ && \
2142                 ln -sf libcurl.so.4.3.0 libcurl.so.4 && \
2143                 ln -sf libcurl.so.4.3.0 libcurl.so
2145 libevent/stamp-h1:
2146         cd libevent && CC=$(CC) \
2147                 CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
2148                 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
2149                 $(CONFIGURE)
2150                 touch libevent/stamp-h1
2152 libevent: libevent/stamp-h1
2153         @$(SEP)
2154         $(MAKE) -C libevent $(PARALLEL_BUILD)
2155         $(MAKE) -C libevent DESTDIR=$(TOP)/libevent/staged install
2157 libevent-clean:
2158         -@$(MAKE) -C libevent clean
2159         @rm -f libevent/stamp-h1 libevent/Makefile
2160         @rm -rf libevent/staged
2162 libevent-install: libevent
2163         install -d $(INSTALLDIR)/libevent/usr/lib
2164         install libevent/.libs/libevent-2.0.so.5.1.9 $(INSTALLDIR)/libevent/usr/lib/libevent-2.0.so.5
2165         $(STRIP) -s $(INSTALLDIR)/libevent/usr/lib/libevent-2.0.so.5
2167 libiconv/stamp-h1:
2168         cd libiconv && CC=$(CC) \
2169         CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
2170         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
2171         $(CONFIGURE) --prefix=/usr --disable-nls --enable-static --enable-shared
2172         touch libiconv/stamp-h1
2174 libiconv: libiconv/stamp-h1
2175         @$(SEP)
2176         $(MAKE) -C libiconv $(PARALLEL_BUILD)
2177         $(MAKE) -C libiconv DESTDIR=$(TOP)/libiconv/staged install
2179 libiconv-clean:
2180         -@$(MAKE) -C libiconv clean
2181         @rm -rf libiconv/stamp-h1 libiconv/Makefile
2182         @rm -rf libiconv/staged
2184 libiconv-install: libiconv
2185         install -d $(INSTALLDIR)/libiconv/usr/lib
2186         install libiconv/lib/.libs/libiconv.so.2.5.1 $(INSTALLDIR)/libiconv/usr/lib/libiconv.so.2.5.1
2187         $(STRIP)-s $(INSTALLDIR)/libiconv/usr/lib/libiconv.so.2.5.1
2188         cd $(INSTALLDIR)/libiconv/usr/lib/ && \
2189                 ln -sf libiconv.so.2.5.1 libiconv.so.2 && \
2190                 ln -sf libiconv.so.2.5.1 libiconv.so
2192 transmission/stamp-h1: openssl libcurl libevent zlib
2193         cd transmission && CC=$(CC) STRIP='mipsel-uclibc-strip' \
2194                 autoreconf && \
2195                 CFLAGS="-Os -Wall -fno-delete-null-pointer-checks -funit-at-a-time \
2196                         --param large-function-growth=800 --param max-inline-insns-single=3000 \
2197                         -ffunction-sections -fdata-sections" \
2198                 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC \
2199                         -L$(TOP)/zlib -L$(TOP)/openssl -L$(TOP)/libcurl/lib/.libs -L$(TOP)/libevent/.libs" \
2200                 HAVE_CXX=yes \
2201                 $(CONFIGURE) --target=mipsel-linux --host=mipsel-linux --build=x86_64-linux-gnu --prefix=/usr --disable-nls \
2202                         --enable-lightweight --enable-largefile --enable-utp --without-gtk \
2203                         LIBCURL_CFLAGS="-I$(TOP)/libcurl/include" \
2204                         LIBCURL_LDFLAGS="-L$(TOP)/libcurl/lib/.libs/" \
2205                         LIBCURL_LIBS="-lcurl" \
2206                         LIBEVENT_CFLAGS="-I$(TOP)/libevent/include" \
2207                         LIBEVENT_LDFLAGS="-L$(TOP)/libevent/.libs" \
2208                         LIBEVENT_LIBS="-levent" \
2209                         OPENSSL_CFLAGS="-I$(TOP)/openssl/include" \
2210                         OPENSSL_LDFLAGS="-L$(TOP)/openssl" \
2211                         OPENSSL_LIBS="-lcrypto -lssl" \
2212                         ZLIB_CFLAGS="-I$(TOP)/zlib" \
2213                         ZLIB_LDFLAGS="-L$(TOP)/zlib" \
2214                         ZLIB_LIBS="-lz"
2215                 touch transmission/stamp-h1
2217 transmission: transmission/stamp-h1
2218         @$(SEP)
2219         $(MAKE) -C transmission $(PARALLEL_BUILD)
2221 transmission-clean:
2222         -@$(MAKE) -C transmission clean
2223         @rm -f transmission/stamp-h1 transmission/Makefile
2225 transmission-install: transmission
2226         $(MAKE) -C transmission DESTDIR=$(INSTALLDIR)/transmission install-strip
2227         @rm -rf $(INSTALLDIR)/transmission/usr/share/man
2228         @rm -rf $(INSTALLDIR)/transmission/usr/bin/transmission-cli
2229         @rm -rf $(INSTALLDIR)/transmission/usr/bin/transmission-show
2230         @rm -rf $(INSTALLDIR)/transmission/usr/bin/transmission-edit
2231         @rm -rf $(INSTALLDIR)/transmission/usr/bin/transmission-create
2232         $(STRIP) -s $(INSTALLDIR)/transmission/usr/bin/transmission-daemon
2233 ifeq ($(TCONFIG_TR_EXTRAS),y)
2234         $(STRIP) -s $(INSTALLDIR)/transmission/usr/bin/transmission-remote
2235 else
2236         @rm -rf $(INSTALLDIR)/transmission/usr/bin/transmission-remote
2237 endif
2239 btgui:
2240         @$(SEP)
2242 btgui-install: btgui
2243         install -d $(INSTALLDIR)/btgui/usr/bin
2244         install -D transmission/btcheck $(INSTALLDIR)/btgui/usr/bin/btcheck
2246 libnfsidmap/stamp-h1:
2247         cd libnfsidmap && \
2248         CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
2249         ac_cv_func_malloc_0_nonnull=yes \
2250         ac_cv_func_realloc_0_nonnull=yes \
2251         $(CONFIGURE) --prefix=/usr --enable-shared --enable-static
2252         touch libnfsidmap/stamp-h1
2254 libnfsidmap: libnfsidmap/stamp-h1
2255         @$(SEP)
2256         $(MAKE) -C libnfsidmap $(PARALLEL_BUILD)
2258 libnfsidmap-clean:
2259         -@$(MAKE) -C libnfsidmap clean
2260         @rm -f libnfsidmap/stamp-h1
2261         @rm -rf libnfsidmap/staged
2263 libnfsidmap-install: libnfsidmap
2264         install -d $(TOP)/libnfsidmap/staged
2265         $(MAKE) -C libnfsidmap DESTDIR=$(TOP)/libnfsidmap/staged install
2267 portmap/stamp-h1:
2268         cd portmap \
2269         CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
2270         $(MAKE) -C portmap CC=$(CC) AR=$(AR) LD=$(LD) RANLIB=$(RANLIB) RPCUSER="nobody"
2271         touch portmap/stamp-h1
2273 portmap: portmap/stamp-h1
2274         @$(SEP)
2275         $(MAKE) -C portmap $(PARALLEL_BUILD)
2277 portmap-clean:
2278         -@$(MAKE) -C portmap clean
2279         @rm -f portmap/stamp-h1
2281 portmap-install: portmap
2282         install -d $(INSTALLDIR)/portmap/usr/sbin
2283         install -D portmap/portmap $(INSTALLDIR)/portmap/usr/sbin/portmap
2284         $(STRIP) -s $(INSTALLDIR)/portmap/usr/sbin/portmap
2286 e2fsprogs/stamp-h1:
2287         cd e2fsprogs && \
2288         CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
2289         $(CONFIGURE) --prefix=$(TOP)/e2fsprogs/staged --enable-shared --enable-static
2290         touch e2fsprogs/stamp-h1
2292 e2fsprogs: e2fsprogs/stamp-h1
2293         @$(SEP)
2294         $(MAKE) -C e2fsprogs $(PARALLEL_BUILD)
2296 e2fsprogs-clean:
2297         -@$(MAKE) -C e2fsprogs clean
2298         @rm -f e2fsprogs/stamp-h1
2299         @rm -f e2fsprogs/Makefile
2300         @rm -rf e2fsprogs/staged
2302 nfs-utils/stamp-h1: libevent-install e2fsprogs portmap libnfsidmap-install
2303         cd nfs-utils && STRIP='mipsel-uclibc-strip' \
2304         CFLAGS="-Os -Wall -fno-delete-null-pointer-checks -funit-at-a-time \
2305         -I$(TOP)/libevent/staged/usr/local/include -I$(TOP)/e2fsprogs/lib \
2306         -I$(TOP)/libnfsidmap/staged/usr/include -ffunction-sections -fdata-sections" \
2307         LDFLAGS="-L$(TOP)/libevent/staged/usr/local/lib -L$(TOP)/e2fsprogs/lib \
2308         -L$(TOP)/libnfsidmap/staged/usr/lib -ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
2309         ac_cv_func_malloc_0_nonnull=yes \
2310         ac_cv_func_realloc_0_nonnull=yes \
2311         $(CONFIGURE) --disable-gss --without-tcp-wrappers --enable-static --enable-shared \
2312         --enable-nfsv4 --enable-nfsv3
2313         touch nfs-utils/stamp-h1
2315 nfs-utils: nfs-utils/stamp-h1
2316         @$(SEP)
2317         $(MAKE) -C nfs-utils $(PARALLEL_BUILD)
2319 nfs-utils-clean:
2320         -@$(MAKE) -C nfs-utils clean
2321         @rm -f nfs-utils/stamp-h1
2323 nfs-utils-install: nfs-utils
2324         install -d $(INSTALLDIR)/nfs-utils/usr/sbin
2325         install -D nfs-utils/utils/mount/mount.nfs $(INSTALLDIR)/nfs-utils/usr/sbin/mount.nfs
2326         install -D nfs-utils/utils/nfsd/nfsd $(INSTALLDIR)/nfs-utils/usr/sbin/nfsd
2327         install -D nfs-utils/utils/showmount/showmount $(INSTALLDIR)/nfs-utils/usr/sbin/showmount
2328         install -D nfs-utils/utils/exportfs/exportfs $(INSTALLDIR)/nfs-utils/usr/sbin/exportfs
2329         install -D nfs-utils/utils/statd/statd $(INSTALLDIR)/nfs-utils/usr/sbin/statd
2330         install -D nfs-utils/utils/mountd/mountd $(INSTALLDIR)/nfs-utils/usr/sbin/mountd
2331         install -D nfs-utils/nfs.rc $(INSTALLDIR)/nfs-utils/usr/sbin/nfs.rc
2332         $(STRIP) -s $(INSTALLDIR)/nfs-utils/usr/sbin/mount.nfs
2333         $(STRIP) -s $(INSTALLDIR)/nfs-utils/usr/sbin/nfsd
2334         $(STRIP) -s $(INSTALLDIR)/nfs-utils/usr/sbin/showmount
2335         $(STRIP) -s $(INSTALLDIR)/nfs-utils/usr/sbin/exportfs
2336         $(STRIP) -s $(INSTALLDIR)/nfs-utils/usr/sbin/statd
2337         $(STRIP) -s $(INSTALLDIR)/nfs-utils/usr/sbin/mountd
2339 tinc/stamp-h1: openssl zlib lzo
2340         @cd tinc && autoreconf -fsi && \
2341         CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) \
2342         CFLAGS="-Os -Wall $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
2343         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
2344         $(CONFIGURE) \
2345         --prefix=/usr \
2346         --sysconfdir=/etc \
2347         --localstatedir=/var \
2348         --with-zlib-include="$(TOP)/zlib" \
2349         --with-zlib-lib="$(TOP)/zlib" \
2350         --with-lzo-include="$(TOP)/lzo/include" \
2351         --with-lzo-lib="$(TOP)/lzo/src/.libs" \
2352         --with-openssl-include="$(TOP)/openssl/include" \
2353         --with-openssl-lib="$(TOP)/openssl" \
2354         --disable-curses \
2355         --disable-readline
2356         @touch tinc/stamp-h1
2358 tinc: tinc/stamp-h1
2359         @$(SEP)
2360         @$(MAKE) -C tinc LIBS="-lcrypto $(TOP)/zlib/libz.a -llzo2" $(PARALLEL_BUILD)
2362 tinc-clean:
2363         -@$(MAKE) -C tinc clean
2364         @rm -f tinc/stamp-h1
2366 tinc-install:
2367         install -D tinc/src/tinc $(INSTALLDIR)/tinc/usr/sbin/tinc
2368         install -D tinc/src/tincd $(INSTALLDIR)/tinc/usr/sbin/tincd
2369         $(STRIP) $(INSTALLDIR)/tinc/usr/sbin/tinc
2370         $(STRIP) $(INSTALLDIR)/tinc/usr/sbin/tincd
2372 sd-idle/stamp-h1:
2373         cd sd-idle \
2374         CFLAGS="-Os -Wall --host=mipsel-linux --target=mipsel-linux $(EXTRACFLAGS)" \
2375         $(MAKE) -C sd-idle
2376         chmod 0755 sd-idle/sd-idle
2377         touch sd-idle/stamp-h1
2379 sd-idle-clean:
2380         -@$(MAKE) -C sd-idle clean
2381         @rm -f sd-idle/stamp-h1
2383 sd-idle-install: sd-idle/stamp-h1
2384         install -d $(INSTALLDIR)/sd-idle/usr/bin
2385         install -D sd-idle/sd-idle $(INSTALLDIR)/sd-idle/usr/bin/sd-idle
2386         $(STRIP) -s $(INSTALLDIR)/sd-idle/usr/bin/sd-idle
2388 snmp/stamp-h1:
2389         cd snmp && \
2390         CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
2391         $(CONFIGURE) --prefix=/usr --with-endianness=little --enable-mini-agent --disable-debugging \
2392         --disable-privacy --without-opaque-special-types --with-persistent-directory=/tmp/snmp-persist \
2393         --with-default-snmp-version=3 --with-sys-contact=root --with-sys-location=Unknown --with-logfile=/dev/null \
2394         --with-out-transports=UDPIPv6,TCPIPv6,AAL5PVC,IPX,TCP,Unix --enable-shared=no --enable-static --with-gnu-ld \
2395         --enable-internal-md5 --with-copy-persistent-files=no --without-openssl -sysconfdir=/tmp \
2396         --with-mib-modules=mibII,host,mibII/ip,mibII/tcp,mibII/udp,mibII/icmp,mibII/var_route,mibII/kernel_linux,qos,ucd_snmp \
2397         --with-out-mib-modules=snmpv3mibs,agent_mips,agentx,notification,utilities,target --disable-ipv6 --with-defaults \
2398         --without-efence --without-rsaref --without-kmem-usage --without-rpm --without-dmalloc
2399         touch snmp/stamp-h1
2401 snmp: snmp/stamp-h1
2402         @$(SEP)
2403         $(MAKE) -C snmp
2405 snmp-clean:
2406         -@$(MAKE) -C snmp clean
2407         @rm -f snmp/stamp-h1
2409 snmp-install: snmp
2410         install -D snmp/agent/snmpd $(INSTALLDIR)/snmp/usr/sbin/snmpd
2411         $(STRIP) $(INSTALLDIR)/snmp/usr/sbin/snmpd
2413 apcupsd/stamp-h1:
2414         cd apcupsd && touch autoconf/variables.mak && CC=$(CC) STRIP='mipsel-uclibc-strip' \
2415         $(MAKE) configure && \
2416         CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
2417         LDFLAGS="-L$(TOOLCHAIN)/lib -ffunction-sections -fdata-sections" \
2418         $(CONFIGURE) --prefix=/usr --without-x --enable-usb --disable-pcnet --enable-cgi \
2419                 --disable-lgd --enable-net --sysconfdir=/usr/local/apcupsd --bindir=/bin \
2420                 --disable-dumb --disable-snmp --disable-net-snmp --with-cgi-bin=/www/apcupsd --with-serial-dev=
2421         touch apcupsd/stamp-h1
2423 apcupsd: apcupsd/stamp-h1
2424         $(MAKE) -C apcupsd $(PARALLEL_BUILD)
2426 apcupsd-clean:
2427         -@$(MAKE) -C apcupsd clean
2428         @rm -f apcupsd/stamp-h1
2429         @rm -f apcupsd/config*
2431 apcupsd-install: apcupsd
2432         $(MAKE) -C apcupsd DESTDIR=$(INSTALLDIR)/apcupsd install
2433         @rm -rf $(INSTALLDIR)/apcupsd/sbin/apctest
2434         @rm -rf $(INSTALLDIR)/apcupsd/www/apcupsd/ups*.cgi
2435         $(STRIP) $(INSTALLDIR)/apcupsd/sbin/*
2436         $(STRIP) $(INSTALLDIR)/apcupsd/www/apcupsd/*
2438 libsodium/stamp-h1:
2439         cd $(TOP)/libsodium && CC=$(CC) STRIP='mipsel-uclibc-strip' \
2440         $(CONFIGURE) --prefix=/usr --disable-ssp --enable-minimal
2441         touch libsodium/stamp-h1
2443 libsodium: libsodium/stamp-h1
2444         $(MAKE) -C libsodium $(PARALLEL_BUILD)
2446 libsodium-install: libsodium
2447         install -d $(INSTALLDIR)/libsodium/usr/lib
2448         install -D libsodium/src/libsodium/.libs/libsodium.so.13.0.2 $(INSTALLDIR)/libsodium/usr/lib/libsodium.so.13.0.2
2449         $(STRIP) -s $(INSTALLDIR)/libsodium/usr/lib/libsodium.so.13.0.2
2450         cd $(INSTALLDIR)/libsodium/usr/lib/ && \
2451                 ln -sf libsodium.so.13.0.2 libsodium.so.13 && \
2452                 ln -sf libsodium.so.13.0.2 libsodium.so
2454 libsodium-clean:
2455         -$(MAKE) -C libsodium clean
2456         @rm -rf libsodium/stamp-h1
2458 dnscrypt/stamp-h1: libsodium
2459         cd $(TOP)/dnscrypt && CC=$(CC) STRIP='mipsel-uclibc-strip' \
2460         CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
2461         CPPFLAGS="-I$(TOP)/libsodium/src/libsodium/include" \
2462         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -L$(TOP)/libsodium/src/libsodium/.libs" \
2463         $(CONFIGURE) --prefix=/usr --disable-ssp
2464         touch dnscrypt/stamp-h1
2466 dnscrypt: dnscrypt/stamp-h1
2467         $(MAKE) -C dnscrypt $(PARALLEL_BUILD)
2469 dnscrypt-install: dnscrypt
2470         install -D dnscrypt/src/proxy/.libs/dnscrypt-proxy $(INSTALLDIR)/dnscrypt/usr/sbin/dnscrypt-proxy
2471         install -D dnscrypt/src/hostip/.libs/hostip $(INSTALLDIR)/dnscrypt/usr/sbin/hostip
2472         $(STRIP) -s $(INSTALLDIR)/dnscrypt/usr/sbin/dnscrypt-proxy
2473         $(STRIP) -s $(INSTALLDIR)/dnscrypt/usr/sbin/hostip
2475 dnscrypt-clean:
2476         -@$(MAKE) -C dnscrypt clean
2477         @rm -rf dnscrypt/stamp-h1 dnscrypt/src/dnscrypt-proxy/.deps dnscrypt/Makefile
2479 tor/stamp-h1: openssl zlib libevent
2480         cd $(TOP)/tor && CC=$(CC) STRIP='mipsel-uclibc-strip' \
2481         CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
2482         LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
2483         $(CONFIGURE) --prefix=/usr --with-libevent-dir=$(TOP)/libevent/staged/usr/local \
2484                 --with-openssl-dir=$(TOP)/openssl --with-zlib-dir=$(TOP)/zlib \
2485                 --disable-asciidoc --disable-threads
2486         touch tor/stamp-h1
2488 tor: tor/stamp-h1
2489         $(MAKE) -C tor $(PARALLEL_BUILD)
2491 tor-install: tor
2492         install -D tor/src/or/tor $(INSTALLDIR)/tor/usr/sbin/tor
2493         $(STRIP) -s $(INSTALLDIR)/tor/usr/sbin/tor
2495 tor-clean:
2496         -@$(MAKE) -C tor clean
2497         @rm -rf tor/stamp-h1 tor/Makefile
2499 udpxy/stamp-h1:
2500         cd udpxy \
2501         $(MAKE) -C udpxy CFLAGS="-Os -Wall --host=mipsel-linux --target=mipsel-linux $(EXTRACFLAGS)" \
2502                 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections"
2503         touch udpxy/stamp-h1
2505 udpxy-clean:
2506         -@$(MAKE) -C udpxy clean
2507         @rm -f udpxy/stamp-h1
2509 udpxy-install: udpxy/stamp-h1
2510         install -d $(INSTALLDIR)/udpxy/usr/bin
2511         install -D udpxy/udpxy $(INSTALLDIR)/udpxy/bin/udpxy
2512         $(STRIP) -s $(INSTALLDIR)/udpxy/bin/udpxy
2514 mdadm:
2515         $(MAKE) -C mdadm $(PARALLEL_BUILD)
2517 mdadm-install: mdadm
2518         install -D mdadm/mdadm $(INSTALLDIR)/mdadm/usr/sbin/mdadm
2519         $(STRIP) -s $(INSTALLDIR)/mdadm/usr/sbin/mdadm
2521 mdadm-clean:
2522         -@$(MAKE) -C mdadm clean
2524 ipset:
2525         $(MAKE) -C ipset binaries
2527 ipset-install: ipset
2528         install -D ipset/ipset $(INSTALLDIR)/ipset/usr/sbin/ipset
2529         install -d $(INSTALLDIR)/ipset/usr/lib/
2530         install ipset/*.so $(INSTALLDIR)/ipset/usr/lib/
2531         $(STRIP) $(INSTALLDIR)/ipset/usr/lib/*.so
2532         $(STRIP) $(INSTALLDIR)/ipset/usr/sbin/ipset
2534 ipset-clean:
2535         -@$(MAKE) -C ipset clean
2537 comgt:
2538         @$(MAKE) -C comgt CC=$(CC) CFLAGS="$(EXTRACFLAGS)" LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" comgt
2540 comgt-install: comgt
2541         install -D comgt/comgt $(INSTALLDIR)/comgt/usr/sbin/comgt
2542         cd $(INSTALLDIR)/comgt/usr/sbin/ && \
2543                 ln -sf comgt gcom
2544         $(STRIP) -s $(INSTALLDIR)/comgt/usr/sbin/comgt
2545         @mkdir -p $(TARGETDIR)/rom/etc/gcom
2546         @cp -f comgt/gcom/* $(TARGETDIR)/rom/etc/gcom/
2548 comgt-clean:
2549         -@$(MAKE) -C comgt clean
2552 # Generic rules
2556         @[ ! -d $* ] || ( $(SEP); $(MAKE) -C $* )
2559 %-clean:
2560         @-[ ! -d $* ] || $(MAKE) -C $* clean
2562 %-distclean:
2563         @-[ ! -d $* ] || $(MAKE) -C $* distclean
2565 %-install: %
2566         @[ ! -d $* ] || $(MAKE) -C $* install INSTALLDIR=$(INSTALLDIR)/$*
2568 %-build:
2569         $(MAKE) $*-clean $*
2571 $(obj-y) $(obj-n) $(obj-clean) $(obj-install): dummy
2573 .PHONY: all clean distclean mrproper install package
2574 .PHONY: conf mconf oldconf kconf kmconf config menuconfig oldconfig
2575 .PHONY: dummy libnet libpcap