Commit b216c1ea authored by Bryan Henderson's avatar Bryan Henderson

Continuation of make file simplification; deal with header file shuffle.

parent 31e8156f
...@@ -7,19 +7,19 @@ ...@@ -7,19 +7,19 @@
# #
# #
# IDENTIFICATION # 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 SRCDIR= ..
include $(MKDIR)/postgres.mk include ../Makefile.global
CFLAGS+= -I../backend/include \ INCLUDE_OPT= \
-I../include \ -I. \
-I../backend \ -I../include \
-I. \ -I../backend \
CFLAGS+= -DPOSTPORT='"$(POSTPORT)"' CFLAGS+= $(INCLUDE_OPT) -DPOSTPORT='"$(POSTPORT)"'
ifdef KRBVERS ifdef KRBVERS
CFLAGS+= $(KRBFLAGS) CFLAGS+= $(KRBFLAGS)
...@@ -28,58 +28,65 @@ endif ...@@ -28,58 +28,65 @@ endif
# dllist.c is found in backend/lib # dllist.c is found in backend/lib
VPATH:= $(VPATH):../backend/lib VPATH:= $(VPATH):../backend/lib
LIBSRCS= fe-auth.c fe-connect.c fe-exec.c fe-misc.c fe-lobj.c \ OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-lobj.o \
dllist.c pqsignal.c ../backend/lib/dllist.o pqsignal.o
ifeq ($(PORTNAME), next) ifeq ($(PORTNAME), next)
VPATH:=$(VPATH):../backend/port/$(PORTNAME) VPATH:=$(VPATH):../backend/port/$(PORTNAME)
LIBSRCS+= getcwd.c putenv.c OBJS+= getcwd.o putenv.o
endif 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 # Note: ../backend/include/postgres.h needs to be named something different
# to avoid confusion with this thing we're building now. # to avoid confusion with this thing we're building now.
# #
# hardwire NAMEDATALEN and OIDNAMELEN into the postgres.h for this installation # hardwire NAMEDATALEN and OIDNAMELEN into the postgres.h for this installation
rm -f obj/postgres.h rm -f postgres.h
echo "#define NAMEDATALEN $(NAMEDATALEN)" >> obj/postgres.h echo "#define NAMEDATALEN $(NAMEDATALEN)" >> postgres.h
echo "#define OIDNAMELEN $(OIDNAMELEN)" >> obj/postgres.h echo "#define OIDNAMELEN $(OIDNAMELEN)" >> postgres.h
cat ../backend/include/postgres.h >> obj/postgres.h cat ../include/postgres.h >> postgres.h
c.h: ../backend/include/c.h c.h: ../include/c.h
rm -f obj/c.h rm -f c.h
echo "#undef PORTNAME" > obj/c.h echo "#undef PORTNAME" > c.h
echo "#define PORTNAME $(PORTNAME)" >> obj/c.h echo "#define PORTNAME $(PORTNAME)" >> c.h
echo "#undef PORTNAME_$(PORTNAME)" >> obj/c.h echo "#undef PORTNAME_$(PORTNAME)" >> c.h
echo "#define PORTNAME_$(PORTNAME)" >> obj/c.h echo "#define PORTNAME_$(PORTNAME)" >> c.h
cat ../backend/include/c.h >> obj/c.h cat ../include/c.h >> c.h
.PHONY: beforeinstall-headers install-headers .PHONY: beforeinstall-headers install-headers
.PHONY: install install-libpq install-shlib-dep
ifndef NO_BEFOREINSTL install: install-headers install-libpq $(install-shlib-dep)
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-headers: beforeinstall-headers postgres.h c.h install-headers: beforeinstall-headers postgres.h c.h \
$(INSTALL) $(INSTLOPTS) ../backend/include/postgres.h \ ../include/config.h ../include/libpq/pqcomm.h \
$(HEADERDIR)/postgres.h ../include/libpq/libpq-fs.h ../include/lib/dllist.h \
../include/utils/geo-decls.h libpq.fe.h
$(INSTALL) $(INSTLOPTS) ../include/config.h \ $(INSTALL) $(INSTLOPTS) ../include/config.h \
$(HEADERDIR)/config.h $(HEADERDIR)/config.h
$(INSTALL) $(INSTLOPTS) ../include/libpq/pqcomm.h \ $(INSTALL) $(INSTLOPTS) ../include/libpq/pqcomm.h \
...@@ -95,14 +102,42 @@ ifeq ($(PORTNAME), hpux) ...@@ -95,14 +102,42 @@ ifeq ($(PORTNAME), hpux)
$(INSTALL) $(INSTLOPTS) ../backend/port/hpux/fixade.h \ $(INSTALL) $(INSTLOPTS) ../backend/port/hpux/fixade.h \
$(HEADERDIR)/port/hpux/fixade.h $(HEADERDIR)/port/hpux/fixade.h
endif endif
$(INSTALL) $(INSTLOPTS) obj/c.h $(HEADERDIR)/c.h $(INSTALL) $(INSTLOPTS) c.h $(HEADERDIR)/c.h
$(INSTALL) $(INSTLOPTS) obj/postgres.h $(HEADERDIR)/postgres.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 install-shlib:
include $(MKDIR)/postgres.lib.mk $(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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment