# tclvogle makefile

##
TOP=/usr/local
LIB=$(TOP)/lib

##
#RANLIB=echo
RANLIB=ranlib

T_LIBS=-ltk -ltcl
X_LIBS=-lX11
M_LIBS=-lm
U_LIBS=-lvogle
TK_DIR=../tk1.4
TCL_DIR=$(TK_DIR)/tcl
X_CFLAGS=-I$(OPENWINHOME)/include
X_LFLAGS=-L$(OPENWINHOME)/lib
VOGLE=/usr/local/src/graphics/vogle/src
T_CFLAGS=-I. -I$(TCL_DIR) -I$(TK_DIR) -I../$(TK_DIR)/lib -I$(VOGLE) -DVOGLE=1
T_LFLAGS=-L$(TK_DIR) -L$(TK_DIR)/lib -L$(TCL_DIR) -L$(VOGLE)

## add your own cflags here..
U_CFLAGS=

#D_CFLAGS=
D_CFLAGS=-DMALLOC_DEBUG -g

## debug libraries
#D_LIBS=
D_LIBS=/usr/lib/debug/malloc.o

CFLAGS=$(SYSCFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(D_CFLAGS) $(U_CFLAGS)
LDFLAGS=$(SYSLFLAGS) $(T_LFLAGS) $(X_LFLAGS)

GENERATED_OBJS=\
 IvogleCmds.o \
 ImathCmds.o \
 IstringCmds.o \
 IbuilderCmds.o
GENERATED_SRCS=\
 IvogleCmds.c vogleCmds.h \
 ImathCmds.c mathCmds.h \
 IstringCmds.c stringCmds.h \
 IbuilderCmds.c builderCmds.h

VOBJS=TG.o
EXT_OBJS=cmdsUtil.o mathCmds.o stringCmds.o builderCmds.o
OBJS=$(GENERATED_OBJS) tkGraphic.o tclVogle.o sigHandling.o $(VOBJS) $(EXT_OBJS)

LIBS=$(U_LIBS) $(T_LIBS) $(X_LIBS) $(M_LIBS) $(D_LIBS)

TCLVOGLE=libtclvogle.a
VOGLELIB=$(VOGLE)/libvogle.a

all: $(TCLVOGLE)

$(TCLVOGLE): $(OBJS)
	rm -f $(TCLVOGLE)
	ar cr $(TCLVOGLE) $(OBJS)
	$(RANLIB) $(TCLVOGLE)

tkcore:
	cd $(TK_DIR); make libtk.a

vogleCmds.h IvogleCmds.c: vogle.cmds
	build_cmds -p vogleCmds< vogle.cmds 

mathCmds.h ImathCmds.c: math.cmds
	build_cmds -p mathCmds< math.cmds 

stringCmds.h IstringCmds.c: string.cmds
	build_cmds -p stringCmds< string.cmds 

builderCmds.h IbuilderCmds.c: builder.cmds
	build_cmds -p builderCmds< builder.cmds

package:
	cd ../g; make package
	cd docs; make package
	cd ../graphics/vogle; make clean
	make clean
	cd ..; tar cvf - tclvogle graphics/vogle | compress >tclvogle.tar.Z

clean:
	rm -f libtclvogle.a *.o core 
	rm -f g $(GENERATED_SRCS) .nse_depinfo .make.state
