# Makefile for Ptolemy/Tcl interpreter
# Version identification:
# @(#)make.template	1.13	11/25/92
# Copyright (c) 1992 The Regents of the University of California.
#                       All Rights Reserved.
# Date of creation: 3/4/92
# Written by: J. Buck
#
# If this file's name is "make.template" and there is no makefile in
# this directory, do
#	cp make.template makefile
#	make depend
# This will add the dependencies to the makefile.

# Root of Ptolemy directory
ROOT=../..
# Path (absolute or relative) to the object directory root
OBJDIR=..
# True source directory
VPATH = $(ROOT)/src/ptcl

# get configuration info
CONFIG=$(ROOT)/config-$(ARCH).mk
include $(CONFIG)

INCL=-I$(KERNDIR) -I$(TCL_H_DIR)

# Include information on all stars and targets.

include $(ROOT)/stars.mk

# libraries
LIBS= $(STAR_LIBS) -lptolemy -ltcl $(SYSLIBS)

LIBFILES=$(STAR_LIBFILES) $(LIBDIR)/libptolemy.a

# first star determines default domain as a rule
ALLSTARS = $(SDFSTARS) $(CGCSTARS) $(CG96STARS) $(CG56STARS) $(CGSTARS) \
	$(DDFSTARS) $(CGDDFSTARS) $(THORSTARS) $(DESTARS)
ALLTARGETS =	$(SDFTARGETS) $(CGTARGETS) $(CGCTARGETS) \
	$(CG56TARGETS) $(CG96TARGETS)

# Sources
SRCS= PTcl.cc ptclMain.cc ptclError.cc

# Header files
HDRS= PTcl.h

# Objects
OBJS= $(SRCS:.cc=.o)

all:	makefile ptcl


ptcl:		$(OBJS) $(LIBFILES) $(ALLSTARS) $(ALLTARGETS)
		rm -f ptcl
		$(LINKER) $(LINKFLAGS) -L$(TCL_LIBDIR) $(OBJS) $(ALLSTARS) \
			$(ALLTARGETS) $(LIBS) -o ptcl

ptcl.debug:	$(OBJS) $(LIBFILES) $(ALLSTARS) $(ALLTARGETS)
		rm -f ptcl.debug
		$(LINKER) $(LINKFLAGS_D) -L$(TCL_LIBDIR) $(OBJS) $(ALLSTARS) \
			$(ALLTARGETS) $(LIBS) -o ptcl.debug



# "make install" puts things in the official place
install:	$(BINDIR)/ptcl

$(BINDIR)/ptcl:	ptcl
		rm -f $(BINDIR)/ptcl
		ln ptcl $(BINDIR)

# extra stuff to delete
REALCLEAN_STUFF=ptcl ptcl.debug


LIB=dummy		# required since no LIB
# include common definitions, rules
include $(ROOT)/common.mk


# Don't add anything after the next line; makedepend will zap it.
# DO NOT DELETE THIS LINE -- make depend depends on it.

PTcl.o : PTcl.cc PTcl.h ../../tcl/include/tcl.h ../../src/kernel/InterpUniverse.h \
  ../../src/kernel/Universe.h ../../src/kernel/Galaxy.h ../../src/kernel/Star.h \
  ../../src/kernel/Block.h ../../src/kernel/NamedObj.h ../../src/kernel/StringList.h \
  ../../src/kernel/miscFuncs.h ../../src/kernel/logNew.h ../../src/kernel/DataStruct.h \
  ../../src/kernel/type.h ../../src/kernel/isa.h ../../src/kernel/PortHole.h ../../src/kernel/dataType.h \
  ../../src/kernel/Particle.h ../../src/kernel/ComplexSubset.h ../../src/kernel/Attribute.h \
  ../../src/kernel/State.h ../../src/kernel/Error.h ../../src/kernel/Target.h \
  ../../src/kernel/InterpGalaxy.h ../../src/kernel/DynamicGalaxy.h ../../src/kernel/KnownBlock.h \
  ../../src/kernel/KnownState.h ../../src/kernel/KnownTarget.h ../../src/kernel/Domain.h \
  ../../src/kernel/Linker.h ../../src/kernel/textAnimate.h ../../src/kernel/SimControl.h \
  ../../src/kernel/ConstIters.h 
ptclMain.o : ptclMain.cc PTcl.h ../../tcl/include/tcl.h ../../src/kernel/Linker.h \
  ../../src/kernel/SimControl.h ../../src/kernel/Error.h ../../src/kernel/StringList.h \
  ../../src/kernel/miscFuncs.h ../../src/kernel/logNew.h ../../src/kernel/DataStruct.h \
  ../../src/kernel/type.h 
ptclError.o : ptclError.cc PTcl.h ../../tcl/include/tcl.h ../../src/kernel/Error.h \
  ../../src/kernel/SimControl.h ../../src/kernel/NamedObj.h ../../src/kernel/StringList.h \
  ../../src/kernel/miscFuncs.h ../../src/kernel/logNew.h ../../src/kernel/DataStruct.h \
  ../../src/kernel/type.h ../../src/kernel/isa.h 
