##
## Makefile
##

# Change the following to suit:

APACHE_BASE=/home/rst
NSV_LIBS=-lgdbm

DB_INCLUDES=-I$(ORACLE_HOME)/rdbms/demo \
	    -I$(ORACLE_HOME)/rdbms/public \
	    -I$(ORACLE_HOME)/network/public \
            -I$(ORACLE_HOME)/plsql/public
DB_LIBS=-L$(ORACLE_HOME)/lib -lcore8 -lcommon8 -lgeneric8 -lclient8 -lclntsh
DB_DRIVER=ora8.c
DB_DRIVER_NAME='-DDB_DRIVER_NAME="ora8"'

# DB_INCLUDES=-I/usr/include/pgsql
# DB_LIBS=-lpq
# DB_DRIVER=postgres.c
# DB_DRIVER_NAME='-DDB_DRIVER_NAME="postgres"'

CC=gcc
OPTIM=-g -Wall
TCL_LIBS=-ltcl8.0 -lm

# The following are useful if you've compiled your own tcl, etc.,
# in a nonstandard location:

# OTHER_INCLUDES=
# OTHER_LIBS=

OTHER_INCLUDES=-I/home/rst/include
OTHER_LIBS=-L/home/rst/lib

#
# It's not *supposed* to require any further changes below
# this line:
#
################################################################

INCLUDES=-I. $(OTHER_INCLUDES) $(DB_INCLUDES) -I$(APACHE_BASE)/include 
CFLAGS=$(OPTIM) $(INCLUDES) $(DB_DRIVER_NAME)
APXS=$(APACHE_BASE)/bin/apxs
TCL_SUPPORT_DIR=$(APACHE_BASE)/tcl_modules
AP_BOOT_DIR=$(APACHE_BASE)/libexec
TCL_SHLIB_SUFFIX=.so

HEADERS=adp.h conn.h dstring.h mod_aolserver.h modlog.h ns_set.h nsd.h \
      str.h tls.h config.h db.h nsv.h ns.h config.h ns_basics.h assert.h
AOLSERVER_SRCFILES=mod_aolserver.c ns_set.c tclset.c dstring.c tls.c \
      modlog.c conn.c misc.c adp.c adpfancy.c str.c tclcmds.c tclmisc.c \
      crypt.c htuu.c tclfile.c tclsock.c sock.c urlencode.c dbinit.c \
      dbdrv.c dbutil.c dbtcl.c config.c nsv.c quotehtml.c random.c
BOOTSTRAP_FILES=aol_bootstrap.tcl 
DB_DRIVERS=postgres.c ora8.c
TCL_SUPPORT_FILES=tcl_modules/README tcl_modules/form.tcl \
      tcl_modules/http.tcl tcl_modules/nsd.ini.sample tcl_modules/nsdb.tcl \
      tcl_modules/sendmail.tcl tcl_modules/util.tcl
MISCFILES=Makefile TODO CAVEATS README

ACTIVE_SRCFILES=$(AOLSERVER_SRCFILES) $(DB_DRIVER)
ALL_SRCFILES=$(AOLSERVER_SRCFILES) $(DB_DRIVERS)
DISTFILES=$(MISCFILES) $(ALL_SRCFILES) $(BOOTSTRAP_FILES) $(HEADERS) \
      $(TCL_SUPPORT_FILES)

AOLSERVER_OBJFILES=$(ACTIVE_SRCFILES:.c=.o)

BUILDMODULE=${APXS} -c ${OTHER_LIBS} ${TCL_LIBS} ${DB_LIBS} ${NSV_LIBS}

INSERTMODULE=${APXS} -i -a

all: mod_aolserver install

mod_aolserver.tgz: $(DISTFILES)
	tar cvzf mod_aolserver.tgz $(DISTFILES)

install: install-mod_aolserver install-bootstrap install-tcl

mod_aolserver : $(AOLSERVER_OBJFILES)
	@${BUILDMODULE} $(AOLSERVER_OBJFILES)

install-mod_aolserver: mod_aolserver${TCL_SHLIB_SUFFIX}
	@${INSERTMODULE} mod_aolserver${TCL_SHLIB_SUFFIX}

install-bootstrap: $(BOOTSTRAP_FILES)
	cp $(BOOTSTRAP_FILES) $(AP_BOOT_DIR)

install-tcl: $(TCL_SUPPORT_FILES)
	if [ ! -d $(TCL_SUPPORT_DIR) ]; then mkdir $(TCL_SUPPORT_DIR); fi
	cp $(TCL_SUPPORT_FILES) $(TCL_SUPPORT_DIR)

clean:
	rm -f *.o *.so

