#-------------------------------------------------------------------------
#
# Makefile
#    Makefile for libpq library
#
# Copyright (c) 1994, Regents of the University of California
#
# IDENTIFICATION
#    $Header: /cvsroot/pgsql/src/interfaces/libpq/Attic/Makefile.in,v 1.46 1999/06/30 23:57:25 tgl Exp $
#
#-------------------------------------------------------------------------

NAME= pq
SO_MAJOR_VERSION= 2
SO_MINOR_VERSION= 0

SRCDIR= @top_srcdir@
include $(SRCDIR)/Makefile.global

CFLAGS+= -DFRONTEND

ifdef KRBVERS
CFLAGS+= $(KRBFLAGS)
endif

ifdef MULTIBYTE
CFLAGS+= $(MBFLAGS)
endif

OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o \
      dllist.o pqsignal.o

ifdef MULTIBYTE
OBJS+= common.o wchar.o conv.o big5.o
endif

# If crypt is a separate library, rather than part of libc,
# make sure it gets included in shared libpq.
SHLIB_LINK+= $(findstring -lcrypt,$(LIBS))

# Shared library stuff, also default 'all' target
include $(SRCDIR)/Makefile.shlib


# 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 .

ifdef MULTIBYTE
# We need to compile this with special options for shared libs,
# so we can't use the object in $(SRCDIR)/backend
common.c: $(SRCDIR)/backend/utils/mb/common.c
	-$(LN_S) $(SRCDIR)/backend/utils/mb/common.c .

wchar.c: $(SRCDIR)/backend/utils/mb/wchar.c
	-$(LN_S) $(SRCDIR)/backend/utils/mb/wchar.c .

conv.c: $(SRCDIR)/backend/utils/mb/conv.c
	-$(LN_S) $(SRCDIR)/backend/utils/mb/conv.c .

big5.c: $(SRCDIR)/backend/utils/mb/big5.c
	-$(LN_S) $(SRCDIR)/backend/utils/mb/big5.c .
endif

# 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.
fe-lobj.o: $(SRCDIR)/backend/fmgr.h

$(SRCDIR)/backend/fmgr.h:
	$(MAKE) -C $(SRCDIR)/backend fmgr.h


.PHONY: install install-headers

install: install-headers install-lib $(install-shlib-dep)

install-headers: libpq-fe.h libpq-int.h
	@if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi
	$(INSTALL) $(INSTLOPTS) libpq-fe.h $(HEADERDIR)/libpq-fe.h
	$(INSTALL) $(INSTLOPTS) libpq-int.h $(HEADERDIR)/libpq-int.h


.PHONY: clean

clean: clean-shlib
	rm -f libpq.a $(OBJS)
	rm -f dllist.c common.c wchar.c conv.c big5.c
ifeq ($(PORTNAME), win)
	rm -f pq.def
endif

depend dep:
	$(CC) -MM $(CFLAGS) *.c >depend

ifeq (depend,$(wildcard depend))
include depend
endif
