Column sorting fixes, thanks to Tony550
[tomato.git] / release / src / router / Makefile
blob3e685a4df9c4d6481e14444504c99f5b5efb74db
2 # Broadcom Linux Router Makefile
4 # Copyright 2005, Broadcom Corporation
5 # All Rights Reserved.
7 # THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 # KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 # SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 # FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
14 include common.mak
16 #TOMATO_EXPERIMENTAL=0
21 SEP=echo "\033[41;1m $@ \033[0m"
24 # standard packages
26 obj-y += lzma-loader
27 obj-y += nvram
28 obj-y += shared
29 obj-y += prebuilt
30 obj-y += igmpproxy
31 obj-y += iptables
32 obj-y += rc
33 obj-y += iproute2
34 obj-y += rom
35 obj-y += others
36 obj-y += busybox
37 obj-y += httpd
38 obj-y += www
39 obj-y += bridge
40 obj-y += dnsmasq
41 obj-y += etc
42 # obj-y += vlan # use Busybox vconfig
43 obj-y += pppd
44 obj-y += rp-pppoe
45 obj-y += utils
46 obj-y += ntpc
47 obj-y += rstats
48 obj-$(TCONFIG_SNMP) += snmp
49 obj-y += cstats
50 obj-y += udpxy
52 # !!TB - updated Broadcom Wireless driver
53 obj-y += et
54 obj-y += libbcmcrypto
55 obj-y += wlconf
57 obj-y += cyassl
58 obj-y += mssl
59 obj-y += mdu
61 #Roadkill
62 obj-$(TCONFIG_NOCAT) += nocat
63 # !!TB
64 obj-$(TCONFIG_USB) += p910nd
66 ifeq ($(CONFIG_LINUX26),y)
67 obj-$(TCONFIG_USB) += sd-idle
68 else
69 obj-$(TCONFIG_USB) += scsi-idle
70 endif
72 obj-y += libusb10
73 #obj-y += libusb
74 obj-y += usbmodeswitch
75 obj-$(TCONFIG_FTP) += vsftpd
77 ifeq ($(CONFIG_LINUX26),y)
78 ifeq ($(TCONFIG_SAMBASRV),y)
79 NEED_EX_NLS = y
80 endif
81 ifeq ($(TCONFIG_USB_EXTRAS),y)
82 NEED_EX_USB = y
83 endif
84 endif
86 ifeq ($(TCONFIG_SAMBASRV),y)
87 ifeq ($(TCONFIG_SAMBA3),y)
88 NEED_SAMBA3 = y
89 else
90 NEED_SAMBA2 = y
91 endif
92 endif
94 ifeq ($(TCONFIG_IPV6),y)
95 export TCONFIG_IPV6 := y
96 else
97 TCONFIG_IPV6 :=
98 endif
100 obj-$(NEED_SAMBA2) += samba
101 obj-$(NEED_SAMBA3) += samba3
102 obj-$(TCONFIG_NTFS) += ntfs-3g
103 obj-$(TCONFIG_EBTABLES) += ebtables
104 obj-$(TCONFIG_IPV6) += radvd
105 obj-$(TCONFIG_IPV6) += dhcpv6
107 obj-$(TCONFIG_MEDIA_SERVER) += zlib
108 obj-$(TCONFIG_MEDIA_SERVER) += sqlite
109 obj-$(TCONFIG_MEDIA_SERVER) += ffmpeg
110 obj-$(TCONFIG_MEDIA_SERVER) += libogg
111 obj-$(TCONFIG_MEDIA_SERVER) += flac
112 obj-$(TCONFIG_MEDIA_SERVER) += jpeg
113 obj-$(TCONFIG_MEDIA_SERVER) += libexif
114 obj-$(TCONFIG_MEDIA_SERVER) += libid3tag
115 obj-$(TCONFIG_MEDIA_SERVER) += libvorbis
116 obj-$(TCONFIG_MEDIA_SERVER) += minidlna
117 MEDIA_SERVER_STATIC=y
119 obj-y += miniupnpd
120 # obj-y += upnp
122 # configurable packages
124 obj-$(TCONFIG_L2TP) += xl2tpd
125 obj-$(TCONFIG_PPTP) += accel-pptp
126 obj-$(TCONFIG_PPTPD) += pptpd
127 obj-$(TCONFIG_HTTPS) += openssl
128 obj-$(TCONFIG_SSH) += dropbear
129 obj-$(TCONFIG_ZEBRA) += zebra
130 # obj-$(TCONFIG_IPP2P) += ipp2p
131 obj-$(TCONFIG_LZO) += lzo
132 obj-$(TCONFIG_OPENVPN) += openvpn
133 obj-$(TCONFIG_EMF) += emf
134 obj-$(TCONFIG_EMF) += igs
136 obj-$(CONFIG_LINUX26) += hotplug2
137 obj-$(CONFIG_LINUX26) += udevtrigger
139 ifeq ($(TCONFIG_OPENVPN),y)
140 export FULL_OPENSSL := y
141 else
142 ifeq ($(TCONFIG_FTP_SSL),y)
143 export FULL_OPENSSL := y
144 else
145 FULL_OPENSSL :=
146 endif
147 endif
149 obj-y += wanuptime
151 obj-$(TCONFIG_TCPDUMP) += lpcap tcpdump
153 obj-clean := $(foreach obj, $(obj-y) $(obj-n) $(obj-), $(obj)-clean)
154 obj-install := $(foreach obj,$(obj-y),$(obj)-install)
157 # Basic rules
160 all: clean-build libc $(obj-y) kernel
163 kernel: $(LINUXDIR)/.config
164 @$(SEP)
166 @if ! grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
167 $(MAKE) -C $(LINUXDIR) zImage CC=$(KERNELCC); \
169 if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \
170 $(MAKE) -C $(LINUXDIR) modules CC=$(KERNELCC); \
172 ifeq ($(CONFIG_LINUX26),y)
173 $(MAKE) -C $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed srctree=$(LINUXDIR)
174 endif
177 lzma-loader:
178 $(MAKE) -C $(SRCBASE)/lzma-loader CROSS_COMPILE=$(CROSS_COMPILE) LD=$(LD)
180 lzma-loader-install: lzma-loader
181 @$(SEP)
184 kmod: dummy
185 $(MAKE) -C $(LINUXDIR) modules CC=$(KERNELCC)
187 testfind:
188 cd $(TARGETDIR)/lib/modules/* && find -name "*.o" -exec mv -i {} . \; || true
189 cd $(TARGETDIR)/lib/modules/* && find -type d -delete || true
191 install package: $(obj-install) $(LINUXDIR)/.config
192 @$(SEP)
194 install -d $(TARGETDIR)
197 # kernel modules
198 $(MAKE) -C $(LINUXDIR) modules_install \
199 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" \
200 DEPMOD=/bin/true INSTALL_MOD_PATH=$(TARGETDIR)
202 ifneq ($(CONFIG_LINUX26),y)
203 find $(TARGETDIR)/lib/modules -name wl.*o -exec $(STRIP) --strip-unneeded -x {} \;
204 find $(TARGETDIR)/lib/modules -name et.*o -exec $(STRIP) --strip-unneeded -x {} \;
205 find $(TARGETDIR)/lib/modules -name bcm57*.*o -exec $(STRIP) --strip-unneeded -x {} \;
206 find $(TARGETDIR)/lib/modules -name ctf.*o -exec $(STRIP) --strip-unneeded -x {} \;
207 find $(TARGETDIR)/lib/modules -name emf.*o -exec $(STRIP) --strip-unneeded -x {} \;
208 find $(TARGETDIR)/lib/modules -name igs.*o -exec $(STRIP) --strip-unneeded -x {} \;
209 find $(TARGETDIR)/lib/modules -name jffs*.*o -exec $(STRIP) --strip-unneeded -x {} \;
211 find $(TARGETDIR)/lib/modules -name *.*o -exec $(STRIP) --strip-debug -x -R .mdebug.abi32 {} \;
212 endif
214 -cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv diag/* . && rm -rf diag
216 # nice and clean
217 -cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv et.4702/* . && rm -rf et.4702 || true
218 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv et/* . && rm -rf et
219 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv wl/* . && rm -rf wl
220 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv cifs/* . && rm -rf cifs
221 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jffs2/* . && rm -rf jffs2 || true
222 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jffs/* . && rm -rf jffs || true
223 cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv zlib_inflate/* . && rm -rf zlib_inflate || true
224 cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv zlib_deflate/* . && rm -rf zlib_deflate || true
225 cd $(TARGETDIR)/lib/modules/*/kernel/lib && mv lzo/* . && rm -rf lzo || true
226 rm -rf $(TARGETDIR)/lib/modules/*/pcmcia
228 ##!!TB
229 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ext2/* . && rm -rf ext2 || true
230 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ext3/* . && rm -rf ext3 || true
231 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jbd/* . && rm -rf jbd || true
232 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv fat/* . && rm -rf fat || true
233 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv jfs/* . && rm -rf jfs || true
234 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv vfat/* . && rm -rf vfat || true
235 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv msdos/* . && rm -rf msdos || true
236 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv fuse/* . && rm -rf fuse || true
237 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv ntfs/* . && rm -rf ntfs || true
238 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv smbfs/* . && rm -rf smbfs || true
239 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv reiserfs/* . && rm -rf reiserfs || true
240 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv hfs/* . && rm -rf hfs || true
241 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv hfsplus/* . && rm -rf hfsplus || true
242 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv lockd/* . && rm -rf lockd || true
243 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nfsd/* . && rm -rf nfsd || true
244 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nfs/* . && rm -rf nfs || true
245 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv xfs/* . && rm -rf xfs || true
246 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv nls/* . && rm -rf nls || true
247 cd $(TARGETDIR)/lib/modules/*/kernel/fs && mv exportfs/* . && rm -rf exportfs || true
248 cd $(TARGETDIR)/lib/modules/*/kernel/net && mv sunrpc/* . && rm -rf sunrpc || true
249 cd $(TARGETDIR)/lib/modules/*/kernel/net && mv auth_gss/* . && rm -rf auth_gss || true
250 cd $(TARGETDIR)/lib/modules/*/kernel/sound/core && mv oss/* . && rm -rf oss || true
251 cd $(TARGETDIR)/lib/modules/*/kernel/sound/core && mv seq/* . && rm -rf seq || true
252 cd $(TARGETDIR)/lib/modules/*/kernel/sound && mv core/* . && rm -rf core || true
253 cd $(TARGETDIR)/lib/modules/*/kernel/sound && mv usb/* . && rm -rf usb || true
254 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv hcd/* . && rm -rf hcd || true
255 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv host/* . && rm -rf host || true
256 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv storage/* . && rm -rf storage || true
257 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv serial/* . && rm -rf serial || true
258 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv core/* . && rm -rf core || true
259 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv class/* . && rm -rf class || true
260 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv misc/* . && rm -rf misc || true
261 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/usb && mv usbip/* . && rm -rf usbip || true
262 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/mmc && mv core/* . && rm -rf core || true
263 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/mmc && mv card/* . && rm -rf card || true
264 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/mmc && mv host/* . && rm -rf host || true
265 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/hid && mv usbhid/* . && rm -rf usbhid || true
266 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/input && mv joystick/* . && rm -rf joystick || true
267 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/input && mv keyboard/* . && rm -rf keyboard || true
268 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/input && mv misc/* . && rm -rf misc || true
269 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/input && mv mouse/* . && rm -rf mouse || true
270 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video && mv uvc/* . && rm -rf uvc || true
271 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video && mv pwc/* . && rm -rf pwc || true
272 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video/gspca && mv gl860/* . && rm -rf gl860 || true
273 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video/gspca && mv m5602/* . && rm -rf m5602 || true
274 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video/gspca && mv stv06xx/* . && rm -rf stv06xx || true
275 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media/video && mv gspca/* . && rm -rf gspca || true
276 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/media && mv video/* . && rm -rf video || true
278 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv bcm57xx/* . && rm -rf bcm57xx || true
279 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv emf/* . && rm -rf emf || true
280 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv igs/* . && rm -rf igs || true
281 cd $(TARGETDIR)/lib/modules/*/kernel/drivers/net && mv ctf/* . && rm -rf ctf || true
282 cd $(TARGETDIR)/lib/modules && rm -f */source || true
284 # misc
285 for dir in $(wildcard $(patsubst %,$(INSTALLDIR)/%,$(obj-y))) ; do \
286 (cd $${dir} && tar cpf - .) | (cd $(TARGETDIR) && tar xpf -) \
287 done
289 ifneq ($(TCONFIG_L7),y)
290 rm -f $(TARGETDIR)/usr/lib/iptables/libipt_layer7.so
291 endif
293 # uClibc
294 install $(LIBDIR)/ld-uClibc.so.0 $(TARGETDIR)/lib/
295 install $(LIBDIR)/libcrypt.so.0 $(TARGETDIR)/lib/
296 install $(LIBDIR)/libpthread.so.0 $(TARGETDIR)/lib/
297 install $(LIBDIR)/libgcc_s.so.1 $(TARGETDIR)/lib/
298 $(STRIP) $(TARGETDIR)/lib/libgcc_s.so.1
299 install $(LIBDIR)/libc.so.0 $(TARGETDIR)/lib/
300 install $(LIBDIR)/libdl.so.0 $(TARGETDIR)/lib/
301 install $(LIBDIR)/libm.so.0 $(TARGETDIR)/lib/
302 install $(LIBDIR)/libnsl.so.0 $(TARGETDIR)/lib/
303 ifeq ($(TCONFIG_SSH),y)
304 install $(LIBDIR)/libutil.so.0 $(TARGETDIR)/lib/
305 endif
306 ifneq ($(TCONFIG_OPTIMIZE_SHARED_LIBS),y)
307 install $(LIBDIR)/libresolv.so.0 $(TARGETDIR)/lib/
308 $(STRIP) $(TARGETDIR)/lib/*.so.0
309 endif
311 @cd $(TARGETDIR) && $(TOP)/others/rootprep.sh
313 @echo ---
315 ifeq ($(TCONFIG_OPTIMIZE_SHARED_LIBS),y)
316 @$(SRCBASE)/btools/libfoo.pl
317 else
318 @$(SRCBASE)/btools/libfoo.pl --noopt
319 endif
320 @chmod 0555 $(TARGETDIR)/lib/*.so*
321 @chmod 0555 $(TARGETDIR)/usr/lib/*.so*
323 # !!TB - moved to run after libfoo.pl - to make sure shared libs include all symbols needed by extras
324 # separated/copied extra stuff
325 @rm -rf $(PLATFORMDIR)/extras
326 @mkdir $(PLATFORMDIR)/extras
327 @mv $(TARGETDIR)/lib/modules/*/kernel/net/ipv4/ip_gre.*o $(PLATFORMDIR)/extras/ || true
329 $(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
330 $(if $(TCONFIG_EBTABLES),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/bridge/netfilter/ebt*.*o $(PLATFORMDIR)/extras/ || true
332 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ifb.*o $(PLATFORMDIR)/extras/ || true
333 @mv $(TARGETDIR)/lib/modules/*/kernel/net/sched/sch_red.*o $(PLATFORMDIR)/extras/ || true
334 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/ntfs.*o $(PLATFORMDIR)/extras/ || true
335 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/smbfs.*o $(PLATFORMDIR)/extras/ || true
336 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/reiserfs.*o $(PLATFORMDIR)/extras/ || true
337 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/jfs.*o $(PLATFORMDIR)/extras/ || true
338 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nfs.*o $(PLATFORMDIR)/extras/ || true
339 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/nfsd.*o $(PLATFORMDIR)/extras/ || true
340 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/lockd.*o $(PLATFORMDIR)/extras/ || true
341 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/exportfs.*o $(PLATFORMDIR)/extras/ || true
342 @mv $(TARGETDIR)/lib/modules/*/kernel/net/sunrpc.*o $(PLATFORMDIR)/extras/ || true
343 @mv $(TARGETDIR)/lib/modules/*/kernel/net/auth_rpcgss.*o $(PLATFORMDIR)/extras/ || true
344 @mv $(TARGETDIR)/lib/modules/*/kernel/net/rpcsec_gss_krb5.*o $(PLATFORMDIR)/extras/ || true
345 @mv $(TARGETDIR)/lib/modules/*/kernel/fs/xfs.*o $(PLATFORMDIR)/extras/ || true
346 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi/sr_mod.*o $(PLATFORMDIR)/extras/ || true
347 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/scanner.*o $(PLATFORMDIR)/extras/ || true
349 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbserial.*o $(PLATFORMDIR)/extras/ || true
350 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/option.*o $(PLATFORMDIR)/extras/ || true
351 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/sierra.*o $(PLATFORMDIR)/extras/ || true
352 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/*acm.*o $(PLATFORMDIR)/extras/ || true
353 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ftdi_sio.*o $(PLATFORMDIR)/extras/ || true
354 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/pl2303.*o $(PLATFORMDIR)/extras/ || true
355 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/mmc/*.*o $(PLATFORMDIR)/extras/ || true
356 $(if $(NEED_EX_USB),@ls,@rm -rf) $(TARGETDIR)/lib/modules/*/kernel/drivers/mmc || true
358 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbip*.*o $(PLATFORMDIR)/extras/ || true
359 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbkbd.*o $(PLATFORMDIR)/extras/ || true
360 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/usbmouse.*o $(PLATFORMDIR)/extras/ || true
361 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/hid*.*o $(PLATFORMDIR)/extras/ || true
362 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ipw.*o $(PLATFORMDIR)/extras/ || true
363 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/audio.*o $(PLATFORMDIR)/extras/ || true
364 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/ov51*.*o $(PLATFORMDIR)/extras/ || true
365 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/pwc*.*o $(PLATFORMDIR)/extras/ || true
366 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/emi*.*o $(PLATFORMDIR)/extras/ || true
367 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/mii.*o $(PLATFORMDIR)/extras/ || true
368 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/usb/cdc_ether.*o $(PLATFORMDIR)/extras/ || true
369 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/usb/cdc_subset.*o $(PLATFORMDIR)/extras/ || true
370 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/usb/usbnet.*o $(PLATFORMDIR)/extras/ || true
371 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/usb/rndis_host.*o $(PLATFORMDIR)/extras/ || true
372 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/net/usb || true
373 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/media/* $(PLATFORMDIR)/extras/ || true
374 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/media || true
375 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/sound/* $(PLATFORMDIR)/extras/ || true
376 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/sound || true
377 @mv $(TARGETDIR)/lib/modules/*/kernel/sound/* $(PLATFORMDIR)/extras/ || true
378 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/sound || true
379 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/input/* $(PLATFORMDIR)/extras/ || true
380 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/input || true
381 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/hid/* $(PLATFORMDIR)/extras/ || true
382 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/hid || true
383 @cp -f $(TARGETDIR)/lib/modules/*/kernel/drivers/net/bcm57*.*o $(PLATFORMDIR)/extras/ || true
384 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ctf*.*o $(PLATFORMDIR)/extras/ || true
385 $(if $(TCONFIG_PPTP),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/net/pptp.*o $(PLATFORMDIR)/extras/ || true
386 $(if $(TCONFIG_L2TP),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/net/pppol2tp.*o $(PLATFORMDIR)/extras/ || true
387 @mv $(TARGETDIR)/lib/modules/*/kernel/drivers/net/ppp_deflate.*o $(PLATFORMDIR)/extras/ || true
388 @mv $(TARGETDIR)/lib/modules/*/kernel/crypto/* $(PLATFORMDIR)/extras/ || true
389 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/crypto || true
391 $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_cp9*.*o $(PLATFORMDIR)/extras/ || true
392 $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_cp1251.*o $(PLATFORMDIR)/extras/ || true
393 $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_euc-jp.*o $(PLATFORMDIR)/extras/ || true
394 $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_sjis.*o $(PLATFORMDIR)/extras/ || true
395 $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_gb2312.*o $(PLATFORMDIR)/extras/ || true
396 $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_euc-kr.*o $(PLATFORMDIR)/extras/ || true
397 $(if $(NEED_EX_NLS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_big5.*o $(PLATFORMDIR)/extras/ || true
399 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/nls_*.*o $(PLATFORMDIR)/extras/ || true
400 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/usb/*.*o $(PLATFORMDIR)/extras/ || true
401 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi/*.*o $(PLATFORMDIR)/extras/ || true
402 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/leds/*.*o $(PLATFORMDIR)/extras/ || true
403 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/ext2.*o $(PLATFORMDIR)/extras/ || true
404 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/ext3.*o $(PLATFORMDIR)/extras/ || true
405 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/jbd.*o $(PLATFORMDIR)/extras/ || true
406 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/mbcache.*o $(PLATFORMDIR)/extras/ || true
407 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/fat.*o $(PLATFORMDIR)/extras/ || true
408 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/vfat.*o $(PLATFORMDIR)/extras/ || true
409 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/msdos.*o $(PLATFORMDIR)/extras/ || true
410 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/fuse.*o $(PLATFORMDIR)/extras/ || true
411 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/hfs.*o $(PLATFORMDIR)/extras/ || true
412 $(if $(TCONFIG_USB),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/hfsplus.*o $(PLATFORMDIR)/extras/ || true
414 ifneq ($(TCONFIG_USB),y)
415 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/usb || true
416 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/scsi || true
417 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/leds || true
418 endif
420 $(if $(TCONFIG_USB_EXTRAS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/connector/cn.*o $(PLATFORMDIR)/extras/ || true
421 $(if $(TCONFIG_USB_EXTRAS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/drivers/block/loop.*o $(PLATFORMDIR)/extras/ || true
422 ifneq ($(TCONFIG_USB_EXTRAS),y)
423 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/connector || true
424 @rm -rf $(TARGETDIR)/lib/modules/*/kernel/drivers/block || true
425 endif
426 $(if $(TCONFIG_CIFS),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/cifs.*o $(PLATFORMDIR)/extras/ || true
427 $(if $(TCONFIG_JFFS2),$(if $(TCONFIG_JFFSV1),@mv,@cp -f),@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/jffs2.*o $(PLATFORMDIR)/extras/ || true
428 $(if $(TCONFIG_JFFS2),$(if $(TCONFIG_JFFSV1),@mv,@cp -f),@mv) $(TARGETDIR)/lib/modules/*/kernel/lib/zlib_*.*o $(PLATFORMDIR)/extras/ || true
429 $(if $(TCONFIG_JFFS2),$(if $(TCONFIG_JFFSV1),@cp -f,@mv),@mv) $(TARGETDIR)/lib/modules/*/kernel/fs/jffs.*o $(PLATFORMDIR)/extras/ || true
430 [ ! -f $(TARGETDIR)/lib/modules/*/kernel/lib/* ] && rm -rf $(TARGETDIR)/lib/modules/*/kernel/lib || true
431 $(if $(TCONFIG_L7),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/ipv4/netfilter/ipt_layer7.*o $(PLATFORMDIR)/extras/ || true
432 $(if $(TCONFIG_L7),@cp -f,@mv) $(TARGETDIR)/lib/modules/*/kernel/net/netfilter/xt_layer7.*o $(PLATFORMDIR)/extras/ || true
434 @mkdir -p $(PLATFORMDIR)/extras/apps
435 @mkdir -p $(PLATFORMDIR)/extras/lib
437 @mv $(TARGETDIR)/usr/sbin/ttcp $(PLATFORMDIR)/extras/apps/ || true
438 @mv $(TARGETDIR)/usr/sbin/mii-tool $(PLATFORMDIR)/extras/apps/ || true
439 @mv $(TARGETDIR)/usr/sbin/robocfg $(PLATFORMDIR)/extras/apps/ || true
441 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/usr/lib/libusb* $(PLATFORMDIR)/extras/lib/ || true
442 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/usr/sbin/usb_modeswitch $(PLATFORMDIR)/extras/apps/ || true
443 @cp usbmodeswitch/usb_modeswitch.conf $(PLATFORMDIR)/extras/apps/usb_modeswitch.conf || true
444 @cp usbmodeswitch/usb_modeswitch.setup $(PLATFORMDIR)/extras/apps/usb_modeswitch.setup || true
445 @mkdir -p $(PLATFORMDIR)/extras/apps/usb_modeswitch.d
446 @cp -f usbmodeswitch/data/usb_modeswitch.d/* $(PLATFORMDIR)/extras/apps/usb_modeswitch.d || true
447 ifneq ($(NEED_EX_USB),y)
448 @rm -rf $(TARGETDIR)/rom/etc/usb_modeswitch.d || true
449 @rm -f $(TARGETDIR)/rom/etc/usb_modeswitch.conf || true
450 endif
451 $(if $(NEED_EX_USB),@cp -f,@mv) $(TARGETDIR)/usr/sbin/chat $(PLATFORMDIR)/extras/apps/ || true
453 @mkdir -p $(TARGETDIR)/rom/etc/l7-protocols
454 ifeq ($(TCONFIG_L7PAT),y)
455 @cd layer7 && ./squish.sh
456 cp layer7/squished/*.pat $(TARGETDIR)/rom/etc/l7-protocols
457 endif
459 ifeq ($(TCONFIG_USERPPTP),y)
460 @mkdir -p $(TARGETDIR)/rom/etc/vpn
461 cp rc/vpn/* $(TARGETDIR)/rom/etc/vpn
462 chmod +x $(TARGETDIR)/rom/etc/vpn/*
463 endif
465 busybox/examples/depmod.pl -k $(LINUXDIR)/vmlinux -b $(TARGETDIR)/lib/modules/*/
466 @mv $(TARGETDIR)/lib/modules/*/modules.dep $(TARGETDIR)/lib/modules/
467 @echo ---
469 @rm -f $(TARGETDIR)/lib/modules/*/build
471 @$(MAKE) -C $(LINUXDIR)/scripts/squashfs mksquashfs-lzma
472 @$(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(TARGETDIR) $(PLATFORMDIR)/target.image -all-root -noappend -nopad | tee target.info
474 # Package kernel and filesystem
475 # if grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \
476 # cp $(PLATFORMDIR)/target.image $(LINUXDIR)/arch/mips/ramdisk/$${CONFIG_EMBEDDED_RAMDISK_IMAGE} ; \
477 # $(MAKE) -C $(LINUXDIR) zImage ; \
478 # else \
479 # cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/vmlinuz $(PLATFORMDIR)/ ; \
480 # trx -o $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image ; \
481 # fi
483 # Pad self-booting Linux to a 64 KB boundary
484 # cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/zImage $(PLATFORMDIR)/
485 # dd conv=sync bs=64k < $(PLATFORMDIR)/zImage > $(PLATFORMDIR)/linux.bin
486 # Append filesystem to self-booting Linux
487 # cat $(PLATFORMDIR)/target.image >> $(PLATFORMDIR)/linux.bin
490 libc: $(LIBDIR)/ld-uClibc.so.0
491 # $(MAKE) -C ../../../tools-src/uClibc all
492 # $(MAKE) -C ../../../tools-src/uClibc install
496 # cleaners
499 clean: clean-build $(obj-clean)
500 rm -rf layer7/squished
501 rm -f .ipv6-y .ipv6-n
502 rm -f .fullssl-y .fullssl-n
503 make -C config clean
505 clean-build: dummy
506 rm -rf $(TARGETDIR)
507 rm -rf $(INSTALLDIR)
508 rm -f $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image
509 rm -rf $(PLATFORMDIR)/extras
511 distclean: clean
512 ifneq ($(INSIDE_MAK),1)
513 $(MAKE) -C $(SRCBASE) $@ INSIDE_MAK=1
514 endif
515 # -rm -f $(LIBDIR)/*.so.0 $(LIBDIR)/*.so
518 # configuration
521 CONFIG_IN := config/config.in
523 config/conf config/mconf:
524 @$(MAKE) -C config
526 rconf: config/conf
527 @config/conf $(CONFIG_IN)
529 rmconf: config/mconf
530 @config/mconf $(CONFIG_IN)
532 roldconf: config/conf
533 @config/conf -o $(CONFIG_IN)
534 @$(MAKE) shared-clean rc-clean nvram-clean httpd-clean prebuilt-clean libbcmcrypto-clean dhcpv6-clean
536 kconf:
537 @$(MAKE) -C $(LINUXDIR) config
539 kmconf:
540 @$(MAKE) -C $(LINUXDIR) menuconfig
542 koldconf:
543 @$(MAKE) -C $(LINUXDIR) oldconfig
544 @$(MAKE) -C $(LINUXDIR) include/linux/version.h
546 bboldconf:
547 @$(MAKE) -C busybox oldconfig
549 config conf: rconf kconf
551 menuconfig mconf: rmconf kmconf
553 .ipv6-y .ipv6-n:
554 @rm -f .ipv6-y .ipv6-n
555 @$(MAKE) iptables-clean ebtables-clean pppd-clean zebra-clean dnsmasq-clean iproute2-clean
556 @touch $@
558 .fullssl-y .fullssl-n:
559 @rm -f .fullssl-y .fullssl-n
560 @$(MAKE) openssl-clean vsftpd-clean mssl-clean mdu-clean httpd-clean
561 @touch $@
563 dependconf: .ipv6-$(if $(TCONFIG_IPV6),y,n) .fullssl-$(if $(FULL_OPENSSL),y,n)
565 oldconfig oldconf: koldconf roldconf dependconf bboldconf
569 # overrides and extra dependencies
572 busybox: dummy
573 @$(MAKE) -C busybox EXTRA_CFLAGS="-fPIC $(EXTRACFLAGS)"
575 # V=1
577 busybox-install:
578 rm -rf $(INSTALLDIR)/busybox
579 $(MAKE) -C busybox install EXTRA_CFLAGS="-fPIC $(EXTRACFLAGS)" CONFIG_PREFIX=$(INSTALLDIR)/busybox
581 busybox-clean:
582 -@$(MAKE) -C busybox distclean
584 busybox-config:
585 $(MAKE) -C busybox menuconfig
588 httpd: shared nvram mssl
589 @$(SEP)
590 @$(MAKE) -C httpd
592 www-install:
593 @$(MAKE) -C www install INSTALLDIR=$(INSTALLDIR)/www TOMATO_EXPERIMENTAL=$(TOMATO_EXPERIMENTAL)
595 matrixssl:
596 @$(SEP)
597 @$(MAKE) -C matrixssl/src
599 matrixssl-install:
600 @true
602 matrixssl-clean:
603 -@$(MAKE) -C matrixssl/src clean
605 cyassl/stamp-h1:
606 @cd cyassl && CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) \
607 CFLAGS="-Os -Wall $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections \
608 -DNO_MD4 -DNO_AES -DNO_ERROR_STRINGS -DNO_HC128 -DNO_RABBIT -DNO_PSK -DNO_DSA -DNO_DH -DNO_PWDBASED" \
609 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
610 PTHREAD_LIBS="-lpthread" \
611 $(CONFIGURE)
612 @touch cyassl/stamp-h1
614 cyassl: cyassl/stamp-h1
615 @$(SEP)
616 @$(MAKE) -C cyassl
618 cyassl-clean:
619 -@$(MAKE) -C cyassl clean
620 @rm -f cyassl/stamp-h1
622 cyassl-install:
623 @true
625 ifeq ($(FULL_OPENSSL),y)
626 OPENSSL_CIPHERS:=enable-rc5
627 else
628 OPENSSL_CIPHERS:=no-dh no-idea no-rc2 no-rc5 no-aes no-aes192 no-cast no-des no-modes
629 # no-tls1 no-tlsext
630 # openssl 1.0.1 doesn't build when using "no-tlsext" or "no-tls1"
631 endif
633 openssl/stamp-h1:
634 cd openssl && \
635 ./Configure linux-mipsel --openssldir=/etc --cross-compile-prefix=' ' \
636 -ffunction-sections -fdata-sections -Wl,--gc-sections \
637 shared $(OPENSSL_CIPHERS) \
638 no-sha0 no-smime no-camellia no-krb5 no-rmd160 no-ripemd \
639 no-seed no-capieng no-cms no-gms no-gmp no-rfc3779 \
640 no-ec no-ecdh no-ecdsa no-err no-hw no-jpake no-threads \
641 no-zlib no-engine no-engines no-sse2 no-perlasm \
642 no-dtls1 no-store no-psk no-md2 no-mdc2 no-ts
644 @$(MAKE) -C openssl clean
645 @touch openssl/stamp-h1
647 openssl: openssl/stamp-h1
649 openssl-clean:
650 -@$(MAKE) -C openssl clean
651 @rm -f openssl/stamp-h1
653 openssl-install: openssl
654 install -D openssl/libcrypto.so.1.0.0 $(INSTALLDIR)/openssl/usr/lib/libcrypto.so.1.0.0
655 $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libcrypto.so.1.0.0
656 cd $(INSTALLDIR)/openssl/usr/lib && ln -sf libcrypto.so.1.0.0 libcrypto.so
658 install -D openssl/apps/openssl $(INSTALLDIR)/openssl/usr/sbin/openssl
659 $(STRIP) $(INSTALLDIR)/openssl/usr/sbin/openssl
660 chmod 0500 $(INSTALLDIR)/openssl/usr/sbin/openssl
662 install -D -m 0500 httpd/gencert.sh $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
664 # perl -e 'while (<>) { s/.SECS/time()-(24*60*60)/e; print; }' < httpd/gencert.sh > $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
665 # chmod 0500 $(INSTALLDIR)/openssl/usr/sbin/gencert.sh
667 ifeq ($(FULL_OPENSSL),y)
668 install -D openssl/libssl.so.1.0.0 $(INSTALLDIR)/openssl/usr/lib/libssl.so.1.0.0
669 $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libssl.so.1.0.0
670 cd $(INSTALLDIR)/openssl/usr/lib && ln -sf libssl.so.1.0.0 libssl.so
671 endif
673 mssl: $(if $(FULL_OPENSSL),openssl,cyassl)
675 mdu: shared mssl
677 rc: nvram shared
679 bridge/Makefile:
680 cd bridge && CFLAGS="-Os -g $(EXTRACFLAGS)" \
681 $(CONFIGURE) --prefix="" --with-linux-headers=$(LINUXDIR)/include
683 bridge: bridge/Makefile
684 @$(SEP)
685 @$(MAKE) -C bridge
687 bridge-clean:
688 -@$(MAKE) -C bridge clean
689 @rm -f bridge/Makefile
691 bridge-install:
692 install -D bridge/brctl/brctl $(INSTALLDIR)/bridge/usr/sbin/brctl
693 $(STRIP) $(INSTALLDIR)/bridge/usr/sbin/brctl
695 dnsmasq:
696 @$(SEP)
697 @$(MAKE) -C dnsmasq \
698 COPTS="$(if $(TCONFIG_IPV6),-DUSE_IPV6,-DNO_IPV6) $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
699 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC"
701 dnsmasq-install:
702 install -D dnsmasq/src/dnsmasq $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
703 $(STRIP) $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq
705 iptables:
706 @$(SEP)
707 $(MAKE) -C iptables BINDIR=/usr/sbin LIBDIR=/usr/lib KERNEL_DIR=$(LINUXDIR) COPT_FLAGS="-Os $(EXTRACFLAGS) -U CONFIG_NVRAM_SIZE"
709 iptables-install:
710 install -D iptables/iptables $(INSTALLDIR)/iptables/usr/sbin/iptables
711 cd $(INSTALLDIR)/iptables/usr/sbin && \
712 ln -sf iptables iptables-restore
714 install -d $(INSTALLDIR)/iptables/usr/lib/iptables
715 install -D iptables/extensions/*.so $(INSTALLDIR)/iptables/usr/lib/iptables/
717 install -D iptables/libiptc.so $(INSTALLDIR)/iptables/usr/lib/libiptc.so
719 $(STRIP) $(INSTALLDIR)/iptables/usr/sbin/iptables
720 $(STRIP) $(INSTALLDIR)/iptables/usr/lib/iptables/*.so
721 $(STRIP) $(INSTALLDIR)/iptables/usr/lib/libiptc.so
723 ifeq ($(TCONFIG_IPV6),y)
724 install iptables/ip6tables $(INSTALLDIR)/iptables/usr/sbin/ip6tables
725 $(STRIP) $(INSTALLDIR)/iptables/usr/sbin/ip6tables
726 cd $(INSTALLDIR)/iptables/usr/sbin && \
727 ln -sf ip6tables ip6tables-restore
728 endif
730 iptables-clean:
731 -@$(MAKE) -C iptables KERNEL_DIR=$(LINUXDIR) clean
733 ppp:
734 @$(SEP)
735 $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp $(if $(TCONFIG_IPV6),HAVE_INET6=y,)
736 # $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp DFLAGS="-DDEBUG -DDEBUGALL"
738 ppp-%:
739 $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp $(if $(TCONFIG_IPV6),HAVE_INET6=y,)
741 rp-pppoe/src/stamp-h1: rp-pppoe/src/Makefile.in
742 cd rp-pppoe/src && CFLAGS="-g -O2 $(EXTRACFLAGS)" \
743 $(CONFIGURE) --prefix=/usr --enable-plugin=$(TOP)/pppd \
744 ac_cv_linux_kernel_pppoe=yes rpppoe_cv_pack_bitfields=rev
745 @touch rp-pppoe/src/stamp-h1
747 rp-pppoe: pppd rp-pppoe/src/stamp-h1
748 $(MAKE) -C rp-pppoe/src pppoe-relay rp-pppoe.so
750 rp-pppoe-clean:
751 -@$(MAKE) -C rp-pppoe/src clean
752 @rm -f rp-pppoe/src/pppoe-relay
753 @rm -f rp-pppoe/src/stamp-h1
755 rp-pppoe-install: rp-pppoe
756 install -D rp-pppoe/src/rp-pppoe.so $(INSTALLDIR)/rp-pppoe/usr/lib/pppd/rp-pppoe.so
757 $(STRIP) $(INSTALLDIR)/rp-pppoe/usr/lib/pppd/*.so
758 # install -D rp-pppoe/src/pppoe-relay $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe-relay
759 # $(STRIP) $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe-relay
762 upnp: nvram shared iptables
764 miniupnpd-config:
765 @cd miniupnpd && ./genconfig.sh
767 miniupnpd: iptables miniupnpd-config
768 @$(SEP)
769 $(MAKE) -C miniupnpd miniupnpd -f Makefile.linux \
770 TARGET_OPENWRT="not really" CC=$(CC) \
771 CFLAGS="-Wall -Os -D_GNU_SOURCE $(EXTRACFLAGS) -I$(TOP)/iptables/include -I$(TOP)/shared" \
772 LDFLAGS="-L$(TOP)/iptables -liptc" LIBS=""
774 miniupnpd-clean:
775 -@$(MAKE) -C miniupnpd -f Makefile.linux clean
776 @rm -f miniupnpd/config.h
778 miniupnpd-install:
779 install -D miniupnpd/miniupnpd $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
780 $(STRIP) $(INSTALLDIR)/miniupnpd/usr/sbin/miniupnpd
782 # !!TB
783 shared: busybox
785 vsftpd: $(if $(TCONFIG_FTP_SSL),openssl,)
786 @$(SEP)
787 $(MAKE) -C vsftpd
789 vsftpd-install: vsftpd
790 install -D vsftpd/vsftpd $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
791 $(STRIP) -s $(INSTALLDIR)/vsftpd/usr/sbin/vsftpd
793 ntfs-3g/Makefile:
794 cd ntfs-3g && \
795 CC=$(CC) CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
796 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
797 $(CONFIGURE) --enable-shared=no --enable-static=no \
798 --disable-library --disable-ldconfig --disable-mount-helper --with-fuse=internal \
799 --disable-posix-acls --disable-nfconv --disable-dependency-tracking
801 ntfs-3g: ntfs-3g/Makefile
802 @$(MAKE) -C ntfs-3g
804 ntfs-3g-clean:
805 -@$(MAKE) -C ntfs-3g clean
806 @rm -f ntfs-3g/Makefile
808 ntfs-3g-install: ntfs-3g
809 install -D ntfs-3g/src/ntfs-3g $(INSTALLDIR)/ntfs-3g/bin/ntfs-3g
810 $(STRIP) -s $(INSTALLDIR)/ntfs-3g/bin/ntfs-3g
811 install -d $(INSTALLDIR)/ntfs-3g/sbin && cd $(INSTALLDIR)/ntfs-3g/sbin && \
812 ln -sf ../bin/ntfs-3g mount.ntfs-3g && \
813 ln -sf ../bin/ntfs-3g mount.ntfs
815 libusb10/Makefile: libusb10/Makefile.in
816 cd libusb10 && CFLAGS="-Os -Wall $(EXTRACFLAGS)" LIBS="-lpthread" \
817 $(CONFIGURE) --prefix=/usr ac_cv_lib_rt_clock_gettime=no
819 libusb10: libusb10/Makefile
820 $(MAKE) -C $@
822 libusb10-install: libusb10
823 install -D libusb10/libusb/.libs/libusb-1.0.so $(INSTALLDIR)/libusb10/usr/lib/libusb-1.0.so
824 $(STRIP) $(INSTALLDIR)/libusb10/usr/lib/*.so
826 libusb10-clean:
827 -@$(MAKE) -C $@ clean
828 @rm -rf libusb10/Makefile
830 libusb/Makefile: libusb/Makefile.in
831 cd libusb && CFLAGS="-Wall -Os $(EXTRACFLAGS)" \
832 $(CONFIGURE) --prefix=/usr \
833 LIBUSB_1_0_CFLAGS="-I$(TOP)/libusb10/libusb" \
834 LIBUSB_1_0_LIBS="-L$(TOP)/libusb10/libusb/.libs -lusb-1.0 -lpthread \
835 -Wl,-R/lib:/usr/lib:/opt/usr/lib:/usr/local/share"
837 libusb: libusb10 libusb/Makefile
838 $(MAKE) -C $@
840 libusb-install: libusb
841 install -D libusb/libusb/.libs/libusb-0.1.so $(INSTALLDIR)/libusb/usr/lib/libusb-0.1.so
842 $(STRIP) $(INSTALLDIR)/libusb/usr/lib/*.so
844 libusb-clean:
845 -@$(MAKE) -C $@ clean
846 @rm -rf libusb/Makefile
848 usbmodeswitch: libusb10
849 $(MAKE) -C $@ CC=$(CC) CFLAGS="-Os $(EXTRACFLAGS) -DLIBUSB10 \
850 -Wl,-R/lib:/usr/lib:/opt/usr/lib:/usr/local/share -lpthread \
851 -I$(TOP)/libusb10/libusb -L$(TOP)/libusb10/libusb/.libs -lusb-1.0"
853 usbmodeswitchdb-install:
854 @mkdir -p $(TARGETDIR)/rom/etc/usb_modeswitch.d
855 # compress whitespace
856 @for D in $(wildcard $(TOP)/usbmodeswitch/data/usb_modeswitch.d/*); do \
857 F=`basename $$D`; \
858 sed 's/###.*//g;s/[ \t]\+/ /g;s/^[ \t]*//;s/[ \t]*$$//;/^$$/d' < $$D > $(TARGETDIR)/rom/etc/usb_modeswitch.d/$$F; \
859 done
861 usbmodeswitch-install: usbmodeswitch usbmodeswitchdb-install
862 install -D usbmodeswitch/usb_modeswitch $(INSTALLDIR)/usbmodeswitch/usr/sbin/usb_modeswitch
863 $(STRIP) -s $(INSTALLDIR)/usbmodeswitch/usr/sbin/usb_modeswitch
864 @mkdir -p $(TARGETDIR)/rom/etc
865 @sed 's/#.*//g;s/[ \t]\+/ /g;s/^[ \t]*//;s/[ \t]*$$//;/^$$/d' < $(TOP)/usbmodeswitch/usb_modeswitch.conf > $(TARGETDIR)/rom/etc/usb_modeswitch.conf
868 radvd/stamp-h1:
869 cd radvd && CFLAGS="-Os $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
870 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
871 $(CONFIGURE) --prefix=""
872 @$(MAKE) -C radvd clean
873 @touch radvd/stamp-h1
875 radvd: radvd/stamp-h1
877 radvd-clean:
878 -@$(MAKE) -C radvd distclean
879 @rm -f radvd/stamp-h1
881 radvd-install: radvd
882 install -D radvd/radvd $(INSTALLDIR)/radvd/usr/sbin/radvd
883 $(STRIP) $(INSTALLDIR)/radvd/usr/sbin/radvd
885 dhcpv6/stamp-h1:
886 @cd dhcpv6 && \
887 CFLAGS="-Os -Wall $(EXTRACFLAGS) -D_GNU_SOURCE -ffunction-sections -fdata-sections" \
888 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
889 ac_cv_func_setpgrp_void=yes \
890 $(CONFIGURE) --prefix= --with-localdbdir=/var
891 @$(MAKE) -C dhcpv6 clean
892 @touch dhcpv6/stamp-h1
894 dhcpv6: dhcpv6/stamp-h1
895 @$(SEP)
896 @$(MAKE) -C dhcpv6 dhcp6c
898 dhcpv6-install: dhcpv6
899 install -D dhcpv6/dhcp6c $(INSTALLDIR)/dhcpv6/usr/sbin/dhcp6c
900 $(STRIP) $(INSTALLDIR)/dhcpv6/usr/sbin/dhcp6c
902 dhcpv6-clean:
903 -@$(MAKE) -C dhcpv6 clean
904 @rm -f dhcpv6/Makefile dhcpv6/stamp-h1
907 p910nd:
908 samba:
909 samba3:
911 nvram: shared
913 prebuilt: shared libbcmcrypto
915 vlan:
916 @$(SEP)
917 @$(MAKE) -C vlan CROSS=$(CROSS_COMPILE) # STRIPTOOL=$(STRIP)
919 vlan-install:
920 $(MAKE) -C vlan CROSS=$(CROSS_COMPILE) INSTALLDIR=$(INSTALLDIR) install # STRIPTOOL=$(STRIP)
921 $(STRIP) $(INSTALLDIR)/vlan/usr/sbin/vconfig
924 pptp-client-install:
925 install -D pptp-client/pptp $(INSTALLDIR)/pptp-client/usr/sbin/pptp
926 $(STRIP) $(INSTALLDIR)/pptp-client/usr/sbin/pptp
929 accel-pptp: pppd accel-pptp/Makefile
930 @$(MAKE) -C accel-pptp
932 accel-pptp/Makefile: accel-pptp/Makefile.in $(LINUXDIR)/include/linux/version.h
933 cd accel-pptp && CFLAGS="-g -O2 $(EXTRACFLAGS)" \
934 $(CONFIGURE) --prefix=/usr KDIR=$(LINUXDIR) PPPDIR=$(TOP)/pppd
936 accel-pptp-clean:
937 -@$(MAKE) -C accel-pptp clean
938 @rm -f accel-pptp/Makefile
940 accel-pptp-install: accel-pptp
941 install -D accel-pptp/src/.libs/pptp.so $(INSTALLDIR)/accel-pptp/usr/lib/pppd/pptp.so
942 $(STRIP) $(INSTALLDIR)/accel-pptp/usr/lib/pppd/pptp.so
945 pptpd/stamp-h1:
946 cd $(TOP)/pptpd && $(CONFIGURE) --prefix=$(INSTALLDIR)/pptpd --enable-bcrelay CC=mipsel-uclibc-gcc STRIP=mipsel-uclibc-strip AR=mipsel-uclibc-ar LD=mipsel-uclibc-ld NM=mipsel-uclibc-nm RANLIB=mipsel-uclibc-ranlib
947 touch pptpd/stamp-h1
949 pptpd: pptpd/stamp-h1
951 pptpd-install: pptpd
952 @echo pptpd
953 @install -D pptpd/pptpd $(INSTALLDIR)/pptpd/usr/sbin/pptpd
954 @install -D pptpd/bcrelay $(INSTALLDIR)/pptpd/usr/sbin/bcrelay
955 @install -D pptpd/pptpctrl $(INSTALLDIR)/pptpd/usr/sbin/pptpctrl
956 @$(STRIP) $(INSTALLDIR)/pptpd/usr/sbin/pptpd
957 @$(STRIP) $(INSTALLDIR)/pptpd/usr/sbin/bcrelay
958 @$(STRIP) $(INSTALLDIR)/pptpd/usr/sbin/pptpctrl
960 pptpd-clean:
961 -@$(MAKE) -C pptpd clean
962 rm -rf pptpd/.deps pptpd/stamp-h1
965 pppd/Makefile: pppd/linux/Makefile.top
966 cd pppd && $(CONFIGURE) --prefix=/usr --sysconfdir=/tmp
968 pppd: pppd/Makefile
969 @$(SEP)
970 @$(MAKE) -C pppd MFLAGS='$(if $(TCONFIG_IPV6),HAVE_INET6=y,) EXTRACFLAGS="$(EXTRACFLAGS)"'
972 pppd-clean:
973 -@$(MAKE) -C pppd clean
974 @rm -f pppd/Makefile
976 pppd-install: pppd
977 install -D pppd/pppd/pppd $(INSTALLDIR)/pppd/usr/sbin/pppd
978 $(STRIP) $(INSTALLDIR)/pppd/usr/sbin/pppd
979 install -D pppd/chat/chat $(INSTALLDIR)/pppd/usr/sbin/chat
980 $(STRIP) $(INSTALLDIR)/pppd/usr/sbin/chat
981 ifeq ($(TCONFIG_L2TP),y)
982 install -D pppd/pppd/plugins/pppol2tp/pppol2tp.so $(INSTALLDIR)/pppd/usr/lib/pppd/pppol2tp.so
983 $(STRIP) $(INSTALLDIR)/pppd/usr/lib/pppd/*.so
984 endif
986 # ipupdate-install:
987 # install -D ipupdate/ez-ipupdate $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
988 # $(STRIP) $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate
990 zebra/stamp-h1:
991 @cd zebra && rm -f config.cache && \
992 CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD) \
993 CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
994 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
995 $(CONFIGURE) --sysconfdir=/etc \
996 --enable-netlink $(if $(TCONFIG_IPV6),--enable-ipv6,--disable-ipv6) --disable-ripngd --disable-ospfd --disable-doc \
997 --disable-ospf6d --disable-bgpd --disable-bgpd-announce
998 @touch zebra/stamp-h1
1000 zebra: zebra/stamp-h1
1001 @$(MAKE) -C zebra CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) LD=$(LD)
1003 zebra-clean:
1004 -@$(MAKE) -C zebra clean
1005 @rm -f zebra/stamp-h1
1007 zebra-install: zebra
1008 install -D zebra/zebra/zebra $(INSTALLDIR)/zebra/usr/sbin/zebra
1009 install -D zebra/ripd/ripd $(INSTALLDIR)/zebra/usr/sbin/ripd
1010 install -D zebra/lib/libzebra.so $(INSTALLDIR)/zebra/usr/lib/libzebra.so
1011 $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/zebra
1012 $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/ripd
1013 $(STRIP) $(INSTALLDIR)/zebra/usr/lib/libzebra.so
1016 rp-l2tp-install:
1017 install -d $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
1018 install rp-l2tp/handlers/*.so $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp
1019 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp/*.so
1020 install -D rp-l2tp/handlers/l2tp-control $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
1021 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control
1022 install -D rp-l2tp/l2tpd $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
1023 $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd
1025 xl2tpd: pppd
1026 CFLAGS="-g $(EXTRACFLAGS)" $(MAKE) -C $@ PREFIX=/usr xl2tpd
1028 xl2tpd-install: xl2tpd
1029 install -D xl2tpd/xl2tpd $(INSTALLDIR)/xl2tpd/usr/sbin/xl2tpd
1030 $(STRIP) $(INSTALLDIR)/xl2tpd/usr/sbin/xl2tpd
1033 bpalogin-install:
1034 install -D bpalogin/bpalogin $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
1035 $(STRIP) $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin
1038 # libnet:
1039 # @$(SEP)
1040 # @-mkdir -p libnet/lib
1041 # @$(MAKE) -C libnet CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
1043 libbcm:
1044 @[ ! -f libbcm/Makefile ] || $(MAKE) -C libbcm
1046 libbcm-install:
1047 install -D libbcm/libbcm.so $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
1048 $(STRIP) $(INSTALLDIR)/libbcm/usr/lib/libbcm.so
1051 iproute2:
1052 @$(SEP)
1053 @$(MAKE) -C $@ KERNEL_INCLUDE=$(LINUXDIR)/include EXTRACFLAGS="$(EXTRACFLAGS) $(if $(TCONFIG_IPV6),-DUSE_IPV6,-DNO_IPV6)"
1055 iproute2-install: iproute2
1056 install -D iproute2/tc/tc $(INSTALLDIR)/iproute2/usr/sbin/tc
1057 $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/tc
1058 install -D iproute2/ip/ip $(INSTALLDIR)/iproute2/usr/sbin/ip
1059 $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/ip
1062 ntpc: nvram shared
1065 dropbear: dropbear/config.h
1066 @$(SEP)
1067 @$(MAKE) -C dropbear PROGRAMS="dropbear dbclient dropbearkey scp" MULTI=1
1069 dropbear-install:
1070 install -D dropbear/dropbearmulti $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
1071 $(STRIP) $(INSTALLDIR)/dropbear/usr/bin/dropbearmulti
1072 cd $(INSTALLDIR)/dropbear/usr/bin && \
1073 ln -sf dropbearmulti dropbear && \
1074 ln -sf dropbearmulti dropbearconvert && \
1075 ln -sf dropbearmulti dropbearkey && \
1076 ln -sf dropbearmulti dbclient && \
1077 ln -sf dropbearmulti ssh && \
1078 ln -sf dropbearmulti scp
1080 dropbear-clean:
1081 -@$(MAKE) -C dropbear clean
1082 @rm -f dropbear/config.h
1084 dropbear/config.h:
1085 cd dropbear && \
1086 CFLAGS="-Os -Wall $(EXTRACFLAGS) -DARGTYPE=3 -ffunction-sections -fdata-sections" \
1087 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
1088 ac_cv_func_logout=no ac_cv_func_logwtmp=no \
1089 $(CONFIGURE) --disable-zlib --enable-syslog --disable-lastlog --disable-utmp \
1090 --disable-utmpx --disable-wtmp --disable-wtmpx --disable-pututline \
1091 --disable-pututxline --disable-loginfunc --disable-pam --enable-openpty --enable-bundled-libtom
1092 @$(MAKE) -C dropbear clean
1094 # Media libraries
1096 sqlite/stamp-h1:
1097 cd sqlite && \
1098 CC=$(CC) CFLAGS="-Os $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
1099 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
1100 $(CONFIGURE) --prefix=/usr --enable-shared --enable-static \
1101 --disable-readline --disable-dynamic-extensions --enable-threadsafe
1102 touch sqlite/stamp-h1
1104 sqlite: sqlite/stamp-h1
1105 @$(MAKE) -C sqlite all
1107 sqlite-clean:
1108 -@$(MAKE) -C sqlite clean
1109 @rm -f sqlite/stamp-h1
1111 sqlite-install: sqlite
1112 @$(SEP)
1113 ifneq ($(MEDIA_SERVER_STATIC),y)
1114 install -D sqlite/.libs/libsqlite3.so.0 $(INSTALLDIR)/sqlite/usr/lib/libsqlite3.so.0
1115 $(STRIP) $(INSTALLDIR)/sqlite/usr/lib/libsqlite3.so.0
1116 endif
1118 FFMPEG_FILTER_CONFIG= $(foreach c, $(2), --$(1)="$(c)")
1120 FFMPEG_DECODERS:=aac ac3 atrac3 flac h264 jpegls mp3 mpeg1video mpeg2video mpeg4 mpeg4aac mpegvideo png wmav1 wmav2
1121 FFMPEG_CONFIGURE_DECODERS:=$(call FFMPEG_FILTER_CONFIG,enable-decoder,$(FFMPEG_DECODERS))
1123 FFMPEG_PARSERS:=aac ac3 h264 mpeg4video mpegaudio mpegvideo
1124 FFMPEG_CONFIGURE_PARSERS:=$(call FFMPEG_FILTER_CONFIG,enable-parser,$(FFMPEG_PARSERS))
1126 FFMPEG_PROTOCOLS:=file
1127 FFMPEG_CONFIGURE_PROTOCOLS:=$(call FFMPEG_FILTER_CONFIG,enable-protocol,$(FFMPEG_PROTOCOLS))
1129 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
1130 FFMPEG_CONFIGURE_DEMUXERS:=$(call FFMPEG_FILTER_CONFIG,disable-demuxer,$(FFMPEG_DISABLED_DEMUXERS))
1132 ffmpeg/stamp-h1: zlib
1133 cd ffmpeg && symver_asm_label=no symver_gnu_asm=no symver=no CC=$(CC) \
1134 ./configure --enable-cross-compile --arch=mips --target_os=linux \
1135 --cross-prefix=$(CROSS_COMPILE) --enable-shared --enable-gpl --disable-doc \
1136 --enable-pthreads --enable-small --disable-encoders --disable-filters \
1137 --disable-muxers --disable-devices --disable-ffmpeg --disable-ffplay \
1138 --disable-ffserver --disable-ffprobe --disable-avdevice --disable-swscale \
1139 --disable-hwaccels --disable-network --disable-bsfs --disable-mpegaudio-hp \
1140 --enable-demuxers $(FFMPEG_CONFIGURE_DEMUXERS) \
1141 --disable-decoders $(FFMPEG_CONFIGURE_DECODERS) \
1142 --disable-parsers $(FFMPEG_CONFIGURE_PARSERS) \
1143 --disable-protocols $(FFMPEG_CONFIGURE_PROTOCOLS) \
1144 --extra-cflags="-Os $(EXTRACFLAGS) -ffunction-sections -fdata-sections -fPIC -I$(TOP)/zlib" \
1145 --extra-ldflags="-ffunction-sections -fdata-sections -Wl,--gc-sections -fPIC" \
1146 --extra-libs="-L$(TOP)/zlib -lz" \
1147 --enable-zlib --disable-debug --prefix=''
1148 touch ffmpeg/stamp-h1
1150 ffmpeg: ffmpeg/stamp-h1 zlib
1151 @$(MAKE) -C ffmpeg all
1153 ffmpeg-clean:
1154 -@$(MAKE) -C ffmpeg clean
1155 @rm -f ffmpeg/stamp-h1 ffmpeg/config.h ffmpeg/config.mak
1157 ffmpeg-install: ffmpeg
1158 @$(SEP)
1159 ifneq ($(MEDIA_SERVER_STATIC),y)
1160 install -D ffmpeg/libavformat/libavformat.so.52 $(INSTALLDIR)/ffmpeg/usr/lib/libavformat.so.52
1161 install -D ffmpeg/libavcodec/libavcodec.so.52 $(INSTALLDIR)/ffmpeg/usr/lib/libavcodec.so.52
1162 install -D ffmpeg/libavutil/libavutil.so.50 $(INSTALLDIR)/ffmpeg/usr/lib/libavutil.so.50
1163 $(STRIP) $(INSTALLDIR)/ffmpeg/usr/lib/libavformat.so.52
1164 $(STRIP) $(INSTALLDIR)/ffmpeg/usr/lib/libavcodec.so.52
1165 $(STRIP) $(INSTALLDIR)/ffmpeg/usr/lib/libavutil.so.50
1166 endif
1168 libogg/stamp-h1:
1169 cd libogg && \
1170 CFLAGS="-Os $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
1171 LDFLAGS="-fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1172 $(CONFIGURE) --enable-shared --enable-static --prefix=''
1173 touch libogg/stamp-h1
1175 libogg: libogg/stamp-h1
1176 @$(MAKE) -C libogg all
1178 libogg-clean:
1179 -@$(MAKE) -C libogg clean
1180 @rm -f libogg/stamp-h1
1182 libogg-install: libogg
1183 @$(SEP)
1184 ifneq ($(MEDIA_SERVER_STATIC),y)
1185 install -D libogg/src/.libs/libogg.so.0 $(INSTALLDIR)/libogg/usr/lib/libogg.so.0
1186 $(STRIP) $(INSTALLDIR)/libogg/usr/lib/libogg.so.0
1187 endif
1189 flac/stamp-h1: libogg
1190 cd flac && \
1191 CFLAGS="-Os $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
1192 CPPFLAGS="-I$(TOP)/libogg/include -I$(LINUXDIR)/include" \
1193 LDFLAGS="-L$(TOP)/libogg/src/.libs -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1194 $(CONFIGURE) --enable-shared --enable-static --prefix='' --disable-rpath \
1195 --disable-doxygen-docs --disable-xmms-plugin --disable-cpplibs \
1196 --without-libiconv-prefix --disable-altivec --disable-3dnow --disable-sse
1197 touch flac/stamp-h1
1199 flac: flac/stamp-h1 libogg
1200 @$(MAKE) -C flac/src/libFLAC all
1202 flac-clean:
1203 -@$(MAKE) -C flac clean
1204 @rm -f flac/stamp-h1
1206 flac-install: flac
1207 @$(SEP)
1208 ifneq ($(MEDIA_SERVER_STATIC),y)
1209 install -D flac/src/libFLAC/.libs/libFLAC.so.8 $(INSTALLDIR)/flac/usr/lib/libFLAC.so.8
1210 $(STRIP) $(INSTALLDIR)/flac/usr/lib/libFLAC.so.8
1211 endif
1213 jpeg/stamp-h1:
1214 cd jpeg && \
1215 CFLAGS="-Os $(EXTRACFLAGS) -fPIC" CC=$(CC) AR2="touch" $(CONFIGURE) --enable-shared --enable-static --prefix=''
1216 touch jpeg/stamp-h1
1218 jpeg: jpeg/stamp-h1
1219 @$(MAKE) -C jpeg LIBTOOL="" O=o A=a CC=$(CC) AR2="touch" libjpeg.a libjpeg.so
1221 jpeg-clean:
1222 -@$(MAKE) -C jpeg clean
1223 @rm -f jpeg/stamp-h1 jpeg/Makefile
1225 jpeg-install: jpeg
1226 @$(SEP)
1227 ifneq ($(MEDIA_SERVER_STATIC),y)
1228 install -D jpeg/libjpeg.so $(INSTALLDIR)/jpeg/usr/lib/libjpeg.so
1229 $(STRIP) $(INSTALLDIR)/jpeg/usr/lib/libjpeg.so
1230 endif
1232 libexif/stamp-h1:
1233 cd libexif && CFLAGS="-Os -Wall $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
1234 LDFLAGS="-fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1235 $(CONFIGURE) --enable-shared --enable-static --prefix='' \
1236 --disable-docs --disable-rpath --disable-nls --without-libiconv-prefix --without-libintl-prefix
1237 touch libexif/stamp-h1
1239 libexif: libexif/stamp-h1
1240 @$(MAKE) -C libexif all
1242 libexif-clean:
1243 -@$(MAKE) -C libexif clean
1244 @rm -f libexif/stamp-h1
1246 libexif-install: libexif
1247 @$(SEP)
1248 ifneq ($(MEDIA_SERVER_STATIC),y)
1249 install -D libexif/libexif/.libs/libexif.so.12 $(INSTALLDIR)/libexif/usr/lib/libexif.so.12
1250 $(STRIP) $(INSTALLDIR)/libexif/usr/lib/libexif.so.12
1251 endif
1253 zlib/stamp-h1:
1254 cd zlib && \
1255 CC=$(CC) AR="ar rc" RANLIB=$(RANLIB) LD=$(LD) CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
1256 ./configure --shared --prefix=''
1257 touch zlib/stamp-h1
1259 zlib: zlib/stamp-h1
1260 @$(MAKE) -C zlib CC=$(CC) AR="ar rc" RANLIB=$(RANLIB) LD=$(LD) all
1262 zlib-clean:
1263 -@$(MAKE) -C zlib clean
1264 @rm -f zlib/stamp-h1 zlib/Makefile zlib/zconf.h zlib/zlib.pc
1266 zlib-install: zlib
1267 @$(SEP)
1268 ifneq ($(MEDIA_SERVER_STATIC),y)
1269 install -d $(INSTALLDIR)/zlib/usr/lib
1270 install -D zlib/libz.so.1 $(INSTALLDIR)/zlib/usr/lib/
1271 $(STRIP) $(INSTALLDIR)/zlib/usr/lib/libz.so.1
1272 endif
1274 libid3tag/stamp-h1: zlib
1275 cd libid3tag && \
1276 CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" CPPFLAGS="-I$(TOP)/zlib" \
1277 LDFLAGS="-L$(TOP)/zlib -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1278 $(CONFIGURE) --enable-shared --enable-static --prefix='' \
1279 --disable-debugging --disable-profiling
1280 touch libid3tag/stamp-h1
1282 libid3tag: libid3tag/stamp-h1 zlib
1283 @$(MAKE) -C libid3tag all
1285 libid3tag-clean:
1286 -@$(MAKE) -C libid3tag clean
1287 @rm -f libid3tag/stamp-h1
1289 libid3tag-install: libid3tag
1290 @$(SEP)
1291 ifneq ($(MEDIA_SERVER_STATIC),y)
1292 install -D libid3tag/.libs/libid3tag.so.0 $(INSTALLDIR)/libid3tag/usr/lib/libid3tag.so.0
1293 $(STRIP) $(INSTALLDIR)/libid3tag/usr/lib/libid3tag.so.0
1294 endif
1296 libvorbis/stamp-h1: libogg
1297 cd libvorbis && \
1298 CFLAGS="-Os -Wall $(EXTRACFLAGS) -fPIC -ffunction-sections -fdata-sections" \
1299 CPPFLAGS="-I$(TOP)/libogg/include" \
1300 LDFLAGS="-L$(TOP)/libogg/src/.libs -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1301 $(CONFIGURE) --enable-shared --enable-static --prefix='' --disable-oggtest \
1302 --with-ogg-includes="$(TOP)/libogg/include" \
1303 --with-ogg-libraries="$(TOP)/libogg/src/.libs"
1304 touch libvorbis/stamp-h1
1306 libvorbis: libvorbis/stamp-h1
1307 @$(MAKE) -C libvorbis/lib all
1309 libvorbis-clean:
1310 -@$(MAKE) -C libvorbis clean
1311 @rm -f libvorbis/stamp-h1
1313 libvorbis-install: libvorbis
1314 @$(SEP)
1315 ifneq ($(MEDIA_SERVER_STATIC),y)
1316 install -D libvorbis/lib/.libs/libvorbis.so.0 $(INSTALLDIR)/libvorbis/usr/lib/libvorbis.so.0
1317 $(STRIP) $(INSTALLDIR)/libvorbis/usr/lib/libvorbis.so.0
1318 endif
1320 minidlna: zlib sqlite ffmpeg libogg flac jpeg libexif libid3tag libvorbis
1321 @$(SEP)
1322 @$(MAKE) -C minidlna CC=$(CC) $(if $(MEDIA_SERVER_STATIC),STATIC=1,) minidlna
1325 igmpproxy/src/Makefile: igmpproxy/src/Makefile.in
1326 cd igmpproxy && CFLAGS="-O2 -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
1327 LDFLAGS="-ffunction-sections -fdata-sections -Wl,--gc-sections" \
1328 $(CONFIGURE) --prefix=/usr
1330 igmpproxy: igmpproxy/src/Makefile
1331 @$(SEP)
1332 @$(MAKE) -C igmpproxy/src
1334 igmpproxy-install: igmpproxy
1335 install -D igmpproxy/src/igmpproxy $(INSTALLDIR)/igmpproxy/usr/sbin/igmpproxy
1336 $(STRIP) $(INSTALLDIR)/igmpproxy/usr/sbin/igmpproxy
1338 igmpproxy-clean:
1339 -@$(MAKE) -C igmpproxy/src clean
1340 @rm -f igmpproxy/src/Makefile
1342 udev:
1343 $(MAKE) -C $@ CROSS_COMPILE=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)" \
1344 PROGRAMS=udevtrigger
1346 udev-install: udev
1347 install -d $(INSTALLDIR)
1348 install -d $(TARGETDIR)
1349 $(MAKE) -C udev DESTDIR=$(INSTALLDIR) prefix=/udev install-udevtrigger
1351 hotplug2:
1352 $(MAKE) -C $@ CROSS_COMPILE=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)"
1354 hotplug2-install: hotplug2
1355 $(MAKE) -C hotplug2 install PREFIX=$(INSTALLDIR)/hotplug2 SUBDIRS=""
1356 $(MAKE) -C hotplug2/examples install PREFIX=$(INSTALLDIR)/hotplug2/rom KERNELVER=$(LINUX_KERNEL)
1358 emf:
1359 $(MAKE) -C $(SRCBASE)/emf/emfconf CROSS=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)"
1361 emf-install: emf
1362 $(MAKE) -C $(SRCBASE)/emf/emfconf INSTALLDIR=$(INSTALLDIR) install
1364 igs:
1365 $(MAKE) -C $(SRCBASE)/emf/igsconf CROSS=$(CROSS_COMPILE) EXTRACFLAGS="$(EXTRACFLAGS)"
1367 igs-install: igs
1368 $(MAKE) -C $(SRCBASE)/emf/igsconf INSTALLDIR=$(INSTALLDIR) install
1370 wanuptime: nvram shared
1371 @$(SEP)
1372 @$(MAKE) -C wanuptime
1374 wanuptime-clean:
1375 -@$(MAKE) -C wanuptime clean
1377 wanuptime-install:
1378 install -D wanuptime/wanuptime $(INSTALLDIR)/wanuptime/usr/sbin/wanuptime
1379 $(STRIP) $(INSTALLDIR)/wanuptime/usr/sbin/wanuptime
1381 ebtables: dummy
1382 $(MAKE) -C ebtables CC=$(CC) LD=$(LD) \
1383 CFLAGS="-Os $(EXTRACFLAGS) -DEBT_MIN_ALIGN=4 -Wall -Wunused" \
1384 LOCKFILE="/var/lock/ebtables" LOCKDIR="/var/lock" \
1385 BINDIR="/usr/sbin" LIBDIR="/usr/lib/ebtables" KERNEL_INCLUDES=$(LINUXDIR)/include $(if $(TCONFIG_IPV6),DO_IPV6=1,)
1387 ebtables-install: ebtables
1388 install -D ebtables/ebtables $(INSTALLDIR)/ebtables/usr/sbin/ebtables
1390 @mkdir -p $(TARGETDIR)/rom/etc
1391 @sed 's/#.*//g;s/[ \t]\+/ /g;s/^[ \t]*//;s/[ \t]*$$//;/^$$/d' < $(TOP)/ebtables/ethertypes > $(TARGETDIR)/rom/etc/ethertypes
1392 chmod 0644 $(TARGETDIR)/rom/etc/ethertypes
1394 install -d $(INSTALLDIR)/ebtables/usr/lib
1395 install -d $(INSTALLDIR)/ebtables/usr/lib/ebtables
1396 install -D ebtables/*.so $(INSTALLDIR)/ebtables/usr/lib/
1397 install -D ebtables/extensions/*.so $(INSTALLDIR)/ebtables/usr/lib/ebtables/
1399 $(STRIP) $(INSTALLDIR)/ebtables/usr/sbin/ebtables
1400 $(STRIP) $(INSTALLDIR)/ebtables/usr/lib/ebtables/*.so
1401 $(STRIP) $(INSTALLDIR)/ebtables/usr/lib/libebt*.so
1403 ebtables-clean:
1404 -@$(MAKE) -C ebtables clean
1406 #Roadkill
1407 glib/stamp-h1:
1408 @$(SEP)
1409 @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 \
1410 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 \
1411 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 \
1412 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 \
1413 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
1414 @$(MAKE) -C glib
1415 touch glib/stamp-h1
1417 glib: glib/stamp-h1
1419 glib-clean:
1420 -@$(MAKE) -C glib clean
1421 rm -f glib/stamp-h1
1423 glib-install: glib
1424 @$(MAKE) -C glib DESTDIR=$(INSTALLDIR)/glib install
1426 #Roadkill
1427 nocat/stamp-h1: glib-install
1428 @$(SEP)
1429 @cd nocat && \
1430 NC_CONF_PATH="/" \
1431 $(CONFIGURE) --with-firewall=iptables --with-glib-prefix="$(INSTALLDIR)/glib/usr" --localstatedir=/var --sysconfdir=/etc
1432 @$(MAKE) -C nocat
1434 echo *** integrate glib to nocat installdir
1435 install -d $(INSTALLDIR)/nocat/usr/lib
1436 install -D glib/.libs/libglib-1.2.so.0.0.10 $(INSTALLDIR)/nocat/usr/lib/libglib-1.2.so.0.0.10
1437 cd $(INSTALLDIR)/nocat/usr/lib && ln -s libglib-1.2.so.0.0.10 libglib-1.2.so.0
1438 $(STRIP) $(INSTALLDIR)/nocat/usr/lib/libglib-1.2.so.0.0.10
1439 touch nocat/stamp-h1
1441 nocat: nocat/stamp-h1
1443 nocat-clean:
1444 -@$(MAKE) -C nocat clean
1445 rm -f nocat/stamp-h1
1447 nocat-install:
1448 install -D nocat/src/splashd $(INSTALLDIR)/nocat/usr/sbin/splashd
1449 $(STRIP) $(INSTALLDIR)/nocat/usr/sbin/splashd
1450 mkdir -p $(INSTALLDIR)/nocat/usr/libexec/nocat
1451 install -D nocat/libexec/iptables/* $(INSTALLDIR)/nocat/usr/libexec/nocat
1453 lzo/stamp-h1:
1454 cd lzo && \
1455 CFLAGS="-Os -Wall -fPIC $(EXTRACFLAGS)" $(CONFIGURE) --enable-shared --enable-static
1456 touch lzo/stamp-h1
1458 lzo: lzo/stamp-h1
1460 lzo-clean:
1461 -@$(MAKE) -C lzo clean
1462 @rm -f lzo/stamp-h1
1464 lzo-install: lzo
1465 install -D lzo/src/.libs/liblzo2.so $(INSTALLDIR)/lzo/usr/lib/liblzo2.so.2
1466 $(STRIP) $(INSTALLDIR)/lzo/usr/lib/liblzo2.so.2
1467 cd $(INSTALLDIR)/lzo/usr/lib && ln -sf liblzo2.so.2 liblzo2.so
1470 openvpn: openvpn/.conf openssl lzo
1472 openvpn/.conf:
1473 cd openvpn && CFLAGS="-Os -Wall $(EXTRACFLAGS) -ffunction-sections -fdata-sections" \
1474 LDFLAGS="-L$(TOP)/openssl -L$(TOP)/lzo/src/.libs -ffunction-sections -fdata-sections -Wl,--gc-sections" \
1475 $(CONFIGURE) --prefix= \
1476 --with-lzo-headers="$(TOP)/lzo/include" \
1477 --with-ssl-headers="$(TOP)/openssl/include/" \
1478 --with-iproute-path="/usr/sbin/ip" \
1479 --disable-debug --disable-plugins --enable-management --enable-small \
1480 --disable-selinux --disable-socks --enable-password-save
1481 touch openvpn/.conf
1483 openvpn-clean:
1484 -@$(MAKE) -C openvpn clean
1485 @rm -f openvpn/.conf
1487 openvpn-install: openvpn
1488 install -D openvpn/openvpn $(INSTALLDIR)/openvpn/usr/sbin/openvpn
1489 $(STRIP) -s $(INSTALLDIR)/openvpn/usr/sbin/openvpn
1490 chmod 0500 $(INSTALLDIR)/openvpn/usr/sbin/openvpn
1492 sd-idle/stamp-h1:
1493 cd sd-idle \
1494 CFLAGS="-Os -Wall --host=mipsel-linux --target=mipsel-linux $(EXTRACFLAGS)" \
1495 $(MAKE) -C sd-idle
1496 chmod 0755 sd-idle/sd-idle
1497 touch sd-idle/stamp-h1
1499 sd-idle-clean:
1500 -@$(MAKE) -C sd-idle clean
1501 @rm -f sd-idle/stamp-h1
1503 sd-idle-install: sd-idle/stamp-h1
1504 install -d $(INSTALLDIR)/sd-idle/usr/bin
1505 install -D sd-idle/sd-idle $(INSTALLDIR)/sd-idle/usr/bin/sd-idle
1506 $(STRIP) -s $(INSTALLDIR)/sd-idle/usr/bin/sd-idle
1508 snmp/stamp-h1:
1509 cd snmp && \
1510 CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
1511 $(CONFIGURE) --prefix=/usr --with-endianness=little --enable-mini-agent --disable-debugging \
1512 --disable-privacy --without-opaque-special-types --with-persistent-directory=/tmp/snmp-persist \
1513 --with-default-snmp-version=3 --with-sys-contact=root --with-sys-location=Unknown --with-logfile=/dev/null \
1514 --with-out-transports=UDPIPv6,TCPIPv6,AAL5PVC,IPX,TCP,Unix --enable-shared=no --enable-static --with-gnu-ld \
1515 --enable-internal-md5 --with-copy-persistent-files=no --without-openssl -sysconfdir=/tmp \
1516 --with-mib-modules=mibII,host,mibII/ip,mibII/tcp,mibII/udp,mibII/icmp,mibII/var_route,mibII/kernel_linux,qos,ucd_snmp \
1517 --with-out-mib-modules=snmpv3mibs,agent_mips,agentx,notification,utilities,target --disable-ipv6 --with-defaults \
1518 --without-efence --without-rsaref --without-kmem-usage --without-rpm --without-dmalloc
1519 touch snmp/stamp-h1
1521 snmp: snmp/stamp-h1
1522 @$(SEP)
1523 $(MAKE) -C snmp
1525 snmp-clean:
1526 -@$(MAKE) -C snmp clean
1527 @rm -f snmp/stamp-h1
1529 snmp-install: snmp
1530 install -D snmp/agent/snmpd $(INSTALLDIR)/snmp/usr/sbin/snmpd
1531 $(STRIP) $(INSTALLDIR)/snmp/usr/sbin/snmpd
1533 libpcap/stamp-h1: openssl
1534 cd libpcap && \
1535 CFLAGS="-Os -Wall $(EXTRACFLAGS)" \
1536 ac_cv_linux_vers=2 \
1537 $(CONFIGURE) --prefix=/usr --with-pcap=linux \
1538 $(if $(TCONFIG_IPV6),--enable-ipv6,--disable-ipv6)
1539 touch libpcap/stamp-h1
1541 libpcap: libpcap/stamp-h1
1542 @$(SEP)
1543 $(MAKE) -C libpcap
1545 libpcap-clean:
1546 -@$(MAKE) -C libpcap clean
1547 @rm -f libpcap/stamp-h1
1549 libpcap-install:
1550 @$(SEP)
1552 tcpdump/stamp-h1: openssl libpcap
1553 cd tcpdump && \
1554 CFLAGS="-Os -Wall $(EXTRACFLAGS) -I$(TOP)/openssl/include" \
1555 LDFLAGS="-L$(TOP)/openssl" \
1556 ac_cv_linux_vers=2 ac_cv_search_getaddrinfo=no \
1557 $(CONFIGURE) --prefix=/usr --disable-smb \
1558 --without-smi --with-crypt \
1559 $(if $(TCONFIG_IPV6),--enable-ipv6,--disable-ipv6)
1560 touch tcpdump/stamp-h1
1562 tcpdump: tcpdump/stamp-h1
1563 @$(SEP)
1564 $(MAKE) -C tcpdump
1566 tcpdump-clean:
1567 -@$(MAKE) -C tcpdump clean
1568 @rm -f tcpdump/stamp-h1
1570 tcpdump-install: tcpdump
1571 install -D tcpdump/tcpdump $(INSTALLDIR)/tcpdump/usr/sbin/tcpdump
1572 $(STRIP) $(INSTALLDIR)/tcpdump/usr/sbin/tcpdump
1575 # Generic rules
1579 @[ ! -d $* ] || ( $(SEP); $(MAKE) -C $* )
1582 %-clean:
1583 @-[ ! -d $* ] || $(MAKE) -C $* clean
1585 %-distclean:
1586 @-[ ! -d $* ] || $(MAKE) -C $* distclean
1588 %-install: %
1589 @[ ! -d $* ] || $(MAKE) -C $* install INSTALLDIR=$(INSTALLDIR)/$*
1591 %-build:
1592 $(MAKE) $*-clean $*
1594 $(obj-y) $(obj-n) $(obj-clean) $(obj-install): dummy
1596 .PHONY: all clean distclean mrproper install package
1597 .PHONY: conf mconf oldconf kconf kmconf config menuconfig oldconfig
1598 .PHONY: dummy libnet