mirror of
https://github.com/postgres/postgres.git
synced 2026-04-04 08:45:52 -04:00
165 lines
5 KiB
Makefile
165 lines
5 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.37 1997/08/17 00:33:28 scrappy Exp $
|
|
#
|
|
#-------------------------------------------------------------------------
|
|
|
|
SRCDIR= ../..
|
|
include $(SRCDIR)/Makefile.global
|
|
|
|
# We need the backend directory here for its fmgr.h
|
|
INCLUDE_OPT= -I$(SRCDIR)/include -I$(SRCDIR)/backend
|
|
|
|
CFLAGS+= $(INCLUDE_OPT)
|
|
|
|
ifdef KRBVERS
|
|
CFLAGS+= $(KRBFLAGS)
|
|
endif
|
|
|
|
OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-lobj.o \
|
|
dllist.o pqsignal.o pqcomprim.o
|
|
|
|
# Shared library stuff
|
|
shlib :=
|
|
install-shlib-dep :=
|
|
ifeq ($(PORTNAME), linux)
|
|
ifdef LINUX_ELF
|
|
install-shlib-dep := install-shlib
|
|
shlib := libpq.so.1
|
|
LDFLAGS_SL = -shared
|
|
CFLAGS += $(CFLAGS_SL)
|
|
endif
|
|
endif
|
|
ifeq ($(PORTNAME), BSD44_derived)
|
|
install-shlib-dep := install-shlib
|
|
shlib := libpq.so.1.0
|
|
LDFLAGS_SL = -x -Bshareable -Bforcearchive
|
|
CFLAGS += $(CFLAGS_SL)
|
|
endif
|
|
ifeq ($(PORTNAME), i386_solaris)
|
|
install-shlib-dep := install-shlib
|
|
shlib := libpq.so.1
|
|
LDFLAGS_SL = -G -z text
|
|
CFLAGS += $(CFLAGS_SL)
|
|
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: $(SRCDIR)/backend/fmgr.h
|
|
|
|
# We need to compile this with special options for shared libs,
|
|
# so we can't use the object in $(SRCDIR)/backend
|
|
dllist.c: $(SRCDIR)/backend/lib/dllist.c
|
|
-ln -s $(SRCDIR)/backend/lib/dllist.c .
|
|
|
|
pqcomprim.c: $(SRCDIR)/backend/libpq/pqcomprim.c
|
|
-ln -s $(SRCDIR)/backend/libpq/pqcomprim.c .
|
|
|
|
# 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.
|
|
$(SRCDIR)/backend/fmgr.h:
|
|
$(MAKE) -C $(SRCDIR)/backend fmgr.h
|
|
|
|
$(shlib): $(OBJS)
|
|
$(LD) $(LDFLAGS_SL) -o $@ $(OBJS)
|
|
ln -sf $@ libpq.so
|
|
|
|
|
|
c.h: $(SRCDIR)/include/c.h
|
|
rm -f c.h
|
|
echo "#undef PORTNAME" > c.h
|
|
echo "#define PORTNAME $(PORTNAME)" >> c.h
|
|
cat $(SRCDIR)/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 \
|
|
$(SRCDIR)/include/postgres.h $(SRCDIR)/include/postgres_ext.h \
|
|
$(SRCDIR)/include/config.h $(SRCDIR)/include/libpq/pqcomm.h \
|
|
$(SRCDIR)/include/libpq/libpq-fs.h $(SRCDIR)/include/lib/dllist.h \
|
|
$(SRCDIR)/include/utils/geo_decls.h libpq-fe.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/os.h \
|
|
$(HEADERDIR)/os.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/config.h \
|
|
$(HEADERDIR)/config.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/postgres.h \
|
|
$(HEADERDIR)/postgres.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/postgres_ext.h \
|
|
$(HEADERDIR)/postgres_ext.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/libpq/pqcomm.h \
|
|
$(HEADERDIR)/libpq/pqcomm.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/libpq/libpq-fs.h \
|
|
$(HEADERDIR)/libpq/libpq-fs.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/lib/dllist.h \
|
|
$(HEADERDIR)/lib/dllist.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/utils/geo_decls.h \
|
|
$(HEADERDIR)/utils/geo_decls.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/utils/elog.h \
|
|
$(HEADERDIR)/utils/elog.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/utils/palloc.h \
|
|
$(HEADERDIR)/utils/palloc.h
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/include/access/attnum.h \
|
|
$(HEADERDIR)/access/attnum.h
|
|
$(INSTALL) $(INSTLOPTS) libpq-fe.h $(HEADERDIR)/libpq-fe.h
|
|
ifeq ($(PORTNAME), hpux)
|
|
$(INSTALL) $(INSTLOPTS) $(SRCDIR)/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)
|
|
rm -f $(DESTDIR)$(LIBDIR)/libpq.so
|
|
ln -s libpq.so.1 $(DESTDIR)$(LIBDIR)/libpq.so
|
|
|
|
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
|