postgresql/src/interfaces/libpq/Makefile
1997-03-14 23:34:16 +00:00

144 lines
4.1 KiB
Makefile

#-------------------------------------------------------------------------
#
# Makefile
# Makefile for libpq library
#
# Copyright (c) 1994, Regents of the University of California
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.28 1997/03/14 23:34:03 scrappy Exp $
#
#-------------------------------------------------------------------------
SRCDIR= ..
include ../Makefile.global
# We need the backend directory here for its fmgr.h
INCLUDE_OPT= -I../include -I../backend
CFLAGS+= $(INCLUDE_OPT)
ifdef KRBVERS
CFLAGS+= $(KRBFLAGS)
endif
# dllist.c is found in backend/lib
VPATH:= $(VPATH):../backend/lib
OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-lobj.o \
../backend/lib/dllist.o pqsignal.o
shlib :=
install-shlib-dep :=
ifeq ($(PORTNAME), linux)
ifdef LINUX_ELF
install-shlib-dep := install-shlib
shlib := libpq.so.1
endif
endif
all: libpq.a $(shlib) 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
fe-lobj.o: ../backend/fmgr.h
# The following rules cause dependencies in the backend directory to
# get made if they don't exist, but don't cause them to get remade if they
# are out of date.
../backend/fmgr.h:
$(MAKE) -C ../backend fmgr.h
../backend/lib/dllist.o:
$(MAKE) -C ../backend/lib dllist.o
libpq.so.1: $(OBJS)
gcc $(LDFLAGS) -shared -o $@ $(OBJS)
c.h: ../include/c.h
rm -f c.h
echo "#undef 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
install: install-headers install-libpq $(install-shlib-dep)
# Many of the headers we install below have nothing to do with libpq,
# so should be installed by someone else.
#
install-headers: beforeinstall-headers c.h \
../include/postgres.h ../include/postgres_ext.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/postgres.h \
$(HEADERDIR)/postgres.h
$(INSTALL) $(INSTLOPTS) ../include/postgres_ext.h \
$(HEADERDIR)/postgres_ext.h
$(INSTALL) $(INSTLOPTS) ../include/libpq/pqcomm.h \
$(HEADERDIR)/libpq/pqcomm.h
$(INSTALL) $(INSTLOPTS) ../include/libpq/libpq-fs.h \
$(HEADERDIR)/libpq/libpq-fs.h
$(INSTALL) $(INSTLOPTS) ../include/lib/dllist.h \
$(HEADERDIR)/lib/dllist.h
$(INSTALL) $(INSTLOPTS) ../include/utils/geo_decls.h \
$(HEADERDIR)/utils/geo_decls.h
$(INSTALL) $(INSTLOPTS) ../include/utils/elog.h \
$(HEADERDIR)/utils/elog.h
$(INSTALL) $(INSTLOPTS) ../include/utils/palloc.h \
$(HEADERDIR)/utils/palloc.h
$(INSTALL) $(INSTLOPTS) ../include/access/attnum.h \
$(HEADERDIR)/access/attnum.h
$(INSTALL) $(INSTLOPTS) libpq-fe.h $(HEADERDIR)/libpq-fe.h
ifeq ($(PORTNAME), hpux)
$(INSTALL) $(INSTLOPTS) ../backend/port/hpux/fixade.h \
$(HEADERDIR)/port/hpux/fixade.h
endif
$(INSTALL) $(INSTLOPTS) c.h $(HEADERDIR)/c.h
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
@if [ ! -d $(HEADERDIR)/access ]; \
then mkdir $(HEADERDIR)/access; fi
install-libpq: libpq.a
$(INSTALL) $(INSTL_LIB_OPTS) libpq.a $(DESTDIR)$(LIBDIR)/libpq.a
install-shlib: $(shlib)
$(INSTALL) $(INSTL_LIB_OPTS) $(shlib) $(DESTDIR)$(LIBDIR)/$(shlib)
depend dep:
$(CC) -MM $(INCLUDE_OPT) *.c >depend
.PHONY: clean
clean:
rm -f libpq.a $(shlib) $(OBJS) c.h
ifeq (depend,$(wildcard depend))
include depend
endif