# Makefile for		: NetFEM tcl/tk
# Module Author		: Orion Lawlor
# Makefile Date		: 11/2003
# Updated from VTK 3.2 to 4.2.2 5 Aug 2005 by TLW

XHOME=/usr/X11R6
CHARMDIR=$(HOME)/src/charm
CHARMINC=-I$(CHARMDIR)/include
CHARMLIB=-L$(CHARMDIR)/lib -lconv-util
TKVER=8.4

#TKLIB= -L/usr/lib/tk$(TKVER) -ltk$(TKVER) -ltcl$(TKVER)
TKLIB= -L/usr/lib -ltk$(TKVER) -ltcl$(TKVER)
VTK_LIB=/usr/local/lib
VTK_INC=-I/usr/local/include/vtk-5.1 -I/expand8/home/idooley2/src/VTK-CVS/Rendering #currently vtk install is missing some headers.
VTKINC= $(VTK_INC) -DUSE_X=0

VTKLIB= -L$(VTK_LIB) -lvtkFiltering -lvtkFilteringTCL -lvtkGraphicsTCL \
	-lvtkGraphics -lvtkImagingTCL -lvtkImaging -lvtkCommonTCL -lvtkCommon \
	-lvtkftgl -lvtkfreetype -lvtkpng -lvtktiff -lvtkRendering \
	-lvtkRenderingTCL -lvtkIO -lvtkIOTCL -lvtkzlib -lvtkjpeg -lvtkexpat \
	-lpthread -lvtksys -lvtkDICOMParser -lvtkMPEG2Encode
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 $(VTKINC) $(CHARMINC) -I. $(OPTS) -g
CCCFLAGS = $(CFLAGS) -Wno-deprecated -Wno-long-double -g

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

# this nasty hack is to make sure the linked files exist before attempting to
# satisfy DEST's dependencies
all: 
	rm -f ccs-client.c ckstandalone.cpp
	ln -s $(CHARMDIR)/include/ccs-client.c ccs-client.c
	ln -s $(CHARMDIR)/tmp/ckstandalone.C ckstandalone.cpp
	make $(DEST)

$(DEST): $(OBJS)
	$(CCC) $(CCCFLAGS) $(LFLAGS) $(OBJS) $(LIBS) -o $(DEST)
	cp $(DEST) ../bin

clean:
	rm -f escape tk_init.h $(DEST) *.o *~ ccs-client.c  ckstandalone.cpp 

tkAppInit.o: tk_init.h

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

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

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

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

