#-------------------------------------------------------------------------
#
# Makefile--
#	Makefile for psqlodbc (ODBC driver)
#
# Copyright (c) 1994, Regents of the University of California
#
#
# IDENTIFICATION
#    $Header$
#
#-------------------------------------------------------------------------

NAME = psqlodbc
SRCDIR =../..
ODBC_INCLUDE =.
PG_INCLUDE =../../include

PORTNAME =linux

# Put the installation-wide parameters here.
# Probably would prefer the PGDATA area,
#  but users are not allowed to read anything there.
ODBCINST =$(POSTGRESDIR)/odbcinst.ini

include $(SRCDIR)/Makefile.global

include Version.mk
#include Config.mk

#CFLAGS	+= -DHAVE_CONFIG_H -I$(ODBC_INCLUDE) -I$(PG_INCLUDE)

ifeq ($(PORTNAME), linux)
  install-shlib-dep := install-shlib
  shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
  LDFLAGS_SL = -shared -soname lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
  LDFLAGS_SL += -Bsymbolic
  PG_LIBS += -lc -lm
  CFLAGS += $(CFLAGS_SL)
#  LDFLAGS_SL += -Map libpsqlodbc.map --cref -t --verbose
endif

ifeq ($(PORTNAME), bsd)
  ifdef BSD_SHLIB
    install-shlib-dep := install-shlib
    shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
    LDFLAGS_SL = -x -Bshareable -Bforcearchive
    CFLAGS += $(CFLAGS_SL)
  endif
endif

NAME = psqlodbc

OBJECTS	= info.o bind.o columninfo.o connection.o convert.o drvconn.o \
	environ.o execute.o lobj.o misc.o options.o \
	pgtypes.o psqlodbc.o qresult.o results.o socket.o parse.o statement.o \
	gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX)

#CFLAGS	= -c $(DEBUG) -D$(PG_ENV) -O $(PIC) $(ANSI) -I$(PG_INCLUDE) \
# -I$(ODBC_INCLUDE) -D$(DLDAPI) $(CFLAGSX) -DHAVE_CONFIG_H \
# -DVERSION=\"$(VERSION)$(EXTVER)\"
#CFLAGS	= -g -c -Wall $(DEBUG) -O $(PIC) $(ANSI) -I. -I.. \
# -I$(PG_INCLUDE) -I$(ODBC_INCLUDE) $(CFLAGSX) -DHAVE_CONFIG_H 
CFLAGS += -DHAVE_CONFIG_H -I$(ODBC_INCLUDE) -I$(PG_INCLUDE)
CFLAGS += -DODBCINST=$(ODBCINST)

#---| global dependencies |----------------------------------------------------

#all:   $(OBJECTS) lib dll
#all:	$(OBJECTS) dll
all:	$(OBJECTS) $(shlib)

clean:
	-rm -f core *.o *~ *.core

delete: clean

delete_all:	delete
	-rm -f $(LIBDIR)/lib$(NAME)_$(MSQL_ENV).a
	-rm -f $(LIBDIR)/lib$(NAME)_$(MSQL_ENV).$(DLSUFFIX)

#---| local dependencies |-----------------------------------------------------

lib:
	$(AR) lib$(NAME)$(PG_ENV).a $(OBJECTS)
	$(RANLIB) lib$(NAME)$(PG_ENV).a

dll:	$(OBJECTS)
	$(LD) $(LDFLAGS) -L$(PG_LIBPATH) $(OBJECTS) \
	-o $(shlib) $(LIBS) $(PG_LIBS)

#$(shlib):	$(OBJECTS)
#	$(LD) $(LDFLAGS_SL) -L$(PG_LIBPATH) $(OBJECTS) \
#	-o $(shlib) $(LIBS) $(PG_LIBS)
#
$(shlib):	$(OBJECTS)
	$(LD) $(LDFLAGS_SL) $(OBJECTS) \
	-o $(shlib) $(LIBS) $(PG_LIBS)

install-shlib: $(shlib)
	$(INSTALL) $(INSTL_SHLIB_OPTS) $(shlib) $(LIBDIR)/$(shlib)
	rm -f $(LIBDIR)/lib$(NAME)$(DLSUFFIX)
	rm -f $(LIBDIR)/lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
	ln -sf $(shlib) $(LIBDIR)/lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
	ln -sf lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) $(LIBDIR)/lib$(NAME)$(DLSUFFIX)

install-headers: $(INSTHEADERS)
	if [ -d $(INCDIR)/iodbc ]; then : ; else $(MKDIR) $(INCDIR)/iodbc; fi
	$(INSTALL_DATA) $(INSTHEADERS) $(INCDIR)/iodbc

install-ini: odbcinst.ini
	$(INSTALL_DATA) odbcinst.ini /etc

install: install-headers install-shlib install-ini

#-------------------------------------------------------------------------

