# Makefile for		: NetFEM tcl/tk
# Module Author		: Orion Lawlor
# Makefile Date		: 11/2003

CHARMDIR=../../../../..

VTKHOME=$(HOME)/inst/vtk/vtk3.2

XHOME=/usr/X11R6

TK_DIR=/usr
TK_VER=8.3

CHARMINC=-I$(CHARMDIR)/include
CHARMLIB=-L$(CHARMDIR)/lib -lconv-util

VTK_OBJ=$(VTKHOME)
VTKINC= -DUSE_X=1 \
	-I$(VTKHOME)/common -I$(VTKHOME)/contrib -I$(VTKHOME)/graphics -I$(VTKHOME)/imaging
VTKLIB= \
	-L${VTK_OBJ}/graphics -lVTKGraphicsTcl -lVTKGraphics \
	-L${VTK_OBJ}/imaging -lVTKImagingTcl -lVTKImaging \
	-L${VTK_OBJ}/common -lVTKCommonTcl -lVTKCommon \
	-lpthread

TKLIB= -L$(TK_DIR)/lib -ltk$(TK_VER) -ltcl$(TK_VER)

GLLIB=-lGL
XLIB= -L$(XHOME)/lib  -lX11 -lXt

SYSLIB= -ldl -lm
LIBS= $(VTKLIB) $(TKLIB) $(GLLIB) $(XLIB) $(CHARMLIB) $(SYSLIB)

LFLAGS=
CCC = g++
CFLAGS = -I$(XHOME)/include -I$(TK_DIR)/include \
	$(VTKINC) $(CHARMINC) -I. $(OPTS)
CCCFLAGS = $(CFLAGS)

HEADERS=mytk.h tk_init.h netfem_data.h
OBJS = tkAppInit.o tkApp.o netfem_data.o chunk.o ccs-client.o ckstandalone.o
DEST=netfem

all: $(DEST)

$(DEST): $(OBJS)
	$(CCC) $(CCCFLAGS) $(LFLAGS) $(OBJS) $(LIBS) -o $(DEST)

clean:
	-rm escape tk_init.h $(DEST) *.o *~

tkAppInit.o: $(HEADERS)

tk_init.h: tk_init.tcl escape
	echo '/*Automatically generated from tk_init.tcl:*/' > tk_init.h
	cat tk_init.tcl | ./escape >> tk_init.h

ckstandalone.cpp:
	ln -s $(CHARMDIR)/tmp/ckstandalone.C $@

ccs-client.c:
	ln -s $(CHARMDIR)/tmp/ccs-client.c $@

netfem_data.h:
	ln -s $(CHARMDIR)/tmp/libs/ck-libs/netfem/netfem_data.h $@

netfem_data.cpp:
	ln -s $(CHARMDIR)/tmp/libs/ck-libs/netfem/netfem_data.C $@

escape: escape.c
	$(CC) escape.c -o escape

.cpp.o:
	$(CCC) $(CCCFLAGS) -c $<

.c.o:
	$(CC) $(CCCFLAGS) -c $<

