# # The contents of this file are subject to the AOLserver Public License # Version 1.1 (the "License"); you may not use this file except in # compliance with the License. You may obtain a copy of the License at # http://aolserver.com. # # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. # # The Original Code is AOLserver Code and related documentation # distributed by AOL. # # The Initial Developer of the Original Code is America Online, # Inc. Portions created by AOL are Copyright (C) 1999 America Online, # Inc. All Rights Reserved. # # Alternatively, the contents of this file may be used under the terms # of the GNU General Public License (the "GPL"), in which case the # provisions of GPL are applicable instead of those above. If you wish # to allow use of your version of this file only under the terms of the # GPL and not to allow others to use your version of this file under the # License, indicate your decision by deleting the provisions above and # replace them with the notice and other provisions required by the GPL. # If you do not delete the provisions above, a recipient may use your # version of this file under either the License or the GPL. # # Copyright (C) 2001,2002 Scott S. Goodwin # # $Header: /cvsroot/aolserver/nspostgres/Makefile,v 1.21 2007/06/12 15:17:45 dossy Exp $ # # nspostgres -- # # PostgreSQL Database Driver for AOLserver # # # Version number used in release tags. Valid VERs are "1.1c", "2.1", # "2.2beta7". VER "1.1c" will be translated into "v1_1c" by this Makefile. # VER_ = $(subst .,_,$(VER)) # if POSTGRES does not receive a value, print message showing choices. # # the best choice for POSTGRES should be PG_CONFIG, but there has to be # a way to show the choices: so do NOT set POSTGRES here. # # Manage to find PostgreSQL components in the system, or where you specify # ifndef PG_CONFIG PG_CONFIG = pg_config endif ifeq ($(POSTGRES),LSB) PGLIB = /usr/lib PGINC = /usr/include/pgsql else ifeq ($(POSTGRES),PG_CONFIG) PGLIB = $(shell $(PG_CONFIG) --libdir) PGINC = $(shell $(PG_CONFIG) --includedir) else ifneq ($(POSTGRES),SEPARATELY) PGLIB = $(POSTGRES)/lib PGINC = $(POSTGRES)/include endif # otherwise, it is assumed PGINC and PGLIB set on commandline endif endif # # Where is AOLserver source? # AOLSERVER ?= ../aolserver # # Module name # MOD = nspostgres.so # # Objects to build # MODOBJS = nspostgres.o OBJS = $(MODOBJS) # # Header files for this module # HDRS = nspostgres.h # # Libraries required by this module # MODLIBS += -L$(PGLIB) -lpq DLLLIBS += -L$(PGLIB) -lpq # # If PostgreSQL was compiled with OpenSSL support, you'll need to point the # OpenSSL installation. # ifdef OPENSSL MODLIBS += -L$(OPENSSL)/lib -lssl -lcrypto DLLLIBS += -L$(OPENSSL)/lib -lssl -lcrypto endif # # Compiler flags # CFLAGS += -DBIND_EMULATION -I$(PGINC) # # ACS users should set ACS=1 # ifeq ($(ACS),1) CFLAGS += -DFOR_ACS_USE endif include $(AOLSERVER)/include/Makefile.module # # Help the poor developer # help: @echo "**" @echo "** DEVELOPER HELP FOR THIS MODULE" @echo "**" @echo "** make tag VER=X.Y" @echo "** Tags the module CVS code with the given tag." @echo "** You can tag the CVS copy at any time, but follow the rules." @echo "** VER must be of the form:" @echo "** X.Y" @echo "** X.YbetaN" @echo "** You should browse CVS at SF to find the latest tag." @echo "**" @echo "** make file-release VER=X.Y" @echo "** Checks out the code for the given tag from CVS." @echo "** The result will be a releaseable tar.gz file of" @echo "** the form: module-X.Y.tar.gz." @echo "**" # # Tag the code in CVS right now # tag: @if [ "$$VER" = "" ]; then echo 1>&2 "VER must be set to version number!"; exit 1; fi cvs rtag v$(VER_) nspostgres # # Create a distribution file release # file-release: @if [ "$$VER" = "" ]; then echo 1>&2 "VER must be set to version number!"; exit 1; fi rm -rf work mkdir work cd work && cvs -d :pserver:anonymous@cvs.aolserver.sourceforge.net:/cvsroot/aolserver co -r v$(VER_) nspostgres mv work/nspostgres work/nspostgres-$(VER) (cd work && tar cvf - nspostgres-$(VER)) | gzip -9 > nspostgres-$(VER).tar.gz rm -rf work nspostgres.c: check-env .PHONY: check-env check-env: @if [ "$(POSTGRES)" = "" ]; then \ echo "** "; \ echo "** POSTGRES variable not set."; \ echo "** nspostgres.so will not be built."; \ echo "** "; \ echo "** Usage: make POSTGRES=PG_CONFIG"; \ echo "** make POSTGRES=PG_CONFIG PG_CONFIG=/path/to/pg_config"; \ echo "** make POSTGRES=LSB"; \ echo "** make POSTGRES=/path/to/postgresql"; \ echo "** make POSTGRES=SEPARATELY \\"; \ echo " PGLIB=/path/to/libs \\"; \ echo " PGINC=/wheres/the/includes"; \ echo "** "; \ echo "** Usage: make install POSTGRES=PG_CONFIG"; \ echo "** make install POSTGRES=PG_CONFIG PG_CONFIG=/path/to/pg_config"; \ echo "** make install POSTGRES=LSB"; \ echo "** make install POSTGRES=/path/to/postgresql"; \ echo "** make install POSTGRES=SEPARATELY \\"; \ echo " PGLIB=/path/to/libs \\"; \ echo " PGINC=/wheres/the/includes"; \ echo "** "; \ echo "** if this dir is not at root of aolserver source tree,"; \ echo "** then you need to add INST=/path/to/aolserver--prefix"; \ echo "** and that dir must have aolserver installed in it"; \ echo "** "; \ echo "** OpenACS users should also set ACS=1"; \ echo "** "; \ echo "** AOLserver 3.x users should set AS3=1"; \ echo "** "; \ echo "** If PostgreSQL was compiled with SSL support, you also need:"; \ echo "** OPENSSL=/path/to/openssl"; \ echo "** "; \ exit 1; \ fi