# Makefile for Ptolemy library and main module for interpreter
# Version identification:
# @(#)make.template	2.42	12/7/92
# Copyright (c) 1990 The Regents of the University of California.
#                       All Rights Reserved.
# Date of creation: 3/19/90
#
# 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=../..
# Where we are
VPATH = ../../src/kernel
# get configuration info
CONFIG=$(ROOT)/config-$(ARCH).mk
include $(CONFIG)

# Library name
LIB=libptolemy.a

# No extra directories to include
INCL =

# Library sources.  CCS_WITH_H_FILES includes all .cc files with a
# corresponding .h file with the same root.

CCS_WITH_H_FILES=\
 AutoFork.cc \
 AutoForkNode.cc \
 Block.cc \
 Clock.cc \
 ComplexArrayState.cc \
 ComplexState.cc \
 ComplexSubset.cc \
 PortHole.cc \
 DataStruct.cc \
 Display.cc \
 DoubleLink.cc \
 Domain.cc \
 DynamicGalaxy.cc \
 Error.cc \
 EventHorizon.cc \
 FixSample.cc \
 FixState.cc \
 FixArrayState.cc \
 FloatArrayState.cc \
 FloatState.cc \
 FloatVecData.cc \
 Fraction.cc \
 GalIter.cc \
 Galaxy.cc \
 Geodesic.cc \
 Histogram.cc \
 IntArrayState.cc \
 IntState.cc \
 IntVecData.cc \
 InterpGalaxy.cc \
 InterpUniverse.cc \
 IntervalList.cc \
 KnownBlock.cc \
 KnownState.cc \
 KnownTarget.cc \
 Linker.cc \
 Message.cc \
 NamedObj.cc \
 Particle.cc \
 ParticleQueue.cc \
 PriorityQueue.cc \
 Scheduler.cc \
 SimControl.cc \
 Star.cc \
 State.cc \
 StringArrayState.cc \
 StringList.cc \
 StringState.cc \
 Target.cc \
 TimeVal.cc \
 Tokenizer.cc \
 Universe.cc \
 Wormhole.cc \
 logNew.cc \
 miscFuncs.cc \
 paths.cc \
 pt_fstream.cc \
 textAnimate.cc

# The complete list of .cc files used in the library
SRCS=$(CCS_WITH_H_FILES) \
 checkConnect.cc \
 expandPath.cc \
 RanGen.cc \
 hashstring.cc

# Header files.  When adding a new header, add it here only if there is
# no corresponding .cc file; otherwise add the .cc file to CCS_WITH_H_FILES.

HDRS= $(CCS_WITH_H_FILES:.cc=.h) \
 Attribute.h \
 CircularBuffer.h \
 CompiledUniverse.h \
 ConstIters.h \
 Linker.sysdep.h \
 ParticleStack.h \
 Plasma.h \
 SimAction.h \
 dataType.h \
 isa.h \
 streamCompat.h \
 type.h

# Library objects
OBJS=$(SRCS:.cc=.o)

all:	makefile $(LIB)

# "make install" puts things in the official place
install:	makefile $(LIBDIR)/$(LIB)

EXTRA_SRCS=XDomain.ccP ArrayState.ccP ArrayState.hP ScalarState.ccP ScalarState.hP

# Commands to make some sources from templates

FloatState.h:	ScalarState.hP
	cd $(VPATH); genclass -2 Float val double val ScalarState;\
	sed 's/"Float"/"FLOAT"/' Float.double.ScalarState.h > FloatState.h
	rm Float.double.ScalarState.*

FloatState.cc:	ScalarState.ccP
	cd $(VPATH); genclass -2 Float val double val ScalarState;\
	sed 's/"Float"/"FLOAT"/' Float.double.ScalarState.cc > FloatState.cc
	rm Float.double.ScalarState.*

IntState.h:	ScalarState.hP
	cd $(VPATH); genclass -2 Int val int val ScalarState;\
	sed 's/"Int"/"INT"/' Int.int.ScalarState.h > IntState.h
	rm Int.int.ScalarState.*

IntState.cc:	ScalarState.ccP
	cd $(VPATH); genclass -2 Int val int val ScalarState;\
	sed 's/"Int"/"INT"/' Int.int.ScalarState.cc > IntState.cc;\
	rm Int.int.ScalarState.*


FloatArrayState.h FloatArrayState.cc : ArrayState.hP ArrayState.ccP
	cd $(VPATH); genclass -2 Float val double val ArrayState; \
	mv Float.double.ArrayState.h FloatArrayState.h; \
	sed 's/"FloatARRAY/"FLOATARRAY/' \
		Float.double.ArrayState.cc > FloatArrayState.cc; \
	rm Float.double.ArrayState.cc

IntArrayState.h IntArrayState.cc : ArrayState.hP ArrayState.ccP
	cd $(VPATH); genclass -2 Int val int val ArrayState; \
	mv Int.int.ArrayState.h IntArrayState.h; \
	sed 's/"IntARRAY/"INTARRAY/' Int.int.ArrayState.cc > IntArrayState.cc; \
	rm Int.int.ArrayState.cc

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.

AutoFork.o : AutoFork.cc AutoFork.h Geodesic.h NamedObj.h StringList.h miscFuncs.h \
  logNew.h DataStruct.h type.h isa.h ParticleStack.h Particle.h dataType.h ComplexSubset.h \
  PortHole.h Attribute.h Error.h KnownBlock.h Block.h State.h Galaxy.h Star.h 
AutoForkNode.o : AutoForkNode.cc AutoForkNode.h Geodesic.h NamedObj.h StringList.h \
  miscFuncs.h logNew.h DataStruct.h type.h isa.h ParticleStack.h Particle.h dataType.h \
  ComplexSubset.h AutoFork.h 
Block.o : Block.cc Block.h NamedObj.h StringList.h miscFuncs.h logNew.h DataStruct.h \
  type.h isa.h PortHole.h dataType.h Particle.h ComplexSubset.h Attribute.h State.h \
  Error.h ConstIters.h Galaxy.h Star.h SimControl.h 
Clock.o : Clock.cc Clock.h TimeVal.h 
ComplexArrayState.o : ComplexArrayState.cc ComplexArrayState.h State.h DataStruct.h \
  type.h logNew.h StringList.h miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h \
  Attribute.h Tokenizer.h KnownState.h Block.h PortHole.h dataType.h Particle.h 
ComplexState.o : ComplexState.cc ComplexState.h State.h DataStruct.h type.h \
  logNew.h StringList.h miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h Attribute.h \
  KnownState.h Block.h PortHole.h dataType.h Particle.h Tokenizer.h 
ComplexSubset.o : ComplexSubset.cc ComplexSubset.h 
PortHole.o : PortHole.cc PortHole.h NamedObj.h StringList.h miscFuncs.h logNew.h \
  DataStruct.h type.h isa.h dataType.h Particle.h ComplexSubset.h Attribute.h \
  CircularBuffer.h Block.h State.h Error.h Geodesic.h ParticleStack.h Plasma.h \
  GalIter.h Galaxy.h Star.h EventHorizon.h 
DataStruct.o : DataStruct.cc DataStruct.h type.h logNew.h 
Display.o : Display.cc Display.h type.h logNew.h miscFuncs.h Error.h StringList.h \
  DataStruct.h Block.h NamedObj.h isa.h PortHole.h dataType.h Particle.h ComplexSubset.h \
  Attribute.h State.h streamCompat.h paths.h SimControl.h 
DoubleLink.o : DoubleLink.cc DoubleLink.h type.h logNew.h 
Domain.o : Domain.cc Domain.h StringList.h miscFuncs.h logNew.h DataStruct.h \
  type.h Star.h Block.h NamedObj.h isa.h PortHole.h dataType.h Particle.h ComplexSubset.h \
  Attribute.h State.h Error.h Galaxy.h Scheduler.h SimControl.h EventHorizon.h 
DynamicGalaxy.o : DynamicGalaxy.cc DynamicGalaxy.h Galaxy.h Star.h Block.h NamedObj.h \
  StringList.h miscFuncs.h logNew.h DataStruct.h type.h isa.h PortHole.h dataType.h \
  Particle.h ComplexSubset.h Attribute.h State.h Error.h 
Error.o : Error.cc Error.h Scheduler.h StringList.h miscFuncs.h logNew.h DataStruct.h \
  type.h SimControl.h NamedObj.h isa.h 
EventHorizon.o : EventHorizon.cc EventHorizon.h NamedObj.h StringList.h miscFuncs.h \
  logNew.h DataStruct.h type.h isa.h PortHole.h dataType.h Particle.h ComplexSubset.h \
  Attribute.h Star.h Block.h State.h Error.h Wormhole.h Universe.h Galaxy.h Target.h \
  Plasma.h ParticleStack.h CircularBuffer.h Domain.h Scheduler.h SimControl.h 
FixSample.o : FixSample.cc FixSample.h Particle.h StringList.h miscFuncs.h logNew.h \
  DataStruct.h type.h dataType.h ComplexSubset.h Plasma.h ParticleStack.h 
FixState.o : FixState.cc FixState.h FloatState.h State.h DataStruct.h type.h \
  logNew.h StringList.h miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h Attribute.h \
  KnownState.h Block.h PortHole.h dataType.h Particle.h 
FixArrayState.o : FixArrayState.cc FixArrayState.h FloatArrayState.h State.h \
  DataStruct.h type.h logNew.h StringList.h miscFuncs.h Error.h NamedObj.h isa.h \
  ComplexSubset.h Attribute.h KnownState.h Block.h PortHole.h dataType.h Particle.h 
FloatArrayState.o : FloatArrayState.cc FloatArrayState.h State.h DataStruct.h \
  type.h logNew.h StringList.h miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h \
  Attribute.h Tokenizer.h KnownState.h Block.h PortHole.h dataType.h Particle.h 
FloatState.o : FloatState.cc FloatState.h State.h DataStruct.h type.h logNew.h \
  StringList.h miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h Attribute.h \
  Tokenizer.h KnownState.h Block.h PortHole.h dataType.h Particle.h 
FloatVecData.o : FloatVecData.cc FloatVecData.h Message.h Particle.h StringList.h \
  miscFuncs.h logNew.h DataStruct.h type.h dataType.h ComplexSubset.h isa.h 
Fraction.o : Fraction.cc Fraction.h 
GalIter.o : GalIter.cc GalIter.h Galaxy.h Star.h Block.h NamedObj.h StringList.h \
  miscFuncs.h logNew.h DataStruct.h type.h isa.h PortHole.h dataType.h Particle.h \
  ComplexSubset.h Attribute.h State.h Error.h 
Galaxy.o : Galaxy.cc Star.h Block.h NamedObj.h StringList.h miscFuncs.h logNew.h \
  DataStruct.h type.h isa.h PortHole.h dataType.h Particle.h ComplexSubset.h Attribute.h \
  State.h Error.h Galaxy.h Scheduler.h SimControl.h ConstIters.h 
Geodesic.o : Geodesic.cc Geodesic.h NamedObj.h StringList.h miscFuncs.h logNew.h \
  DataStruct.h type.h isa.h ParticleStack.h Particle.h dataType.h ComplexSubset.h \
  Block.h PortHole.h Attribute.h State.h Error.h Plasma.h 
Histogram.o : Histogram.cc Histogram.h logNew.h Display.h type.h miscFuncs.h 
IntArrayState.o : IntArrayState.cc IntArrayState.h State.h DataStruct.h type.h \
  logNew.h StringList.h miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h Attribute.h \
  Tokenizer.h KnownState.h Block.h PortHole.h dataType.h Particle.h 
IntState.o : IntState.cc IntState.h State.h DataStruct.h type.h logNew.h StringList.h \
  miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h Attribute.h Tokenizer.h \
  KnownState.h Block.h PortHole.h dataType.h Particle.h 
IntVecData.o : IntVecData.cc IntVecData.h Message.h Particle.h StringList.h \
  miscFuncs.h logNew.h DataStruct.h type.h dataType.h ComplexSubset.h isa.h 
InterpGalaxy.o : InterpGalaxy.cc InterpGalaxy.h DynamicGalaxy.h Galaxy.h Star.h \
  Block.h NamedObj.h StringList.h miscFuncs.h logNew.h DataStruct.h type.h isa.h \
  PortHole.h dataType.h Particle.h ComplexSubset.h Attribute.h State.h Error.h \
  KnownBlock.h KnownState.h Geodesic.h ParticleStack.h Domain.h Plasma.h IntState.h 
InterpUniverse.o : InterpUniverse.cc InterpUniverse.h Universe.h Galaxy.h Star.h \
  Block.h NamedObj.h StringList.h miscFuncs.h logNew.h DataStruct.h type.h isa.h \
  PortHole.h dataType.h Particle.h ComplexSubset.h Attribute.h State.h Error.h \
  Target.h InterpGalaxy.h DynamicGalaxy.h KnownBlock.h KnownState.h KnownTarget.h 
IntervalList.o : IntervalList.cc IntervalList.h type.h logNew.h streamCompat.h \
  miscFuncs.h 
KnownBlock.o : KnownBlock.cc KnownBlock.h Block.h NamedObj.h StringList.h miscFuncs.h \
  logNew.h DataStruct.h type.h isa.h PortHole.h dataType.h Particle.h ComplexSubset.h \
  Attribute.h State.h Error.h Domain.h Linker.h 
KnownState.o : KnownState.cc KnownState.h StringList.h miscFuncs.h logNew.h \
  DataStruct.h type.h State.h Error.h NamedObj.h isa.h ComplexSubset.h Attribute.h \
  Block.h PortHole.h dataType.h Particle.h IntState.h FloatState.h 
KnownTarget.o : KnownTarget.cc Linker.h Target.h StringList.h miscFuncs.h logNew.h \
  DataStruct.h type.h Block.h NamedObj.h isa.h PortHole.h dataType.h Particle.h \
  ComplexSubset.h Attribute.h State.h Error.h KnownTarget.h KnownBlock.h 
Linker.o : Linker.cc Linker.sysdep.h Linker.h Error.h miscFuncs.h logNew.h StringList.h \
  DataStruct.h type.h pt_fstream.h paths.h 
Message.o : Message.cc Message.h Particle.h StringList.h miscFuncs.h logNew.h \
  DataStruct.h type.h dataType.h ComplexSubset.h isa.h Plasma.h ParticleStack.h \
  Error.h 
NamedObj.o : NamedObj.cc NamedObj.h StringList.h miscFuncs.h logNew.h DataStruct.h \
  type.h isa.h Block.h PortHole.h dataType.h Particle.h ComplexSubset.h Attribute.h \
  State.h Error.h SimControl.h 
Particle.o : Particle.cc Particle.h StringList.h miscFuncs.h logNew.h DataStruct.h \
  type.h dataType.h ComplexSubset.h Plasma.h ParticleStack.h Error.h 
ParticleQueue.o : ParticleQueue.cc ParticleQueue.h ParticleStack.h Particle.h \
  StringList.h miscFuncs.h logNew.h DataStruct.h type.h dataType.h ComplexSubset.h 
PriorityQueue.o : PriorityQueue.cc PriorityQueue.h DataStruct.h type.h logNew.h 
Scheduler.o : Scheduler.cc Target.h StringList.h miscFuncs.h logNew.h DataStruct.h \
  type.h Block.h NamedObj.h isa.h PortHole.h dataType.h Particle.h ComplexSubset.h \
  Attribute.h State.h Error.h Scheduler.h SimControl.h Galaxy.h Star.h 
SimControl.o : SimControl.cc SimAction.h DataStruct.h type.h logNew.h SimControl.h 
Star.o : Star.cc Star.h Block.h NamedObj.h StringList.h miscFuncs.h logNew.h \
  DataStruct.h type.h isa.h PortHole.h dataType.h Particle.h ComplexSubset.h Attribute.h \
  State.h Error.h GalIter.h Galaxy.h SimControl.h 
State.o : State.cc Tokenizer.h State.h DataStruct.h type.h logNew.h StringList.h \
  miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h Attribute.h Block.h PortHole.h \
  dataType.h Particle.h KnownState.h 
StringArrayState.o : StringArrayState.cc StringArrayState.h State.h DataStruct.h \
  type.h logNew.h StringList.h miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h \
  Attribute.h Tokenizer.h KnownState.h Block.h PortHole.h dataType.h Particle.h 
StringList.o : StringList.cc StringList.h miscFuncs.h logNew.h DataStruct.h \
  type.h 
StringState.o : StringState.cc StringState.h State.h DataStruct.h type.h logNew.h \
  StringList.h miscFuncs.h Error.h NamedObj.h isa.h ComplexSubset.h Attribute.h \
  KnownState.h Block.h PortHole.h dataType.h Particle.h 
Target.o : Target.cc Target.h StringList.h miscFuncs.h logNew.h DataStruct.h \
  type.h Block.h NamedObj.h isa.h PortHole.h dataType.h Particle.h ComplexSubset.h \
  Attribute.h State.h Error.h Scheduler.h SimControl.h Galaxy.h Star.h GalIter.h \
  ConstIters.h Domain.h StringArrayState.h 
TimeVal.o : TimeVal.cc TimeVal.h type.h logNew.h 
Tokenizer.o : Tokenizer.cc Tokenizer.h miscFuncs.h logNew.h streamCompat.h 
Universe.o : Universe.cc Universe.h Galaxy.h Star.h Block.h NamedObj.h StringList.h \
  miscFuncs.h logNew.h DataStruct.h type.h isa.h PortHole.h dataType.h Particle.h \
  ComplexSubset.h Attribute.h State.h Error.h Target.h GalIter.h KnownTarget.h 
Wormhole.o : Wormhole.cc Wormhole.h type.h logNew.h Universe.h Galaxy.h Star.h \
  Block.h NamedObj.h StringList.h miscFuncs.h DataStruct.h isa.h PortHole.h dataType.h \
  Particle.h ComplexSubset.h Attribute.h State.h Error.h Target.h EventHorizon.h \
  Scheduler.h SimControl.h Domain.h 
logNew.o : logNew.cc 
miscFuncs.o : miscFuncs.cc Attribute.h ConstIters.h Block.h NamedObj.h StringList.h \
  miscFuncs.h logNew.h DataStruct.h type.h isa.h PortHole.h dataType.h Particle.h \
  ComplexSubset.h State.h Error.h Galaxy.h Star.h 
paths.o : paths.cc miscFuncs.h logNew.h StringList.h DataStruct.h type.h Error.h \
  paths.h 
pt_fstream.o : pt_fstream.cc pt_fstream.h miscFuncs.h logNew.h Error.h StringList.h \
  DataStruct.h type.h 
textAnimate.o : textAnimate.cc SimControl.h Star.h Block.h NamedObj.h StringList.h \
  miscFuncs.h logNew.h DataStruct.h type.h isa.h PortHole.h dataType.h Particle.h \
  ComplexSubset.h Attribute.h State.h Error.h textAnimate.h 
checkConnect.o : checkConnect.cc Galaxy.h Star.h Block.h NamedObj.h StringList.h \
  miscFuncs.h logNew.h DataStruct.h type.h isa.h PortHole.h dataType.h Particle.h \
  ComplexSubset.h Attribute.h State.h Error.h GalIter.h 
expandPath.o : expandPath.cc Error.h 
RanGen.o : RanGen.cc logNew.h 
hashstring.o : hashstring.cc logNew.h 
