# Generated automatically from Makefile.in by configure.
# version info in Makefile and C format
include ./version.h

# This sets the name that tkTable will define for itself when loaded
# If you change this, then the demos won't work, but it might be necessary
# for those with another built-in "table" command
TBL_COMMAND	= table
TBL_RUNTIME	= tkTable.tcl

SRCDIR		= .
TOPDIR		= ./..
LIBDIR		= $(TOPDIR)/lib
DOCDIR		= $(TOPDIR)/doc

PACKAGE		= Tktable
OBJS		= tkTable.o tkTableWin.o tkTableTag.o tkTableEdit.o \
		  tkTableCell.o tkTableCmds.o cmd.o mm.o
#OBJS		+= tkTablePs.o
MANS		= tkTable.n

#-------------------------------------------------
prefix		= /opt/tcl803
exec_prefix	= /opt/tcl803

TCL_VERSION	= 8.0
TK_VERSION	= 8.0
WISH		= wish$(TK_VERSION)

TCL_SRC_DIR 	= /dsk/data/de/src/tcl8.0.3
TK_SRC_DIR 	= /dsk/data/de/src/tk8.0.3

TCL_BUILD_LIB_SPEC	= -L/dsk/data/de/src/tcl8.0.3/unix -ltcl8.0${TCL_DBGX}
TK_BUILD_LIB_SPEC	= -L/dsk/data/de/src/tk8.0.3/unix -ltk8.0${TK_DBGX}

TCL_LIB_SPEC	= -L/opt/tcl803/lib -ltcl8.0${TCL_DBGX}
TK_LIB_SPEC	= -L/opt/tcl803/lib -ltk8.0${TK_DBGX}

TCL_LIBS	= -ldl  -lsocket -lnsl -lm
TK_LIBS		= -L/opt/X11R6.3/lib -lX11 -ldl  -lsocket -lnsl -lm

# NO_EMBEDDED_RUNTIME means that the tkTable.tcl file will not be embedded
# into the executable, thus the default tkTable.tcl library file will not
# be available when the library is loaded.
# If this is defined, the tkTable.tcl file must be available in a
# predefined set of directories (see docs).
TBL_CFLAGS	= -O
#TBL_CFLAGS	+= -DPROCS
#TBL_CFLAGS	+= -DNO_EMBEDDED_RUNTIME
#TBL_CFLAGS	+= -DDEBUG -g -Wall -Wno-implicit -Wshadow \
		   -Wpointer-arith -Wmissing-prototypes \
		   -Wmissing-declarations -Wnested-externs -Winline

INSTALL		= /opt/bin/installbsd -c
INSTALL_PROGRAM	= ${INSTALL}
INSTALL_DATA	= ${INSTALL} -m 644
CC		= gcc
RM		= rm -f
RANLIB		= :
SHLIB_CFLAGS	= -fPIC
SHLIB_SUFFIX	= .so
SHLIB_LD	= /usr/ccs/bin/ld -G -z text
TCL_PREFIX	= /opt/tcl803
## HP cc sometimes requires -Aa for proper ansi compilation
TCL_CFLAGS	= $(TBL_CFLAGS)  -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_UNISTD_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TZNAME=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1 -DNEED_MATHERR=1 -DRETSIGTYPE=void -DHAVE_SIGNED_CHAR=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_FILIO_H=1  -O
TCL_LD_FLAGS	= 
TK_LD_SEARCH_FLAGS = -R ${LIB_RUNTIME_DIR}:/opt/X11R6.3/lib
TK_XINCLUDES	= -I/opt/X11R6.3/include

LIB_RUNTIME_DIR = ${exec_prefix}/lib

INCLUDES	= -I${prefix}/include $(TK_XINCLUDES)\
		  -I$(TCL_SRC_DIR)/generic\
		  -I$(TK_SRC_DIR)/generic

DLL		= $(PACKAGE)$(SHLIB_SUFFIX)
STATIC_LIB	= $(PACKAGE).a
PACKAGEDIR	= $(PACKAGE)$(TBL_VERSION)
STATIC_EXEC	= tablewish
DLLDIR		= ${exec_prefix}/lib/$(PACKAGEDIR)
RUNDIR		= ${prefix}/lib/$(PACKAGEDIR)

CFLAGS		= -I. -I$(SRCDIR) $(TCL_CFLAGS) $(SHLIB_CFLAGS) $(INCLUDES)\
		  -DTBL_VERSION=\"$(TBL_VERSION)\"\
		  -DTBL_COMMAND=\"$(TBL_COMMAND)\"\
		  -DTBL_RUNTIME=\"$(TBL_RUNTIME)\"\
		  -DTBL_RUNTIME_DIR=\"$(RUNDIR)\"

MAN_INSTALL_DIR = ${prefix}/man/mann

#COMPRESS	= tar cvf $(PACKAGEDIR).tar $(PACKAGEDIR); compress $(PACKAGEDIR).tar
COMPRESS	= gtar zcvf $(PACKAGEDIR).tar.gz $(PACKAGEDIR)

all: $(DLL) pkgIndex.tcl

$(DLL): $(OBJS)
	$(SHLIB_LD) -o $@ $(OBJS)

static $(STATIC_LIB): $(OBJS) pkgIndex.tcl
	$(RM) $(STATIC_LIB)
	ar cr $(STATIC_LIB) $(OBJS)
	$(RANLIB) $(STATIC_LIB)

tkTable.o:	$(SRCDIR)/tkTable.h $(SRCDIR)/tkTable.c \
		$(SRCDIR)/tkTableInitScript.h tkTable.tcl.h
tkTableCmds.o:	$(SRCDIR)/tkTable.h $(SRCDIR)/tkTableCmds.c
tkTableCell.o:	$(SRCDIR)/tkTable.h $(SRCDIR)/tkTableCell.c
tkTablePs.o:	$(SRCDIR)/tkTable.h $(SRCDIR)/tkTablePs.c
tkTableTag.o:	$(SRCDIR)/tkTable.h $(SRCDIR)/tkTableTag.c
tkTableWin.o:	$(SRCDIR)/tkTable.h $(SRCDIR)/tkTableWin.c

.c.o:
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $(SRCDIR)/$*.c

pkgIndex.tcl:
	(\
	echo 'if {[catch {package require Tcl $(TCL_VERSION)}]} return';\
	echo 'package ifneeded $(PACKAGE) $(TBL_VERSION)\
	    "package require Tk $(TK_VERSION);\
	     [list load [file join $$dir $(DLL).$(TBL_VERSION)] $(PACKAGE)]"'\
	) > pkgIndex.tcl

install: all
	if test ! -d "$(DLLDIR)"; then mkdir "$(DLLDIR)"; fi
	if test ! -d "$(RUNDIR)"; then mkdir "$(RUNDIR)"; fi
	$(INSTALL_PROGRAM) $(DLL) "$(DLLDIR)/$(DLL).$(TBL_VERSION)"
	$(INSTALL_DATA) pkgIndex.tcl "$(DLLDIR)/pkgIndex.tcl"
	$(INSTALL_DATA) $(LIBDIR)/tkTable.tcl "$(RUNDIR)/tkTable.tcl"
	$(INSTALL_DATA) $(DOCDIR)/$(MANS) $(MAN_INSTALL_DIR)/

# Leaves behind created directories
uninstall:
	$(RM) "$(DLLDIR)/$(DLL).$(TBL_VERSION)" "$(DLLDIR)/pkgIndex.tcl" "$(RUNDIR)/tkTable.tcl" $(MAN_INSTALL_DIR)/$(MANS)

test: all
	$(WISH) $(TOPDIR)/demos/basic.tcl

clean: 
	$(RM) $(OBJS) $(DLL) $(STATIC_LIB) $(STATIC_EXEC) core pkgIndex.tcl tkTable.tcl.h

distclean: clean
	$(RM) Makefile config.cache config.log config.status

tkTable.tcl.h: $(LIBDIR)/tkTable.tcl
	sed -e '/^$\#/d' -e '/^$$/d' -e 's/\"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' <$(LIBDIR)/tkTable.tcl > $@ || { $(RM) $@; exit 1; }

tablewish: tkAppInit.o $(OBJS)
wish: tkAppInit.o $(OBJS)
	$(CC) $(TK_LD_SEARCH_FLAGS) -o $(STATIC_EXEC) tkAppInit.o $(OBJS) \
	  $(LIBS) $(TK_BUILD_LIB_SPEC) $(TK_LIB_SPEC) $(TCL_BUILD_LIB_SPEC) $(TCL_LIB_SPEC) $(TK_LIBS) $(TCL_LIBS)

distrib-clean:
	rm -rf ../../$(PACKAGEDIR) ../../$(PACKAGEDIR).tar.*

distrib:
	$(RM) $(DOCDIR)/tkTable.html
	nroff -man $(DOCDIR)/tkTable.n | rman -f HTML > $(DOCDIR)/tkTable.html
	(cd ../..; \
	cp -r tkTable $(PACKAGEDIR); \
	cd $(PACKAGEDIR)/src; \
	make distclean >&1 > /dev/null; \
	cd ../..; $(COMPRESS); \
	)
