diff --git a/src/interfaces/libpq/Makefile b/src/interfaces/libpq/Makefile index 0fc6b041bb804da37fc743d71930d11ec7bda054..b6d19caed19fd477c681948af5680505c7111aac 100644 --- a/src/interfaces/libpq/Makefile +++ b/src/interfaces/libpq/Makefile @@ -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