#
# $Id: Makefile,v 1.0 1995/01/05 11:13:05 hs Rel $
#
# Makefile for msqltcl.
#
# Hakan Soderstrom, hs@soderstrom.se
#
############################################################################ 
# 
# Copyright (c) 1994, 1995 Hakan Soderstrom and Tom Poindexter
# 
# Permission to use, copy, modify, distribute, and sell this software
# and its documentation for any purpose is hereby granted without fee,
# provided that the above copyright notice and this permission notice
# appear in all copies of the software and related documentation.
# 
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL HAKAN SODERSTROM OR SODERSTROM PROGRAMVARUVERKSTAD
# AB BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL
# DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
# OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY
# OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
############################################################################ 

#===== CONFIGURATION DEFINITIONS === EDIT TO SUIT YOUR SYSTEM =====

#----- C compiler and options
CC = gcc
OPTIM = -g

#----- Tcl/Tk libraries & such
# Path for Tcl include files.
TCLINCL = -I/usr/local/include
# Path for Tk include files, if different from the above.
TKINCL =
# Libraries required to link plain Tcl.
TCLLIBS = -L/usr/local/lib -ltcl -lm
# Libraries required to link plain Tk.
TKLIBS = -L/usr/local/lib -ltcl -ltk -lX11 -lm

#----- What are the 'AppInit' files (base names)?
TCLAPPINIT = tclAppInit
TKAPPINIT =  tkAppInit

#----- Definitions for tclX/tkX, if used
# Path for TclX/TkX include files, if different from plain Tcl.
TCLXINCL =
# Extra libraries required to link TclX.
TCLXLIBS = -L/usr/local/lib -ltclx
# Extra libraries required to link TkX.
TKXLIBS = -L/usr/local/lib -ltkx -ltclx
# TclX/TkX 'AppInit' files (base names).
TCLXAPPINIT = tclXAppInit
TKXAPPINIT = tkXAppInit

#----- mSQL libraries & such
# Path for mSQL include files.
MSQLINCL = -I/usr/local2/src/Minerva/include
# Libraries required to link an mSQL application.
MSQLLIB = -L/usr/local2/src/Minerva/lib -lmsql

#===== END OF CONFIGURATION DEFINITIONS =====

INCL = -I. ${MSQLINCL} ${TCLINCL} ${TKINCL}
CFLAGS = ${OPTIM} -c
LDFLAGS = ${OPTIM}
PROGS = msqltcl msqlwish
TCLLINK = ${MSQLLIB} ${TCLLIBS}
TKLINK = ${MSQLLIB} ${TKLIBS}

#===== TARGETS =====

all :
	@echo '*** Only 'make w/tcl' or 'make w/tclX' make sense.'
	exit 1

w/tcl : ${PROGS}

w/tclX :
	${MAKE} -f Makefile ${PROGS} \
	INCL='-I. ${MSQLINCL} ${TCLXINCL} ${TCLINCL} ${TKINCL}' \
	TCLLINK='${MSQLLIB} ${TCLXLIBS} ${TCLLIBS}' \
	TKLINK='${MSQLLIB} ${TKXLIBS} ${TKLIBS}' \
	TCLAPPINIT='${TCLXAPPINIT}' TKAPPINIT='${TKXAPPINIT}'

msqltcl : ${TCLAPPINIT}.o msqltcl.o
	${CC} ${LDFLAGS} -o msqltcl ${TCLAPPINIT}.o msqltcl.o ${TCLLINK}

msqlwish : ${TKAPPINIT}.o msqltcl.o
	${CC} ${LDFLAGS} -o msqlwish ${TKAPPINIT}.o msqltcl.o ${TKLINK}

${TCLAPPINIT}.o : ${TCLAPPINIT}.c
	${CC} ${CFLAGS} ${TCLINCL} ${TCLAPPINIT}.c -o ${TCLAPPINIT}.o

${TKAPPINIT}.o : ${TKAPPINIT}.c
	${CC} ${CFLAGS} ${TCLINCL} ${TKINCL} ${TKAPPINIT}.c -o ${TKAPPINIT}.o

msqltcl.o : msqltcl.c
	${CC} ${CFLAGS} ${INCL} msqltcl.c
