let ipkg fail when a package file to be installed is not found
[openwrt.git] / openwrt / package / pmacct / Makefile
1 # $Id$
2
3 include $(TOPDIR)/rules.mk
4
5 PKG_NAME:=pmacct
6 PKG_VERSION:=0.10.0
7 PKG_RELEASE:=1
8 PKG_MD5SUM:=ed510e7ee2130d1f37f27901b89e985a
9
10 PKG_SOURCE_URL:=http://www.ba.cnr.it/~paolo/pmacct/
11 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)rc2.tar.gz
12 PKG_CAT:=zcat
13
14 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
15 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
16
17 include $(TOPDIR)/package/rules.mk
18
19 PMACCT_BASIC_CONFIGURE_OPTS := \
20
21 PMACCT_MYSQL_CONFIGURE_OPTS := \
22         --enable-mysql \
23         --with-mysql-includes="$(STAGING_DIR)/usr/include" \
24         --with-mysql-libs="$(STAGING_DIR)/usr/lib/mysql"
25
26 PMACCT_PGSQL_CONFIGURE_OPTS := \
27         --enable-pgsql \
28         --with-pgsql-includes="$(STAGING_DIR)/usr/include" \
29         --with-pgsql-libs="$(STAGING_DIR)/usr/lib"
30
31 PMACCT_SQLITE_CONFIGURE_OPTS := \
32         --enable-sqlite3 \
33         --with-sqlite3-includes="$(STAGING_DIR)/usr/include" \
34         --with-sqlite3-libs="$(STAGING_DIR)/usr/lib"
35
36 NFACCTD_CUSTOM_CONFIGURE_OPTS := \
37
38 ifeq ($(BR2_PACKAGE_NFACCTD_ENABLE_DEBUG),y)
39 NFACCTD_CUSTOM_CONFIGURE_OPTS += --enable-debug
40 endif
41
42 ifeq ($(BR2_PACKAGE_NFACCTD_ENABLE_IPV6),y)
43 NFACCTD_CUSTOM_CONFIGURE_OPTS += --enable-ipv6
44 endif
45
46 ifeq ($(BR2_PACKAGE_NFACCTD_WITH_MYSQL),y)
47 NFACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_MYSQL_CONFIGURE_OPTS)
48 endif
49
50 ifeq ($(BR2_PACKAGE_NFACCTD_WITH_PGSQL),y)
51 NFACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_PGSQL_CONFIGURE_OPTS)
52 endif
53
54 ifeq ($(BR2_PACKAGE_NFACCTD_WITH_SQLITE),y)
55 NFACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_SQLITE_CONFIGURE_OPTS)
56 endif
57
58 PMACCTD_CUSTOM_CONFIGURE_OPTS := \
59
60 ifeq ($(BR2_PACKAGE_PMACCTD_ENABLE_DEBUG),y)
61 PMACCTD_CUSTOM_CONFIGURE_OPTS += --enable-debug
62 endif
63
64 ifeq ($(BR2_PACKAGE_PMACCTD_ENABLE_IPV6),y)
65 PMACCTD_CUSTOM_CONFIGURE_OPTS += --enable-ipv6
66 endif
67
68 ifeq ($(BR2_PACKAGE_PMACCTD_WITH_MYSQL),y)
69 PMACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_MYSQL_CONFIGURE_OPTS)
70 endif
71
72 ifeq ($(BR2_PACKAGE_PMACCTD_WITH_PGSQL),y)
73 PMACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_PGSQL_CONFIGURE_OPTS)
74 endif
75
76 ifeq ($(BR2_PACKAGE_PMACCTD_WITH_SQLITE),y)
77 PMACCTD_CUSTOM_CONFIGURE_OPTS += $(PMACCT_SQLITE_CONFIGURE_OPTS)
78 endif
79
80 define PKG_build
81
82 ifneq ($(BR2_PACKAGE_$(1)),)
83 BUILD_TARGETS += $(PKG_BUILD_DIR)/$(2)
84 BUILD_TARGETS += $(PKG_BUILD_DIR)/$(3)
85 endif
86
87 $(PKG_BUILD_DIR)/$(2) $(PKG_BUILD_DIR)/$(3): $(PKG_BUILD_DIR)/.prepared
88         -$(MAKE) -C $(PKG_BUILD_DIR) distclean
89         (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
90                 $(TARGET_CONFIGURE_OPTS) \
91                 CFLAGS="$(TARGET_CFLAGS)" \
92                 CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
93                 LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
94                 ./configure \
95                         --target=$(GNU_TARGET_NAME) \
96                         --host=$(GNU_TARGET_NAME) \
97                         --build=$(GNU_HOST_NAME) \
98                         --program-prefix="" \
99                         --program-suffix="" \
100                         --prefix=/usr \
101                         --exec-prefix=/usr \
102                         --bindir=/usr/sbin \
103                         --datadir=/usr/share \
104                         --includedir=/usr/include \
105                         --infodir=/usr/share/info \
106                         --libdir=/usr/lib \
107                         --libexecdir=/usr/lib/locate \
108                         --localstatedir=/var/lib \
109                         --mandir=/usr/share/man \
110                         --sbindir=/usr/sbin \
111                         --sysconfdir=/etc \
112                         $(DISABLE_LARGEFILE) \
113                         $(DISABLE_NLS) \
114                         --enable-shared \
115                         --disable-static \
116                         --with-pcap-includes="$(STAGING_DIR)/usr/include" \
117                         --with-pcap-libs="$(STAGING_DIR)/usr/lib" \
118                         $$($(1)_CONFIGURE_OPTS) \
119         );
120         $(MAKE) -C $(PKG_BUILD_DIR) \
121                 $(TARGET_CONFIGURE_OPTS) \
122                 CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include"
123         mv -f $(PKG_BUILD_DIR)/nfacctd $(PKG_BUILD_DIR)/$(2)
124         mv -f $(PKG_BUILD_DIR)/pmacctd $(PKG_BUILD_DIR)/$(3)
125
126 endef
127
128 define PKG_package
129
130 $$(IPKG_$(1)): $(PKG_BUILD_DIR)/$(2)
131         install -d -m0755 $$(IDIR_$(1))/etc
132         install -m0644 ./files/$(3).conf $$(IDIR_$(1))/etc/
133         install -d -m0755 $$(IDIR_$(1))/etc/default
134         install -m0644 ./files/$(3).default $$(IDIR_$(1))/etc/default/$(3)
135         install -d -m0755 $$(IDIR_$(1))/etc/init.d
136         install -m0755 ./files/$(3).init $$(IDIR_$(1))/etc/init.d/$(3)
137         install -d -m0755 $$(IDIR_$(1))/usr/sbin
138         install -m0755 $(PKG_BUILD_DIR)/$(2) $$(IDIR_$(1))/usr/sbin/$(3)
139         $(RSTRIP) $$(IDIR_$(1))
140         $(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR)
141
142 endef
143
144 $(eval $(call PKG_template,NFACCTD_BASIC,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
145 $(eval $(call PKG_template,NFACCTD_MYSQL,nfacctd-mysql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
146 $(eval $(call PKG_template,NFACCTD_PGSQL,nfacctd-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
147 $(eval $(call PKG_template,NFACCTD_SQLITE,nfacctd-sqlite,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
148 $(eval $(call PKG_template,NFACCTD_CUSTOM,nfacctd-custom,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
149 $(eval $(call PKG_template,PMACCTD_BASIC,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
150 $(eval $(call PKG_template,PMACCTD_MYSQL,pmacctd-mysql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
151 $(eval $(call PKG_template,PMACCTD_PGSQL,pmacctd-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
152 $(eval $(call PKG_template,PMACCTD_SQLITE,pmacctd-sqlite,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
153 $(eval $(call PKG_template,PMACCTD_CUSTOM,pmacctd-custom,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
154 $(eval $(call PKG_template,PMACCT_CLIENT,pmacct-client,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
155
156 $(eval $(call PKG_build,PMACCT_BASIC,nfacctd-basic,pmacctd-basic,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
157 $(eval $(call PKG_build,PMACCT_MYSQL,nfacctd-mysql,pmacctd-mysql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
158 $(eval $(call PKG_build,PMACCT_PGSQL,nfacctd-pgsql,pmacctd-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
159 $(eval $(call PKG_build,PMACCT_SQLITE,nfacctd-sqlite,pmacctd-sqlite,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
160 $(eval $(call PKG_build,NFACCTD_CUSTOM,nfacctd-custom,pmacctd-dummy,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
161 $(eval $(call PKG_build,PMACCTD_CUSTOM,nfacctd-dummy,pmacctd-custom,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
162
163 $(eval $(call PKG_package,NFACCTD_BASIC,nfacctd-basic,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
164 $(eval $(call PKG_package,NFACCTD_MYSQL,nfacctd-mysql,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
165 $(eval $(call PKG_package,NFACCTD_PGSQL,nfacctd-pgsql,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
166 $(eval $(call PKG_package,NFACCTD_SQLITE,nfacctd-sqlite,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
167 $(eval $(call PKG_package,NFACCTD_CUSTOM,nfacctd-custom,nfacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
168 $(eval $(call PKG_package,PMACCTD_BASIC,pmacctd-basic,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
169 $(eval $(call PKG_package,PMACCTD_MYSQL,pmacctd-mysql,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
170 $(eval $(call PKG_package,PMACCTD_PGSQL,pmacctd-pgsql,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
171 $(eval $(call PKG_package,PMACCTD_SQLITE,pmacctd-sqlite,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
172 $(eval $(call PKG_package,PMACCTD_CUSTOM,pmacctd-custom,pmacctd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
173
174 $(PKG_BUILD_DIR)/.configured:
175         touch $@
176
177 $(PKG_BUILD_DIR)/.built: $(BUILD_TARGETS)
178         touch $@
179
180 $(IPKG_PMACCT_CLIENT):
181         install -d -m0755 $(IDIR_PMACCT_CLIENT)/usr/sbin
182         $(CP) $(PKG_BUILD_DIR)/pmacct $(IDIR_PMACCT_CLIENT)/usr/sbin/
183         $(RSTRIP) $(IDIR_PMACCT_CLIENT)
184         $(IPKG_BUILD) $(IDIR_PMACCT_CLIENT) $(PACKAGE_DIR)