let ipkg fail when a package file to be installed is not found
[openwrt/staging/wigyori.git] / openwrt / package / postgresql / Makefile
1 # $Id$
2
3 include $(TOPDIR)/rules.mk
4
5 PKG_NAME:=postgresql
6 PKG_VERSION:=7.4.9
7 PKG_RELEASE:=1
8 PKG_MD5SUM:=d7cf0f0a0e1dda19268f55cb1e124c77
9
10 PKG_SOURCE_URL:=\
11 ftp://ftp3.us.postgresql.org/pub/postgresql/source/v$(PKG_VERSION)/ \
12 ftp://ftp.br.postgresql.org/pub/PostgreSQL/source/v$(PKG_VERSION)/ \
13 ftp://ftp.au.postgresql.org/pub/postgresql/source/v$(PKG_VERSION)/ \
14 ftp://ftp.tw.postgresql.org/pub/postgresql/source/v$(PKG_VERSION)/
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
16 PKG_CAT:=bzcat
17
18 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
19 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
20
21 include $(TOPDIR)/package/rules.mk
22
23 $(eval $(call PKG_template,LIBPQ,libpq,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
24 $(eval $(call PKG_template,PGSQL_CLI,pgsql-cli,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
25
26 # ./configure advertise "--infodir", but does not support it, replaced with "--docdir"
27 $(PKG_BUILD_DIR)/.configured:
28 (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
29 $(TARGET_CONFIGURE_OPTS) \
30 CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
31 CPPFLAGS="$$CPPFLAGS -I$(STAGING_DIR)/usr/include" \
32 LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
33 ./configure \
34 --target=$(GNU_TARGET_NAME) \
35 --host=$(GNU_TARGET_NAME) \
36 --build=$(GNU_HOST_NAME) \
37 --program-prefix="" \
38 --program-suffix="" \
39 --prefix=/usr \
40 --exec-prefix=/usr \
41 --bindir=/usr/bin \
42 --datadir=/usr/share \
43 --includedir=/usr/include \
44 --docdir=/usr/share/info \
45 --libdir=/usr/lib \
46 --libexecdir=/usr/lib \
47 --localstatedir=/var \
48 --mandir=/usr/share/man \
49 --sbindir=/usr/sbin \
50 --sysconfdir=/etc \
51 $(DISABLE_NLS) \
52 $(DISABLE_LARGEFILE) \
53 --enable-shared \
54 --enable-static \
55 --disable-integer-datetimes \
56 --disable-rpath \
57 --without-java \
58 --without-krb4 \
59 --without-krb5 \
60 --without-openssl \
61 --without-pam \
62 --without-perl \
63 --without-python \
64 --without-readline \
65 --without-rendezvous \
66 --without-tcl \
67 --without-tk \
68 --with-zlib="yes" \
69 );
70 touch $@
71
72 $(PKG_BUILD_DIR)/.built:
73 $(MAKE) -C "$(PKG_BUILD_DIR)/src/include" \
74 DESTDIR="$(PKG_INSTALL_DIR)" \
75 all install
76 $(MAKE) -C "$(PKG_BUILD_DIR)/src/interfaces/libpq" \
77 DESTDIR="$(PKG_INSTALL_DIR)" \
78 all install
79 $(MAKE) -C "$(PKG_BUILD_DIR)/src/bin/pg_config" \
80 DESTDIR="$(PKG_INSTALL_DIR)" \
81 includedir="$(STAGING_DIR)/usr/include" \
82 libdir="$(STAGING_DIR)/usr/lib" \
83 all install
84 $(MAKE) -C "$(PKG_BUILD_DIR)/src/bin/psql" \
85 DESTDIR="$(PKG_INSTALL_DIR)" \
86 all install
87 touch $@
88
89 $(IPKG_LIBPQ):
90 install -d -m0755 $(IDIR_LIBPQ)/usr/lib
91 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpq.so.* $(IDIR_LIBPQ)/usr/lib/
92 $(RSTRIP) $(IDIR_LIBPQ)
93 $(IPKG_BUILD) $(IDIR_LIBPQ) $(PACKAGE_DIR)
94
95 $(IPKG_PGSQL_CLI):
96 install -d -m0755 $(IDIR_PGSQL_CLI)/usr/bin
97 $(CP) $(PKG_INSTALL_DIR)/usr/bin/psql $(IDIR_PGSQL_CLI)/usr/bin/
98 $(RSTRIP) $(IDIR_PGSQL_CLI)
99 $(IPKG_BUILD) $(IDIR_PGSQL_CLI) $(PACKAGE_DIR)
100
101 $(STAGING_DIR)/usr/lib/libpq.so: $(PKG_BUILD_DIR)/.built
102 mkdir -p $(STAGING_DIR)/usr/bin
103 $(CP) $(PKG_INSTALL_DIR)/usr/bin/pg_config $(STAGING_DIR)/usr/bin/
104 mkdir -p $(STAGING_DIR)/usr/include
105 $(CP) $(PKG_INSTALL_DIR)/usr/include/libpq $(STAGING_DIR)/usr/include/
106 $(CP) $(PKG_INSTALL_DIR)/usr/include/libpq-fe.h $(STAGING_DIR)/usr/include/
107 $(CP) $(PKG_INSTALL_DIR)/usr/include/pg_config.h $(STAGING_DIR)/usr/include/
108 $(CP) $(PKG_INSTALL_DIR)/usr/include/postgres_ext.h $(STAGING_DIR)/usr/include/
109 $(CP) $(PKG_INSTALL_DIR)/usr/include/postgresql $(STAGING_DIR)/usr/include/
110 mkdir -p $(STAGING_DIR)/usr/lib
111 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpq.{a,so*} $(STAGING_DIR)/usr/lib/
112 touch $@
113
114 install-dev: $(STAGING_DIR)/usr/lib/libpq.so
115
116 uninstall-dev:
117 rm -rf \
118 $(STAGING_DIR)/usr/bin/pg_config \
119 $(STAGING_DIR)/usr/include/libpq \
120 $(STAGING_DIR)/usr/include/libpq-fe.h \
121 $(STAGING_DIR)/usr/include/pg_config.h \
122 $(STAGING_DIR)/usr/include/postgres_ext.h \
123 $(STAGING_DIR)/usr/include/postgresql \
124 $(STAGING_DIR)/usr/lib/libpq.{a,so*} \
125
126 compile-targets: install-dev
127 clean-targets: uninstall-dev