add some fixes for parallel build (does not work with -j4 yet, but it gets most packa...
[openwrt.git] / package / Makefile
1 # Main makefile for the packages
2 include $(TOPDIR)/rules.mk
3
4 package-:=tcp_wrappers
5 package-y:=openwrt
6 package-$(BR2_PACKAGE_AICCU) += aiccu
7 package-$(BR2_PACKAGE_ARPTABLES) += arptables
8 package-$(BR2_PACKAGE_ARPWATCH) += arpwatch
9 package-$(BR2_PACKAGE_BRIDGE) += bridge
10 package-$(BR2_PACKAGE_BUSYBOX) += busybox
11 package-$(BR2_PACKAGE_BWM) += bwm
12 package-$(BR2_PACKAGE_CHILLISPOT) += chillispot
13 package-$(BR2_PACKAGE_CIFSMOUNT) += cifsmount
14 package-$(BR2_PACKAGE_CUPS) += cups
15 package-$(BR2_PACKAGE_DROPBEAR) += dropbear
16 package-$(BR2_PACKAGE_DNSMASQ) += dnsmasq
17 package-$(BR2_PACKAGE_EBTABLES) += ebtables
18 package-$(BR2_PACKAGE_EZIPUPDATE) += ez-ipupdate
19 package-$(BR2_PACKAGE_FPING) += fping
20 package-$(BR2_PACKAGE_GLIB) += glib
21 package-$(BR2_PACKAGE_GMP) += gmp
22 package-$(BR2_PACKAGE_HASERL) += haserl
23 package-$(BR2_PACKAGE_IPTABLES) += iptables
24 package-$(BR2_PACKAGE_IPROUTE2) += iproute2
25 package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux
26 package-$(BR2_PACKAGE_LIBELF) += libelf
27 package-$(BR2_PACKAGE_LZO) += lzo
28 package-$(BR2_PACKAGE_MATRIXSSL) += matrixssl
29 package-$(BR2_PACKAGE_MICROPERL) += microperl
30 package-$(BR2_PACKAGE_NCURSES) += ncurses
31 package-$(BR2_PACKAGE_NFSD) += nfs-server
32 package-$(BR2_PACKAGE_NOCATSPLASH) += nocatsplash
33 package-$(BR2_PACKAGE_NTPCLIENT) += ntpclient
34 package-$(BR2_PACKAGE_OPENSSL) += openssl
35 package-$(BR2_PACKAGE_OPENSWAN) += openswan
36 package-$(BR2_PACKAGE_OPENNTPD) += openntpd
37 package-$(BR2_PACKAGE_OPENVPN) += openvpn
38 package-$(BR2_PACKAGE_PCRE) += pcre
39 package-$(BR2_PACKAGE_POPT) += popt
40 package-$(BR2_PACKAGE_PORTMAP) += portmap
41 package-$(BR2_PACKAGE_PPP) += ppp
42 package-$(BR2_PACKAGE_PPTP) += pptp
43 package-$(BR2_PACKAGE_PPTPD) += pptpd
44 package-$(BR2_PACKAGE_QUAGGA) += quagga
45 package-$(BR2_PACKAGE_RADVD) += radvd
46 package-$(BR2_PACKAGE_SER) += ser
47 package-$(BR2_PACKAGE_SETSERIAL) += setserial
48 package-$(BR2_PACKAGE_STRACE) += strace
49 package-$(BR2_PACKAGE_TCPDUMP) += tcpdump
50 package-$(BR2_PACKAGE_WIRELESS_TOOLS) += wireless-tools
51 package-$(BR2_PACKAGE_WOL) += wol
52 package-$(BR2_PACKAGE_ZLIB) += zlib
53 package-$(BR2_PACKAGE_DHCPFWD) += dhcp-forwarder
54 package-$(BR2_PACKAGE_LIBNET) += libnet
55 package-$(BR2_PACKAGE_LIBMYSQLCLIENT) += mysql
56 package-$(BR2_PACKAGE_LIBPCAP) += libpcap
57 package-$(BR2_PACKAGE_LIBPQ) += postgresql
58
59 all: compile install
60 clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m)) linux-clean
61 compile: $(patsubst %,%-compile,$(package-y) $(package-m))
62 install: $(patsubst %,%-install,$(package-y))
63
64 ifeq ($(BR2_PACKAGE_OPENVPN_LZO),y)
65 openvpn-compile: lzo-compile
66 endif
67
68 openswan-compile: gmp-compile
69 nocatsplash-compile: glib-compile
70 arpwatch-compile: libpcap-compile
71 tcpdump-compile: libpcap-compile
72 dropbear-compile: zlib-compile
73 openssl-compile: zlib-compile
74 openvpn-compile: openssl-compile
75 nfs-server-compile: portmap-compile
76 portmap-compile: tcp_wrappers-compile
77 lcd4linux-compile: ncurses-compile
78 libnet-compile: libpcap-compile
79 mysql-compile: ncurses-compile zlib-compile
80 postgresql-compile: zlib-compile
81
82 $(patsubst %,%-prepare,$(package-y) $(package-m) $(package-)): linux-install
83
84 %-prepare:
85         @[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
86         @touch $(STAMP_DIR)/.$@
87
88 %-compile: %-prepare 
89         @[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile
90         @touch $(STAMP_DIR)/.$@
91
92 %-install: %-compile
93         @[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-install,%,$@) install
94         @touch $(STAMP_DIR)/.$@
95
96 %-clean:
97         @$(MAKE) -C $(patsubst %-clean,%,$@) clean
98         @rm -f $(STAMP_DIR)/.$(patsubst %-clean,%,$@)-*
99