summaryrefslogtreecommitdiff
path: root/openwrt/package/Makefile
blob: 0344b79f44d2cffcf6f2ce759e9cbf32669b0cb8 (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
# Main makefile for the packages
include $(TOPDIR)/rules.mk

package-:=tcp_wrappers
package-y:=nvram
package-$(BR2_PACKAGE_AICCU) += aiccu
package-$(BR2_PACKAGE_AMWALL) += amwall
package-$(BR2_PACKAGE_ARPTABLES) += arptables
package-$(BR2_PACKAGE_ARPWATCH) += arpwatch
package-$(BR2_PACKAGE_ASTERISK) += asterisk
package-$(BR2_PACKAGE_ATFP) += atftp
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_PACKAGE_CYRUS_SASL) += cyrus-sasl
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_GMP) += gmp
package-$(BR2_PACKAGE_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_IPKG) += ipkg
package-$(BR2_PACKAGE_IPROUTE2) += iproute2
package-$(BR2_PACKAGE_IPTABLES) += iptables
package-$(BR2_PACKAGE_IRSSI) += irssi
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_LIBART) += libart
package-$(BR2_PACKAGE_LIBDB) += libdb
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_LIBNET) += libnet
package-$(BR2_PACKAGE_LIBNIDS) += libnids
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_LIBUSB) += libusb
package-$(BR2_PACKAGE_LIBXML2) += libxml2
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_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_MTD) += mtd
package-$(BR2_PACKAGE_MYSQL) += mysql
package-$(BR2_PACKAGE_NCURSES) += ncurses
package-$(BR2_PACKAGE_NDISC) += ndisc
package-$(BR2_PACKAGE_NET_SNMP) += net-snmp
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_PARPROUTED) += parprouted
package-$(BR2_PACKAGE_PCRE) += pcre
package-$(BR2_COMPILE_PHP4) += php4
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_READLINE) += readline
package-$(BR2_PACKAGE_ROBOCFG) += robocfg
package-$(BR2_PACKAGE_RP_PPPOE) += rp-pppoe
package-$(BR2_PACKAGE_RRDCOLLECT) += rrdcollect
package-$(BR2_COMPILE_RRDTOOL) += rrdtool
package-$(BR2_PACKAGE_RSYNC) += rsync
package-$(BR2_PACKAGE_SABLEVM) += sablevm
package-$(BR2_PACKAGE_SABLEVM_CLASSPATH) += sablevm-classpath
package-$(BR2_PACKAGE_SCREEN) += screen
package-$(BR2_PACKAGE_SDK) += sdk
package-$(BR2_PACKAGE_SER) += ser
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_SPEEX) += speex
package-$(BR2_PACKAGE_SQLITE) += sqlite
package-$(BR2_PACKAGE_SQLITE2) += sqlite2
package-$(BR2_PACKAGE_SSMTP) += ssmtp
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_USBUTILS) += usbutils
package-$(BR2_PACKAGE_VTUN) += vtun
package-$(BR2_PACKAGE_VSFTPD) += vsftpd
package-$(BR2_PACKAGE_WIFICONF) += wificonf
package-$(BR2_PACKAGE_WIRELESS_TOOLS) += wireless-tools
package-$(BR2_PACKAGE_WOL) += wol
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
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
arpwatch-compile: libpcap-compile
bind-compile: openssl-compile
cyrus-sasl-compile: openssl-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
gnutls-compile: libgcrypt-compile opencdk-compile libtasn1-compile
irssi-compile: glib-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
libxml2-compile: zlib-compile
lighttpd-compile: openssl-compile pcre-compile
mini_httpd-compile: matrixssl-compile
mysql-compile: ncurses-compile zlib-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
portmap-compile: tcp_wrappers-compile
postgresql-compile: zlib-compile
quagga-compile: readline-compile ncurses-compile
rrdcollect-compile: rrdtool-compile
rrdtool-compile: cgilib-compile freetype-compile libart-compile libpng-compile
rsync-compile: popt-compile
screen-compile: ncurses-compile
siproxd-compile: libosip2-compile
sipsak-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: 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_GD),)
php4-compile: libgd-compile libpng-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

pmacct-compile: libpcap-compile
ifneq ($(BR2_PACKAGE_PMACCT_MYSQL),)
pmacct-compile: mysql-compile
endif
ifneq ($(BR2_PACKAGE_PMACCT_PGSQL),)
pmacct-compile: postgresql-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)" \
		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,%,$@)-*