#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.8 1996/10/25 09:22:30 bryanh Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.9 1996/11/02 09:54:44 bryanh Exp $
#
#-------------------------------------------------------------------------
-MKDIR= ../mk
-include $(MKDIR)/postgres.mk
+SRCDIR= ..
+include ../Makefile.global
-CFLAGS+= -I../backend/include \
- -I../include \
- -I../backend \
- -I. \
+INCLUDE_OPT= \
+ -I. \
+ -I../include \
+ -I../backend \
-CFLAGS+= -DPOSTPORT='"$(POSTPORT)"'
+CFLAGS+= $(INCLUDE_OPT) -DPOSTPORT='"$(POSTPORT)"'
ifdef KRBVERS
CFLAGS+= $(KRBFLAGS)
# dllist.c is found in backend/lib
VPATH:= $(VPATH):../backend/lib
-LIBSRCS= fe-auth.c fe-connect.c fe-exec.c fe-misc.c fe-lobj.c \
- dllist.c pqsignal.c
+OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-lobj.o \
+ ../backend/lib/dllist.o pqsignal.o
ifeq ($(PORTNAME), next)
VPATH:=$(VPATH):../backend/port/$(PORTNAME)
-LIBSRCS+= getcwd.c putenv.c
+OBJS+= getcwd.o putenv.o
endif
-all:: libpq.a postgres.h c.h
+ifdef LINUX_ELF
+shlib := libpq.so.1
+else
+shlib :=
+endif
+
+all: libpq.a $(shlib) postgres.h c.h
+
+libpq.a: $(OBJS)
+ifdef MK_NO_LORDER
+ $(AR) $(AROPT) libpq.a $(OBJS)
+else
+ $(AR) $(AROPT) libpq.a `lorder $(OBJS) | tsort`
+endif
+ $(RANLIB) libpq.a
-postgres.h: ../backend/include/postgres.h
+libpq.so.1: $(OBJS)
+ $(CC) $(LDFLAGS) -shared $(OBJS) -o libpq.so.1
+
+# If dllist.o is out of date, we will not cause it to get remade. We
+# only make it if it doesn't exist.
+
+../backend/lib/dllist.o:
+ $(MAKE) -C ../backend/lib dllist.o
+
+postgres.h: ../include/postgres.h
# Note: ../backend/include/postgres.h needs to be named something different
# to avoid confusion with this thing we're building now.
#
# hardwire NAMEDATALEN and OIDNAMELEN into the postgres.h for this installation
- rm -f obj/postgres.h
- echo "#define NAMEDATALEN $(NAMEDATALEN)" >> obj/postgres.h
- echo "#define OIDNAMELEN $(OIDNAMELEN)" >> obj/postgres.h
- cat ../backend/include/postgres.h >> obj/postgres.h
+ rm -f postgres.h
+ echo "#define NAMEDATALEN $(NAMEDATALEN)" >> postgres.h
+ echo "#define OIDNAMELEN $(OIDNAMELEN)" >> postgres.h
+ cat ../include/postgres.h >> postgres.h
-c.h: ../backend/include/c.h
- rm -f obj/c.h
- echo "#undef PORTNAME" > obj/c.h
- echo "#define PORTNAME $(PORTNAME)" >> obj/c.h
- echo "#undef PORTNAME_$(PORTNAME)" >> obj/c.h
- echo "#define PORTNAME_$(PORTNAME)" >> obj/c.h
- cat ../backend/include/c.h >> obj/c.h
+c.h: ../include/c.h
+ rm -f c.h
+ echo "#undef PORTNAME" > c.h
+ echo "#define PORTNAME $(PORTNAME)" >> c.h
+ echo "#undef PORTNAME_$(PORTNAME)" >> c.h
+ echo "#define PORTNAME_$(PORTNAME)" >> c.h
+ cat ../include/c.h >> c.h
.PHONY: beforeinstall-headers install-headers
+.PHONY: install install-libpq install-shlib-dep
-ifndef NO_BEFOREINSTL
-beforeinstall-headers:
- @if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi
- @if [ ! -d $(HEADERDIR)/port ]; then mkdir $(HEADERDIR)/port; fi
- @if [ ! -d $(HEADERDIR)/port/$(PORTNAME) ]; \
- then mkdir $(HEADERDIR)/port/$(PORTNAME); fi
- @if [ ! -d $(HEADERDIR)/include ]; \
- then mkdir $(HEADERDIR)/include; fi
- @if [ ! -d $(HEADERDIR)/lib ]; \
- then mkdir $(HEADERDIR)/lib; fi
- @if [ ! -d $(HEADERDIR)/libpq ]; \
- then mkdir $(HEADERDIR)/libpq; fi
- @if [ ! -d $(HEADERDIR)/utils ]; \
- then mkdir $(HEADERDIR)/utils; fi
-else
-beforeinstall-headers: .dosomething
-endif
-
-TEMPDIR=obj
+install: install-headers install-libpq $(install-shlib-dep)
-install-headers: beforeinstall-headers postgres.h c.h
- $(INSTALL) $(INSTLOPTS) ../backend/include/postgres.h \
- $(HEADERDIR)/postgres.h
+install-headers: beforeinstall-headers postgres.h c.h \
+ ../include/config.h ../include/libpq/pqcomm.h \
+ ../include/libpq/libpq-fs.h ../include/lib/dllist.h \
+ ../include/utils/geo-decls.h libpq.fe.h
$(INSTALL) $(INSTLOPTS) ../include/config.h \
$(HEADERDIR)/config.h
$(INSTALL) $(INSTLOPTS) ../include/libpq/pqcomm.h \
$(INSTALL) $(INSTLOPTS) ../backend/port/hpux/fixade.h \
$(HEADERDIR)/port/hpux/fixade.h
endif
- $(INSTALL) $(INSTLOPTS) obj/c.h $(HEADERDIR)/c.h
- $(INSTALL) $(INSTLOPTS) obj/postgres.h $(HEADERDIR)/postgres.h
+ $(INSTALL) $(INSTLOPTS) c.h $(HEADERDIR)/c.h
+ $(INSTALL) $(INSTLOPTS) postgres.h $(HEADERDIR)/postgres.h
-install:: install-headers
+beforeinstall-headers:
+ @if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi
+ @if [ ! -d $(HEADERDIR)/port ]; then mkdir $(HEADERDIR)/port; fi
+ @if [ ! -d $(HEADERDIR)/port/$(PORTNAME) ]; \
+ then mkdir $(HEADERDIR)/port/$(PORTNAME); fi
+ @if [ ! -d $(HEADERDIR)/include ]; \
+ then mkdir $(HEADERDIR)/include; fi
+ @if [ ! -d $(HEADERDIR)/lib ]; \
+ then mkdir $(HEADERDIR)/lib; fi
+ @if [ ! -d $(HEADERDIR)/libpq ]; \
+ then mkdir $(HEADERDIR)/libpq; fi
+ @if [ ! -d $(HEADERDIR)/utils ]; \
+ then mkdir $(HEADERDIR)/utils; fi
-CLEANFILES+= c.h postgres.h
+ifdef LINUX_ELF
+install-shlib-dep := install-shlib
+else
+install-shlib-dep :=
+endif
+
+install-libpq:
+ $(INSTALL) $(INSTL_LIB_OPTS) libpq.a $(DESTDIR)$(LIBDIR)/libpq.a
-LIB= pq
-include $(MKDIR)/postgres.lib.mk
+install-shlib:
+ $(INSTALL) $(INSTL_LIB_OPTS) libpq.so.1 $(DESTDIR)$(LIBDIR)/libpq.so.1
+depend dep:
+ $(CC) -MM $(INCLUDE_OPT) *.c >depend
+.PHONY: clean
+clean:
+ rm -f libpq.a libpq.so.1 $(OBJS) c.h postgres.h
+
+ifeq (depend,$(wildcard depend))
+include depend
+endif