summaryrefslogtreecommitdiff
path: root/openwrt/package/Makefile
blob: 0e0e64e2911e786f0f218a94986fc155bbf4227e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
# Main makefile for the packages
include $(TOPDIR)/rules.mk

package-:=tcp_wrappers
package-y:=nvram
package-$(BR2_PACKAGE_6TUNNEL) += 6tunnel
package-$(BR2_PACKAGE_AICCU) += aiccu
package-$(BR2_PACKAGE_AIRCRACK) += aircrack
package-$(BR2_PACKAGE_AMWALL) += amwall
package-$(BR2_PACKAGE_ARPD) += arpd
package-$(BR2_PACKAGE_ARPTABLES) += arptables
package-$(BR2_PACKAGE_ARPWATCH) += arpwatch
package-$(BR2_PACKAGE_ASTERISK) += asterisk
package-$(BR2_PACKAGE_ATFP) += atftp
package-$(BR2_COMPILE_AVAHI) += avahi
package-$(BR2_PACKAGE_BIND) += bind
package-$(BR2_PACKAGE_BLUEZ_LIBS) += bluez-libs
package-$(BR2_PACKAGE_BLUEZ_UTILS) += bluez-utils
package-$(BR2_PACKAGE_BRIDGE) += bridge
package-$(BR2_PACKAGE_BUSYBOX) += busybox
package-$(BR2_PACKAGE_BWM) += bwm
package-$(BR2_PACKAGE_CGILIB) += cgilib
package-$(BR2_PACKAGE_CHILLISPOT) += chillispot
package-$(BR2_PACKAGE_CIFSMOUNT) += cifsmount
package-$(BR2_PACKAGE_CUPS) += cups
package-$(BR2_COMPILE_CURL) += curl
package-$(BR2_PACKAGE_CYRUS_SASL) += cyrus-sasl
package-$(BR2_PACKAGE_DECO) += deco
package-$(BR2_PACKAGE_DHCP) += dhcp
package-$(BR2_PACKAGE_DHCP_FORWARDER) += dhcp-forwarder
package-$(BR2_PACKAGE_DNSMASQ) += dnsmasq
package-$(BR2_PACKAGE_DOSFSTOOLS) += dosfstools
package-$(BR2_PACKAGE_DROPBEAR) += dropbear
package-$(BR2_PACKAGE_DSNIFF) += dsniff
package-$(BR2_PACKAGE_E2FSPROGS) += e2fsprogs
package-$(BR2_PACKAGE_EBTABLES) += ebtables
package-$(BR2_PACKAGE_ETHER_WAKE) += ether-wake
package-$(BR2_COMPILE_EXPAT) += expat
package-$(BR2_PACKAGE_EZIPUPDATE) += ez-ipupdate
package-$(BR2_PACKAGE_FPING) += fping
package-$(BR2_PACKAGE_FPROBE) += fprobe
package-$(BR2_PACKAGE_FPROBE_ULOG) += fprobe-ulog
package-$(BR2_PACKAGE_FREERADIUS) += freeradius
package-$(BR2_PACKAGE_FREETYPE) += freetype
package-$(BR2_PACKAGE_FRICKIN) += frickin
package-$(BR2_PACKAGE_FUSE) += fuse
package-$(BR2_PACKAGE_GDBSERVER) += gdbserver
package-$(BR2_PACKAGE_GLIB) += glib
package-$(BR2_PACKAGE_GMEDIASERVER) += gmediaserver
package-$(BR2_PACKAGE_GMP) += gmp
package-$(BR2_COMPILE_GNUTLS) += gnutls
package-$(BR2_PACKAGE_HASERL) += haserl
package-$(BR2_PACKAGE_HOSTAPD) += hostapd
package-$(BR2_PACKAGE_HOWL) += howl
package-$(BR2_PACKAGE_HTPDATE) += htpdate
package-$(BR2_PACKAGE_ICECAST) += icecast
package-$(BR2_PACKAGE_ID3LIB) += id3lib
package-$(BR2_PACKAGE_IPERF) += iperf
package-$(BR2_PACKAGE_IPKG) += ipkg
package-$(BR2_PACKAGE_IPROUTE2) += iproute2
package-$(BR2_PACKAGE_IPSET) += ipset
package-$(BR2_PACKAGE_IPTABLES) += iptables
package-$(BR2_PACKAGE_IPTRAF) += iptraf
package-$(BR2_PACKAGE_IRSSI) += irssi
package-$(BR2_COMPILE_JPEG) += jpeg
package-$(BR2_PACKAGE_KISMET) += kismet
package-$(BR2_PACKAGE_L2TPD) += l2tpd
package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux
package-$(BR2_PACKAGE_LESS) += less
package-$(BR2_PACKAGE_LIBAMSEL) += libamsel
package-$(BR2_PACKAGE_LIBAO) += libao
package-$(BR2_PACKAGE_LIBART) += libart
package-$(BR2_PACKAGE_LIBDAEMON) += libdaemon
package-$(BR2_PACKAGE_LIBDB) += libdb
package-$(BR2_PACKAGE_LIBDNET) += libdnet
package-$(BR2_PACKAGE_LIBELF) += libelf
package-$(BR2_PACKAGE_LIBEVENT) += libevent
package-$(BR2_PACKAGE_LIBFFI_SABLE) += libffi-sable
package-$(BR2_PACKAGE_LIBGCRYPT) += libgcrypt
package-$(BR2_PACKAGE_LIBGD) += libgd
package-$(BR2_PACKAGE_LIBGDBM) += libgdbm
package-$(BR2_PACKAGE_LIBGPG_ERROR) += libgpg-error
package-$(BR2_PACKAGE_LIBID3TAG) += libid3tag
package-$(BR2_PACKAGE_LIBMAD) += libmad
package-$(BR2_PACKAGE_LIBNET) += libnet
package-$(BR2_PACKAGE_LIBNIDS) += libnids
package-$(BR2_PACKAGE_LIBOGG) += libogg
package-$(BR2_PACKAGE_LIBOSIP2) += libosip2
package-$(BR2_PACKAGE_LIBPCAP) += libpcap
package-$(BR2_PACKAGE_LIBPNG) += libpng
package-$(BR2_PACKAGE_LIBPTHREAD) += libpthread
package-$(BR2_PACKAGE_LIBTASN1) += libtasn1
package-$(BR2_PACKAGE_LIBTOOL) += libtool
package-$(BR2_PACKAGE_LIBUPNP) += libupnp
package-$(BR2_PACKAGE_LIBUSB) += libusb
package-$(BR2_PACKAGE_LIBVORBIS) += libvorbis
package-$(BR2_PACKAGE_LIBXML2) += libxml2
package-$(BR2_PACKAGE_LIBXSLT) += libxslt
package-$(BR2_PACKAGE_LIGHTTPD) += lighttpd
package-$(BR2_PACKAGE_LINUX_ATM) += linux-atm
package-$(BR2_PACKAGE_LUA) += lua
package-$(BR2_PACKAGE_LZO) += lzo
package-$(BR2_PACKAGE_MADWIFI_TOOLS) += madwifi-tools
package-$(BR2_PACKAGE_MARADNS) += maradns
package-$(BR2_PACKAGE_MATRIXSSL) += matrixssl
package-$(BR2_PACKAGE_MICROCOM) += microcom
package-$(BR2_PACKAGE_MICROPERL) += microperl
package-$(BR2_PACKAGE_MINI_HTTPD) += mini_httpd
package-$(BR2_PACKAGE_MINI_SENDMAIL) += mini_sendmail
package-$(BR2_PACKAGE_MONIT) += monit
package-$(BR2_PACKAGE_MPD) += mpd
package-$(BR2_PACKAGE_MT_DAAPD) += mt-daapd
package-$(BR2_PACKAGE_MTD) += mtd
package-$(BR2_PACKAGE_MTR) += mtr
package-$(BR2_PACKAGE_MYSQL) += mysql
package-$(BR2_PACKAGE_NANO) += nano
package-$(BR2_PACKAGE_NCURSES) += ncurses
package-$(BR2_COMPILE_NDISC6) += ndisc
package-$(BR2_PACKAGE_NET_SNMP) += net-snmp
package-$(BR2_PACKAGE_NETSTAT_NAT) += netstat-nat
package-$(BR2_PACKAGE_NFS_SERVER) += nfs-server
package-$(BR2_PACKAGE_NMAP) += nmap
package-$(BR2_PACKAGE_NOCATSPLASH) += nocatsplash
package-$(BR2_PACKAGE_NTPCLIENT) += ntpclient
package-$(BR2_PACKAGE_OLSRD) += olsrd
package-$(BR2_PACKAGE_OPENCDK) += opencdk
package-$(BR2_PACKAGE_OPENLDAP) += openldap
package-$(BR2_PACKAGE_OPENNTPD) += openntpd
package-$(BR2_PACKAGE_OPENSSH) += openssh
package-$(BR2_PACKAGE_OPENSSL) += openssl
package-$(BR2_PACKAGE_OPENSWAN) += openswan
package-$(BR2_PACKAGE_OPENVPN) += openvpn
package-$(BR2_PACKAGE_OSIRIS) += osiris
package-$(BR2_PACKAGE_PALANTIR) += palantir
package-$(BR2_PACKAGE_P910ND) += p910nd
package-$(BR2_PACKAGE_PARPROUTED) += parprouted
package-$(BR2_PACKAGE_PCRE) += pcre
package-$(BR2_COMPILE_PHP4) += php4
package-$(BR2_COMPILE_PHP5) += php5
package-$(BR2_PACKAGE_PICOCOM) += picocom
package-$(BR2_PACKAGE_PMACCT) += pmacct
package-$(BR2_PACKAGE_POPT) += popt
package-$(BR2_PACKAGE_PORTMAP) += portmap
package-$(BR2_PACKAGE_PORTSENTRY) += portsentry
package-$(BR2_PACKAGE_POSTGRESQL) += postgresql
package-$(BR2_PACKAGE_PPP) += ppp
package-$(BR2_PACKAGE_PPTP) += pptp
package-$(BR2_PACKAGE_PPTPD) += pptpd
package-$(BR2_PACKAGE_QUAGGA) += quagga
package-$(BR2_PACKAGE_RADVD) += radvd
package-$(BR2_PACKAGE_RARPD) += rarpd
package-$(BR2_PACKAGE_READLINE) += readline
package-$(BR2_PACKAGE_REAIM) += reaim
package-$(BR2_PACKAGE_ROBOCFG) += robocfg
package-$(BR2_COMPILE_RP_PPPOE) += rp-pppoe
package-$(BR2_PACKAGE_RRDCOLLECT) += rrdcollect
package-$(BR2_COMPILE_RRDTOOL) += rrdtool
package-$(BR2_COMPILE_RRDTOOL1) += rrdtool1
package-$(BR2_COMPILE_RRS) += rrs
package-$(BR2_PACKAGE_RSYNC) += rsync
package-$(BR2_PACKAGE_SABLEVM) += sablevm
package-$(BR2_PACKAGE_SABLEVM_CLASSPATH) += sablevm-classpath
package-$(BR2_COMPILE_SAMBA) += samba
package-$(BR2_PACKAGE_SCREEN) += screen
package-$(BR2_PACKAGE_SDK) += sdk
package-$(BR2_PACKAGE_SER) += ser
package-$(BR2_PACKAGE_SETPWC) += setpwc
package-$(BR2_PACKAGE_SETSERIAL) += setserial
package-$(BR2_PACKAGE_SHAT) += shat
package-$(BR2_PACKAGE_SHFS) += shfs
package-$(BR2_PACKAGE_SIPROXD) += siproxd
package-$(BR2_PACKAGE_SIPSAK) += sipsak
package-$(BR2_PACKAGE_SNORT) += snort
package-$(BR2_PACKAGE_SOCAT) += socat
package-$(BR2_PACKAGE_SPEEX) += speex
package-$(BR2_PACKAGE_SQLITE) += sqlite
package-$(BR2_PACKAGE_SQLITE2) += sqlite2
package-$(BR2_PACKAGE_SSMTP) += ssmtp
package-$(BR2_PACKAGE_SRELAY) += srelay
package-$(BR2_PACKAGE_STRACE) += strace
package-$(BR2_PACKAGE_TCPDUMP) += tcpdump
package-$(BR2_PACKAGE_TINC) += tinc
package-$(BR2_PACKAGE_TOR) += tor
package-$(BR2_PACKAGE_TTCP) += ttcp
package-$(BR2_PACKAGE_UCLIBCXX) += uclibc++
package-$(BR2_PACKAGE_ULOGD) += ulogd
package-$(BR2_PACKAGE_UPDATEDD) += updatedd
package-$(BR2_PACKAGE_USBUTILS) += usbutils
package-$(BR2_COMPILE_UTIL_LINUX) += util-linux
package-$(BR2_PACKAGE_VTUN) += vtun
package-$(BR2_PACKAGE_VSFTPD) += vsftpd
package-$(BR2_PACKAGE_WIFICONF) += wificonf
package-$(BR2_PACKAGE_WIFIDOG) += wifidog
package-$(BR2_PACKAGE_WIVIZ) += wiviz
package-$(BR2_PACKAGE_WIRELESS_TOOLS) += wireless-tools
package-$(BR2_PACKAGE_WOL) += wol
package-$(BR2_PACKAGE_WONDERSHAPER) += wondershaper
package-$(BR2_PACKAGE_WPA_SUPPLICANT) += wpa_supplicant
package-$(BR2_PACKAGE_WPUT) += wput
package-$(BR2_PACKAGE_XINETD) += xinetd
package-$(BR2_PACKAGE_ZLIB) += zlib

DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql postgresql iptables matrixssl lzo gmp fuse portmap libelf uclibc++ speex libpng libgd wireless-tools nvram linux-atm
DEV_LIBS_COMPILE:=$(patsubst %,%-compile,$(DEV_LIBS))
SDK_DEFAULT_PACKAGES:=busybox dnsmasq iptables wireless-tools dropbear bridge ipkg ppp
SDK_DEFAULT_COMPILE:=$(patsubst %,%-compile,$(SDK_DEFAULT_PACKAGES))
COMPILE_PACKAGES:=$(patsubst %,%-compile,$(package-y) $(package-m))
INSTALL_PACKAGES:=$(patsubst %,%-install,$(package-y))

all: compile
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))
compile: $(COMPILE_PACKAGES)
install: base-files-install $(INSTALL_PACKAGES)

$(COMPILE_PACKAGES): base-files-compile
$(INSTALL_PACKAGES): base-files-install

amwall-compile: libamsel-compile
arpd-compile: libpcap-compile libdnet-compile libevent-compile
arpwatch-compile: libpcap-compile
avahi-compile: libdaemon-compile expat-compile
bind-compile: openssl-compile
curl-compile: openssl-compile zlib-compile
cyrus-sasl-compile: openssl-compile
deco-compile: ncurses-compile
dropbear-compile: zlib-compile
dsniff-compile: libnids-compile openssl-compile libgdbm-compile
freetype-compile: zlib-compile
fprobe-compile: libpcap-compile
gdbserver-compile: ncurses-compile
gmediaserver-compile: id3lib-compile libupnp-compile
gnutls-compile: libgcrypt-compile opencdk-compile libtasn1-compile
icecast-compile: curl-compile libogg-compile libvorbis-compile libxml2-compile libxslt-compile
id3lib-compile: uclibc++-compile zlib-compile
irssi-compile: glib-compile ncurses-compile
iptraf-compile: ncurses-compile
hostapd-compile: openssl-compile
kismet-compile: uclibc++-compile libpcap-compile ncurses-compile
less-compile: ncurses-compile
lcd4linux-compile: ncurses-compile
libgcrypt-compile: libgpg-error-compile
libgd-compile: libpng-compile
libnet-compile: libpcap-compile
libnids-compile: libnet-compile
libvorbis-compile: libogg-compile
libxml2-compile: zlib-compile
libxslt-compile: libxml2-compile
lighttpd-compile: openssl-compile pcre-compile
mini_httpd-compile: matrixssl-compile
mt-daapd-compile: howl-compile libgdbm-compile libid3tag-compile
mtr-compile: ncurses-compile
mysql-compile: ncurses-compile zlib-compile
nano-compile: ncurses-compile
net-snmp-compile: libelf-compile
nfs-server-compile: portmap-compile
nmap-compile: uclibc++-compile pcre-compile libpcap-compile
nocatsplash-compile: glib-compile
opencdk-compile: libgcrypt-compile
openldap-compile: cyrus-sasl-compile openssl-compile
openssh-compile: zlib-compile openssl-compile
openssl-compile: zlib-compile
openswan-compile: gmp-compile
osiris-compile: openssl-compile
palantir-compile: jpeg-compile
portmap-compile: tcp_wrappers-compile
postgresql-compile: zlib-compile
ppp-compile: linux-atm-compile
quagga-compile: readline-compile ncurses-compile
rarpd-compile: libnet-compile
ifneq ($(BR2_PACKAGE_LIBRRD),)
rrdcollect-compile: rrdtool-compile
endif
ifneq ($(BR2_PACKAGE_LIBRRD1),)
rrdcollect-compile: rrdtool1-compile
endif
rrdtool-compile: cgilib-compile freetype-compile libart-compile libpng-compile
rrdtool1-compile: zlib-compile
rsync-compile: popt-compile
screen-compile: ncurses-compile
siproxd-compile: libosip2-compile
sipsak-compile: openssl-compile
socat-compile: openssl-compile
sqlite-compile: ncurses-compile readline-compile
sqlite2-compile: ncurses-compile readline-compile
tcpdump-compile: libpcap-compile
tinc-compile: zlib-compile openssl-compile lzo-compile
tor-compile: libevent-compile openssl-compile zlib-compile
usbutils-compile: libusb-compile
vtun-compile: zlib-compile openssl-compile lzo-compile
wificonf-compile: wireless-tools-compile nvram-compile
wpa_supplicant-compile: openssl-compile

asterisk-compile: bluez-libs-compile ncurses-compile openssl-compile
ifneq ($(BR2_PACKAGE_ASTERISK_CODEC_SPEEX),)
asterisk-compile: speex-compile
endif
ifneq ($(BR2_PACKAGE_ASTERISK_PGSQL),)
asterisk-compile: postgresql-compile
endif
ifneq ($(BR2_PACKAGE_ASTERISK_MYSQL),)
asterisk-compile: mysql-compile
endif

freeradius-compile: libtool-compile openssl-compile
ifneq ($(BR2_PACKAGE_FREERADIUS_MOD_LDAP),)
freeradius-compile: openldap-compile
endif
ifneq ($(BR2_PACKAGE_FREERADIUS_MOD_SQL_MYSQL),)
freeradius-compile: mysql-compile
endif
ifneq ($(BR2_PACKAGE_FREERADIUS_MOD_SQL_PGSQL),)
freeradius-compile: postgresql-compile
endif

openvpn-compile: openssl-compile
ifeq ($(BR2_PACKAGE_OPENVPN_LZO),y)
openvpn-compile: lzo-compile
endif

php4-compile: openssl-compile zlib-compile
ifneq ($(BR2_PACKAGE_PHP4_MOD_CURL),)
php4-compile: curl-compile
endif
ifneq ($(BR2_PACKAGE_PHP4_MOD_GD),)
php4-compile: libgd-compile libpng-compile
endif
ifneq ($(BR2_PACKAGE_PHP4_MOD_GMP),)
php4-compile: gmp-compile
endif
ifneq ($(BR2_PACKAGE_PHP4_MOD_LDAP),)
php4-compile: openldap-compile
endif
ifneq ($(BR2_PACKAGE_PHP4_MOD_MYSQL),)
php4-compile: mysql-compile
endif
ifneq ($(BR2_PACKAGE_PHP4_MOD_PCRE),)
php4-compile: pcre-compile
endif
ifneq ($(BR2_PACKAGE_PHP4_MOD_PGSQL),)
php4-compile: postgresql-compile
endif
ifneq ($(BR2_PACKAGE_PHP4_MOD_SQLITE),)
php4-compile: sqlite2-compile
endif
ifneq ($(BR2_PACKAGE_PHP4_MOD_XML),)
php4-compile: expat-compile
endif

php5-compile: openssl-compile zlib-compile
ifneq ($(BR2_PACKAGE_PHP5_MOD_CURL),)
php5-compile: curl-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_GD),)
php5-compile: libgd-compile libpng-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_GMP),)
php5-compile: gmp-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_LDAP),)
php5-compile: openldap-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_MYSQL),)
php5-compile: mysql-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_PCRE),)
php5-compile: pcre-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_PGSQL),)
php5-compile: postgresql-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_SQLITE),)
php5-compile: sqlite2-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_XML),)
php5-compile: expat-compile
endif

pmacct-compile: libpcap-compile
ifneq ($(BR2_PACKAGE_PMACCT_MYSQL),)
pmacct-compile: mysql-compile
endif
ifneq ($(BR2_PACKAGE_PMACCT_PGSQL),)
pmacct-compile: postgresql-compile
endif

rrs-compile: uclibc++-compile
ifneq ($(BR2_PACKAGE_RRS),)
rrs-compile: openssl-compile
endif

snort-compile: libnet-compile libpcap-compile pcre-compile
ifeq ($(BR2_PACKAGE_SNORT_MYSQL),y)
snort-compile: mysql-compile
endif
ifeq ($(BR2_PACKAGE_SNORT_PGSQL),y)
snort-compile: postgresql-compile
endif
ifeq ($(BR2_PACKAGE_SNORT_ENABLE_INLINE),y)
snort-compile: iptables-compile
endif

ulogd-compile: iptables-compile
ifneq ($(BR2_PACKAGE_ULOGD_MYSQL),)
ulogd-compile: mysql-compile
endif
ifneq ($(BR2_PACKAGE_ULOGD_PGSQL),)
ulogd-compile: postgresql-compile
endif

sdk-compile: $(DEV_LIBS_COMPILE) $(SDK_DEFAULT_COMPILE)

$(STAMP_DIR):
	mkdir -p $@

%-prepare: $(STAMP_DIR)
	@[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
	@touch $(STAMP_DIR)/.$@

%-compile: %-prepare 
	@[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile
	@touch $(STAMP_DIR)/.$@

%-install: %-compile
	@$(MAKE) -C $(patsubst %-install,%,$@) \
		TARGET_DIR="$(TARGET_DIR)" \
		IPKG_CONF="$(IPKG_CONF)" \
		BOARD="$(BOARD)" \
		KERNEL="$(KERNEL)" \
		install

%-rebuild: 
	@rm -f $(STAMP_DIR)/.$(patsubst %-rebuild,%,$@)-*
	$(MAKE) -C $(patsubst %-rebuild,%,$@) rebuild

%-clean:
	@$(MAKE) -C $(patsubst %-clean,%,$@) clean
	@rm -f $(STAMP_DIR)/.$(patsubst %-clean,%,$@)-*