]> granicus.if.org Git - postgresql/commitdiff
Continuation of make file simplification; deal with header file shuffle.
authorBryan Henderson <bryanh@giraffe.netgate.net>
Sat, 2 Nov 1996 09:54:44 +0000 (09:54 +0000)
committerBryan Henderson <bryanh@giraffe.netgate.net>
Sat, 2 Nov 1996 09:54:44 +0000 (09:54 +0000)
src/interfaces/libpq/Makefile

index 0fc6b041bb804da37fc743d71930d11ec7bda054..b6d19caed19fd477c681948af5680505c7111aac 100644 (file)
@@ -7,19 +7,19 @@
 #
 #
 # 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)
@@ -28,58 +28,65 @@ endif
 # 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 \
@@ -95,14 +102,42 @@ ifeq ($(PORTNAME), hpux)
        $(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