uninstall: liblwgeom-uninstall loaderdumper-uninstall docs-uninstall
-clean: Makefile.config liblwgeom-clean loaderdumper-clean test-clean
+clean: Makefile.config liblwgeom-clean loaderdumper-clean docs-clean test-clean
rm -f lwpostgis.sql
distclean: clean
rm -Rf autom4te.cache
rm -f config.log config.cache config.status Makefile.config
-maintainer-clean:
+maintainer-clean: Makefile.config
@echo '------------------------------------------------------'
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
@echo '------------------------------------------------------'
- $(MAKE) distclean
+ $(MAKE) -C doc maintainer-clean
$(MAKE) -C lwgeom maintainer-clean
$(MAKE) -C jdbc2 maintainer-clean
+ $(MAKE) distclean
rm -f configure
test: liblwgeom
$(MAKE) -C regress clean
liblwgeom: Makefile.config
- $(MAKE) -C lwgeom
+ $(MAKE) -C lwgeom all
liblwgeom-clean:
$(MAKE) -C lwgeom clean
docs: Makefile.config
$(MAKE) -C doc
+docs-clean: Makefile.config
+ $(MAKE) -C doc clean
+
+
docs-install:
$(MAKE) -C doc install
PGFELIBS=@PGFELIBS@
PGBELIBS=@PGBELIBS@
PGBIN=@PGBIN@
+PORTNAME=@PORTNAME@
#
# Docbook
#
FLEX=@FLEX@
YACC=@YACC@
+LN_S=@LN_S@
INSTALL=@INSTALL@ -c
INSTALL_DATA=$(INSTALL) -m 644
INSTALL_BIN=$(INSTALL) -m 755
libexecdir=@libexecdir@
MODULE_INSTALLDIR=@MODULE_INSTALLDIR@
LPATH=@LPATH@
-
#
# DLL
#
dnl
AC_PROG_CC
AC_PROG_CXX
+AC_PROG_LN_S
dnl
dnl host operating system
dnl
AC_CANONICAL_HOST
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
dnl
dnl Search for pg_config and setup pgsql stuff
AC_SUBST(PGFELIBS)
AC_SUBST(PGBELIBS)
AC_SUBST(PGBIN)
+AC_SUBST(PGTEMPLATE)
AC_SUBST(MODULE_INSTALLDIR)
AC_SUBST(LPATH)
PGFEINCLUDES="-I`${PGCONFIG} --includedir`"
PGBELIBS="-L$( echo $(${PGCONFIG} --libdir)) -lpostgres"
PGBEINCLUDES="-I`${PGCONFIG} --includedir-server`"
PGBIN="$(${PGCONFIG} --bindir)"
+AC_MSG_CHECKING([which template to use])
+
+PGTEMPLATE="$(${PGCONFIG} --configure | \
+ awk 'BEGIN {RS = " "; FS = "=";} \
+ { \
+ if (match($1,"--with-template")) \
+ { \
+ gsub("'\''$", "", $2); \
+ print $2; \
+ } \
+ }' \
+ )"
+template=$PGTEMPLATE
+
+case $host_os in
+ aix*) template=aix ;;
+ beos*) template=beos ;;
+ bsdi*) template=bsdi ;;
+ cygwin*) template=cygwin ;;
+ darwin*) template=darwin ;;
+ dgux*) template=dgux ;;
+ freebsd*) template=freebsd ;;
+ hpux*) template=hpux ;;
+ irix*) template=irix ;;
+ linux*|gnu*|k*bsd*-gnu)
+ template=linux ;;
+ mingw*) template=win32 ;;
+ netbsd*) template=netbsd ;;
+nextstep*) template=nextstep ;;
+ openbsd*) template=openbsd ;;
+ osf*) template=osf ;;
+ qnx*) template=qnx4 ;;
+ sco*) template=sco ;;
+ solaris*) template=solaris ;;
+ sunos*) template=sunos4 ;;
+ sysv4.2*)
+ case $host_vendor in
+ univel) template=univel ;;
+ esac ;;
+ sysv4*) template=svr4 ;;
+ sysv5*) template=unixware ;;
+ ultrix*) template=ultrix4 ;;
+esac
+
+ if test x"$template" = x"" ; then
+ AC_MSG_ERROR([[
+*******************************************************************
+PostgreSQL has apparently not been ported to your platform yet.
+To try a manual configuration, look into the src/template directory
+for a similar platform and use the '--with-template=' option.
+
+Please also contact <pgsql-ports@postgresql.org> to see about
+rectifying this. Include the above 'checking host system type...'
+line.
+*******************************************************************
+]])
+ fi
+
+AC_MSG_RESULT([$template])
+
+PORTNAME=$template
+AC_SUBST(PORTNAME)
+
dnl
dnl Test for GEOS
fi
AC_SUBST(docdir)
-docdir='${prefix}/doc'
+docdir='${prefix}/share/doc'
AC_ARG_WITH(docdir,
[ --with-docdir=DIR install the documentation in DIR [[PREFIX/doc]]],
if test "$with_docdir" = "yes"; then
fi
done
exec_prefix='${prefix}'
- docdir='${prefix}/doc/postgresql/contrib'
+ if test "${docdir}" = ""; then
+ docdir="$(${PGCONFIG} --configure | \
+ awk 'BEGIN {RS = " "; FS = "=";} \
+ { \
+ if (match($1,"--docdir")) \
+ { \
+ gsub("'\''$", "", $2); \
+ print $2"/postgresql/contrib"; \
+ } \
+ }' \
+ )"
+ fi
datadir='${prefix}/share/postgresql/contrib'
- mandir='${prefix}/man'
- bindir='${exec_prefix}/bin'
+ if test "${mandir}" = ""; then
+ mandir="$(${PGCONFIG} --configure | \
+ awk 'BEGIN {RS = " "; FS = "=";} \
+ { \
+ if (match($1,"--mandir")) \
+ { \
+ gsub("'\''$", "", $2); \
+ print $2; \
+ } \
+ }' \
+ )"
+ fi
+ bindir="$(${PGCONFIG} --bindir)"
MODULE_INSTALLDIR="`${PGCONFIG} --pkglibdir`"
LPATH='\$$libdir'
else
AC_SUBST(EXE)
AC_SUBST(HOST_OS)
+#host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
HOST_OS=$host_os
DLSUFFIX=.so
DLFLAGS=-shared
-
AC_OUTPUT(Makefile.config)
AC_MSG_RESULT([ ])
dnl AC_MSG_RESULT([ YACC: path=$YACC])
AC_MSG_RESULT([ ])
+AC_MSG_RESULT([ PORTNAME: $PORTNAME])
AC_MSG_RESULT([ PREFIX: $prefix])
AC_MSG_RESULT([ EPREFIX: $exec_prefix])
AC_MSG_RESULT([ DOC: $docdir])
@rm -f html/*.html
install: html/postgis.html man/shp2pgsql.1 man/pgsql2shp.1
- @mkdir -p $(docdir)
- @mkdir -p $(mandir)/man1
- $(INSTALL_DATA) html/postgis.html $(docdir)/postgis.html
- $(INSTALL_DATA) man/pgsql2shp.1 $(mandir)/man1/pgsql2shp.1
- $(INSTALL_DATA) man/shp2pgsql.1 $(mandir)/man1/shp2pgsql.1
- $(INSTALL_DATA) ../README.postgis $(docdir)/README.postgis
+ @mkdir -p $(DESTDIR)$(docdir)
+ @mkdir -p $(DESTDIR)$(mandir)/man1
+ $(INSTALL_DATA) html/postgis.html $(DESTDIR)$(docdir)/postgis.html
+ $(INSTALL_DATA) man/pgsql2shp.1 $(DESTDIR)$(mandir)/man1/pgsql2shp.1
+ $(INSTALL_DATA) man/shp2pgsql.1 $(DESTDIR)$(mandir)/man1/shp2pgsql.1
+ $(INSTALL_DATA) ../README.postgis $(DESTDIR)$(docdir)/README.postgis
uninstall:
- rm -f $(docdir)/postgis/postgis.html
- rm -f $(docdir)/postgis/README.postgis
- rm -f $(mandir)/man1/shp2pgsql.1
- rm -f $(mandir)/man1/pgsql2shp.1
+ rm -f $(DESTDIR)$(docdir)/postgis/postgis.html
+ rm -f $(DESTDIR)$(docdir)/postgis/README.postgis
+ rm -f $(DESTDIR)$(mandir)/man1/shp2pgsql.1
+ rm -f $(DESTDIR)$(mandir)/man1/pgsql2shp.1
.PHONY: html
# variable to postgis_debug.fastjar and JAR (above) to fastjar.
DEBUGJAR?=postgis_debug.jar
-# Find our postgresql build directory - needed for "make installdirs" and
-# "make install" that are used by the debian packaging process. As everything
-# else works without Makefile.global, we don't abort on inclusion failure
-# and use late checking iside those rules instead.
-ifeq (${PGSQL_SRC},)
- PGSQL_SRC=../../..
-endif
-
-top_builddir:=$(PGSQL_SRC)
-top_makefile:=$(PGSQL_SRC)/src/Makefile.global
--include $(top_makefile)
-
# Make sure our classpath includes your postgresql.jar. This is somehow
# difficult because some JREs (e. G. those on debian woody or sablevm) seem
# to forget their own system classes (aka bootclasspath) as soon as _any_
# include version numbers from central repository
include ../Version.config
+include ../Makefile.config
VERSION=$(JDBC_MAJOR_VERSION)_$(JDBC_MINOR_VERSION)_$(JDBC_MICRO_VERSION)
VERSIONPATH=$(BUILD)/org/postgis
VERSIONTARGET=$(VERSIONPATH)/version.properties
$(DELETE) $(SRCCONF)
-# Install - this needs the successfull inclusion of PostgreSQL top
-# level Makefile (which is mandatory for the C part of PostGIS as well).
install: jar installdirs
- @echo Testing for successful inclusion of $(top_makefile)
- test $(top_makefile)
$(INSTALL_DATA) postgis.jar $(DESTDIR)
$(INSTALL_DATA) postgis_debug.jar $(DESTDIR)
installdirs:
- @echo Testing for successful inclusion of $(top_makefile)
- test $(top_makefile)
- $(mkinstalldirs) $(DESTDIR)
+ @mkdir -p $(DESTDIR)
# Preliminary JTS support
$(CC) $(CFLAGS) $(OBJS) shp2pgsql.o $(LDFLAGS) -o $@
install: all
- @mkdir -p $(bindir)
- $(INSTALL_BIN) pgsql2shp$(EXE) $(bindir)/pgsql2shp$(EXE)
- $(INSTALL_BIN) shp2pgsql$(EXE) $(bindir)/shp2pgsql$(EXE)
+ @mkdir -p $(DESTDIR)$(bindir)
+ $(INSTALL_BIN) pgsql2shp$(EXE) $(DESTDIR)$(bindir)/pgsql2shp$(EXE)
+ $(INSTALL_BIN) shp2pgsql$(EXE) $(DESTDIR)$(bindir)/shp2pgsql$(EXE)
uninstall:
- rm -f $(bindir)/pgsql2shp$(EXE)
- rm -f $(bindir)/shp2pgsql$(EXE)
+ rm -f $(DESTDIR)$(bindir)/pgsql2shp$(EXE)
+ rm -f $(DESTDIR)$(bindir)/shp2pgsql$(EXE)
clean:
- rm -f $(OBJS) shp2pgsql.o pgsql2shp.o shp2pgsql$(EXE) pgsql2shp$(EXE)
+ rm -f $(OBJS) shp2pgsql.o pgsql2shp.o PQunescapeBytea.o shp2pgsql$(EXE) pgsql2shp$(EXE)
#OTHERS=y.output lex.yy.c wktparse.tab.c wktparse.tab.h lwpostgis.sql
OTHERS=y.output lwpostgis.sql ../lwpostgis.sql postgis_geos_version.h
+enable_shared=yes
+include Makefile.shlib
#---------------------------------------------------------------
# Makefile targets
-all: $(GEOS_RULES) $(SHLIB) ../lwpostgis.sql
-
-$(SHLIB): $(OBJS)
-ifeq ($(findstring mingw,$(HOST_OS)),mingw)
- dlltool --export-all --output-def lwgeom.def $(OBJS)
- dllwrap -o $@ --dllname $@ --def lwgeom.def $(OBJS) $(SHLIB_LINK) $(PGBELIBS)
- dlltool --dllname $@ --def lwgeom.def --output-lib liblwgeom.a
-else
-ifeq ($(findstring darwin,$(HOST_OS)),darwin)
- $(CC) $(SHLIB_LINK) -o $(SHLIB) -bundle $(OBJS) -bundle_loader $(PGBIN)/postgres
-else
- $(CC) $(SHLIB_LINK) -o $(SHLIB) $(OBJS)
-endif
-endif
-
+all: $(GEOS_RULES) ../lwpostgis.sql all-shared-lib
wktparse.tab.c: wktparse.y
$(YACC) -vd -p lwg_parse_yy wktparse.y
install: all install-lwgeom-lib install-lwgeom-scripts
install-lwgeom-scripts:
- @mkdir -p $(datadir)
- $(INSTALL_DATA) lwpostgis.sql $(datadir)/lwpostgis.sql
- $(INSTALL_DATA) ../spatial_ref_sys.sql $(datadir)/spatial_ref_sys.sql
+ @mkdir -p $(DESTDIR)$(datadir)
+ $(INSTALL_DATA) lwpostgis.sql $(DESTDIR)$(datadir)/lwpostgis.sql
+ $(INSTALL_DATA) ../spatial_ref_sys.sql $(DESTDIR)$(datadir)/spatial_ref_sys.sql
#- This has been copied from postgresql and adapted
install-lwgeom-lib: $(SHLIB)
- @mkdir -p $(MODULE_INSTALLDIR)
- $(INSTALL_LIB) $< $(MODULE_INSTALLDIR)/$(SHLIB)
+ @mkdir -p $(DESTDIR)$(MODULE_INSTALLDIR)
+ $(INSTALL_LIB) $(SHLIB) $(DESTDIR)$(MODULE_INSTALLDIR)/$(SHLIB)
+ifneq ($(PORTNAME), cygwin)
+ifneq ($(PORTNAME), win32)
ifneq ($(PORTNAME), win)
ifneq ($(SHLIB), $(SHLIB_MAJOR))
- cd $(MODULE_INSTALLDIR) && \
- rm -f $(SHLIB_MAHOR) && \
+ cd $(DESTDIR)$(MODULE_INSTALLDIR) && \
+ rm -f $(SHLIB_MAJOR) && \
ln -sf $(SHLIB) $(SHLIB_MAJOR)
endif
ifneq ($(SHLIB), lib$(NAME)$(DLSUFFIX))
- cd $(MODULE_INSTALLDIR) && \
+ cd $(DESTDIR)$(MODULE_INSTALLDIR) && \
rm -f $(SHLIB_BARE) && \
ln -sf $(SHLIB) $(SHLIB_BARE)
endif
endif # not win
+endif # not win32
+endif # not cygwin
-uninstall-lib:
- rm -f $(MODULE_INSTALLDIR)/$(SHLIB)
- rm -f $(MODULE_INSTALLDIR)/$(SHLIB_MAJOR)
- rm -f $(MODULE_INSTALLDIR)/$(SHLIB_BARE)
+uninstall-lwgeom-lib:
+ rm -f $(DESTDIR)$(MODULE_INSTALLDIR)/$(SHLIB)
+ rm -f $(DESTDIR)$(MODULE_INSTALLDIR)/$(SHLIB_MAJOR)
+ rm -f $(DESTDIR)$(MODULE_INSTALLDIR)/$(SHLIB_BARE)
#----------------------------------------------------------
sh ../geos_version.sh $(GEOS_DIR) > postgis_geos_version.h
uninstall-lwgeom-scripts:
- rm -f $(datadir)/postgis/lwpostgis.sql
- rm -f $(datadir)/postgis/spatial_ref_sys.sql
+ rm -f $(DESTDIR)$(datadir)/postgis/lwpostgis.sql
+ rm -f $(DESTDIR)$(datadir)/postgis/spatial_ref_sys.sql
-uninstall: uninstall-lib uninstall-lwgeom-scripts
+uninstall: uninstall-lwgeom-lib uninstall-lwgeom-scripts
-clean-lib:
+clean-lwgeom-lib:
rm -f $(SHLIB) $(SHLIB_MAJOR) $(SHLIB_BARE)
-clean distclean: clean-lib
+clean distclean: clean-lwgeom-lib
rm -f *.o *.so *.a test $(OTHERS)
maintainer-clean: clean