#
# File:		Makefile for the Perfect Developer runtime system on Linux
# Author:	Dominic Matthews
# Created:	2001
# Updated:	8th October 2001
# Copyright:	(c) 2001 Escher Technologies Ltd, All rights reserved.
#
# This makefile generates the object files for the Perfect runtime system.

# Choose one of the following definitions of FLAGS

# The following FLAGS definition is for the RELEASE version of the library (perfectruntime.a)
# WARNING: if you are using a version of gcc prior to 3.3.1, you may need to use a lower optimization level than -O3
RELEASEFLAGS = -DNDEBUG -Wall -Wno-unused -Wno-uninitialized -O3

# The following FLAGS definition is for the DEBUG version (perfectruntime-debug.a)
DEBUGFLAGS = -Wall -Wno-unused -Wno-uninitialized -ggdb

INCLUDEPATH = /opt/escher/verificationstudio6/pd/include/cpp
INCLUDES = -I$(INCLUDEPATH)

CC = g++

RELEASEOBJECTS =	release/Any.o release/AnyBase.o \
			release/Bag.o release/BaseHandle.o release/Btree.o \
			release/CallStack.o release/CharEncoding.o release/CollectionBase.o release/CommandExecuter.o release/Comparator.o \
			release/Debug.o \
			release/EarlyMisc.o release/Environment.o release/EnvironmentSupport.o release/Ertsys.o release/ExceptionClasses.o \
			release/Heaps.o release/IncludeOrderWorkarounds.o \
			release/LinuxSystemCalls.o release/LoadableSupport.o release/LowLevelSupport.o \
			release/Map.o release/Mem.o release/MiscRts.o release/ModuleDescriptorSupport.o \
			release/ObjectLoader.o release/Order.o release/Pair.o release/RtsGlobals.o \
			release/Sequence.o release/Set.o release/Sockets.o release/Storable.o release/StorableSupport.o \
			release/StorageStream.o release/StreamClasses.o release/StreamHeader.o release/String.o \
			release/TemplateTypeMatcher.o release/TypeInfo.o release/TypeInfoSupport.o release/Union.o release/Variants.o

DEBUGOBJECTS =		debug/Any.o debug/AnyBase.o \
			debug/Bag.o debug/BaseHandle.o debug/Btree.o \
			debug/CallStack.o debug/CharEncoding.o debug/CollectionBase.o debug/CommandExecuter.o debug/Comparator.o \
			debug/Debug.o \
			debug/EarlyMisc.o debug/Environment.o debug/EnvironmentSupport.o debug/Ertsys.o debug/ExceptionClasses.o \
			debug/Heaps.o debug/IncludeOrderWorkarounds.o \
			debug/LinuxSystemCalls.o debug/LoadableSupport.o debug/LowLevelSupport.o \
			debug/Map.o debug/Mem.o debug/MiscRts.o debug/ModuleDescriptorSupport.o \
			debug/ObjectLoader.o debug/Order.o debug/Pair.o debug/RtsGlobals.o \
			debug/Sequence.o debug/Set.o debug/Sockets.o debug/Storable.o debug/StorableSupport.o \
			debug/StorageStream.o debug/StreamClasses.o debug/StreamHeader.o debug/String.o \
			debug/TemplateTypeMatcher.o debug/TypeInfo.o debug/TypeInfoSupport.o debug/Union.o debug/Variants.o

# implementation

.SUFFIXES:	.o .cpp
.PHONY:		clean all runtime

release:	$(RELEASEOBJECTS)
debug:		$(DEBUGOBJECTS)

# Runtime files compilation rules (release version)

release/Bag.o : Bag.cpp $(INCLUDEPATH)/Bag_0.hpp $(INCLUDEPATH)/Bag_1.hpp $(INCLUDEPATH)/Bag_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Btree.o : Btree.cpp $(INCLUDEPATH)/Btree_0.hpp $(INCLUDEPATH)/Btree_1.hpp $(INCLUDEPATH)/Btree_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/CharEncoding.o : CharEncoding.cpp $(INCLUDEPATH)/CharEncoding_0.hpp $(INCLUDEPATH)/CharEncoding_1.hpp $(INCLUDEPATH)/CharEncoding_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/CollectionBase.o : CollectionBase.cpp $(INCLUDEPATH)/CollectionBase_0.hpp $(INCLUDEPATH)/CollectionBase_1.hpp $(INCLUDEPATH)/CollectionBase_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Comparator.o : Comparator.cpp $(INCLUDEPATH)/Comparator_0.hpp $(INCLUDEPATH)/Comparator_1.hpp $(INCLUDEPATH)/Comparator_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/EnvironmentSupport.o : EnvironmentSupport.cpp $(INCLUDEPATH)/EnvironmentSupport_0.hpp $(INCLUDEPATH)/EnvironmentSupport_1.hpp $(INCLUDEPATH)/EnvironmentSupport_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Map.o : Map.cpp $(INCLUDEPATH)/Map_0.hpp $(INCLUDEPATH)/Map_1.hpp $(INCLUDEPATH)/Map_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/ObjectLoader.o : ObjectLoader.cpp $(INCLUDEPATH)/ObjectLoader_0.hpp $(INCLUDEPATH)/ObjectLoader_1.hpp $(INCLUDEPATH)/ObjectLoader_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Pair.o : Pair.cpp $(INCLUDEPATH)/Pair_0.hpp $(INCLUDEPATH)/Pair_1.hpp $(INCLUDEPATH)/Pair_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/RtsGlobals.o : RtsGlobals.cpp $(INCLUDEPATH)/RtsGlobals_0.hpp $(INCLUDEPATH)/RtsGlobals_1.hpp $(INCLUDEPATH)/RtsGlobals_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Sequence.o : Sequence.cpp $(INCLUDEPATH)/Sequence_0.hpp $(INCLUDEPATH)/Sequence_1.hpp $(INCLUDEPATH)/Sequence_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Set.o : Set.cpp $(INCLUDEPATH)/Set_0.hpp $(INCLUDEPATH)/Set_1.hpp $(INCLUDEPATH)/Set_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Storable.o : Storable.cpp $(INCLUDEPATH)/Storable_0.hpp $(INCLUDEPATH)/Storable_1.hpp $(INCLUDEPATH)/Storable_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/StorageStream.o : StorageStream.cpp $(INCLUDEPATH)/StorageStream_0.hpp $(INCLUDEPATH)/StorageStream_1.hpp $(INCLUDEPATH)/StorageStream_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/StreamClasses.o : StreamClasses.cpp $(INCLUDEPATH)/StreamClasses_0.hpp $(INCLUDEPATH)/StreamClasses_1.hpp $(INCLUDEPATH)/StreamClasses_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/StreamHeader.o : StreamHeader.cpp $(INCLUDEPATH)/StreamHeader_0.hpp $(INCLUDEPATH)/StreamHeader_1.hpp $(INCLUDEPATH)/StreamHeader_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/TemplateTypeMatcher.o : TemplateTypeMatcher.cpp $(INCLUDEPATH)/TemplateTypeMatcher_0.hpp $(INCLUDEPATH)/TemplateTypeMatcher_1.hpp $(INCLUDEPATH)/TemplateTypeMatcher_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/TypeInfo.o : TypeInfo.cpp $(INCLUDEPATH)/TypeInfo_0.hpp $(INCLUDEPATH)/TypeInfo_1.hpp $(INCLUDEPATH)/TypeInfo_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/TypeInfoSupport.o : TypeInfoSupport.cpp $(INCLUDEPATH)/TypeInfoSupport_0.hpp $(INCLUDEPATH)/TypeInfoSupport_1.hpp $(INCLUDEPATH)/TypeInfoSupport_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<

release/Any.o : Any.cpp $(INCLUDEPATH)/Any.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/AnyBase.o : AnyBase.cpp $(INCLUDEPATH)/AnyBase.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/BaseHandle.o : BaseHandle.cpp $(INCLUDEPATH)/BaseHandle.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/CallStack.o : CallStack.cpp $(INCLUDEPATH)/CallStack.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/CommandExecuter.o : CommandExecuter.cpp $(INCLUDEPATH)/Environment_1.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Debug.o : Debug.cpp $(INCLUDEPATH)/Debug.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/EarlyMisc.o : EarlyMisc.cpp $(INCLUDEPATH)/EarlyMisc.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Environment.o : Environment.cpp $(INCLUDEPATH)/Environment_0.hpp $(INCLUDEPATH)/Environment_1.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Ertsys.o : Ertsys.cpp $(INCLUDEPATH)/Ertsys.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/ExceptionClasses.o : ExceptionClasses.cpp $(INCLUDEPATH)/ExceptionClasses.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Heaps.o : Heaps.cpp $(INCLUDEPATH)/Heaps.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/IncludeOrderWorkarounds.o : IncludeOrderWorkarounds.cpp $(INCLUDEPATH)/IncludeOrderWorkarounds_0.hpp $(INCLUDEPATH)/IncludeOrderWorkarounds_1.hpp $(INCLUDEPATH)/IncludeOrderWorkarounds_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/LinuxSystemCalls.o : LinuxSystemCalls.cpp $(INCLUDEPATH)/LinuxSystemCalls.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/LoadableSupport.o : LoadableSupport.cpp $(INCLUDEPATH)/LoadableSupport_0.hpp $(INCLUDEPATH)/LoadableSupport_1.hpp $(INCLUDEPATH)/LoadableSupport_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/LowLevelSupport.o : LowLevelSupport.cpp $(INCLUDEPATH)/LowLevelSupport_0.hpp $(INCLUDEPATH)/LowLevelSupport_1.hpp $(INCLUDEPATH)/LowLevelSupport_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Mem.o : Mem.cpp $(INCLUDEPATH)/Emem.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/MiscRts.o : MiscRts.cpp $(INCLUDEPATH)/MiscRts.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/ModuleDescriptorSupport.o : ModuleDescriptorSupport.cpp $(INCLUDEPATH)/ModuleDescriptorSupport_0.hpp $(INCLUDEPATH)/ModuleDescriptorSupport_1.hpp $(INCLUDEPATH)/ModuleDescriptorSupport_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Order.o : Order.cpp $(INCLUDEPATH)/Order.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Sockets.o : Sockets.cpp $(INCLUDEPATH)/Sockets.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/StorableSupport.o : StorableSupport.cpp $(INCLUDEPATH)/StorableSupport_0.hpp $(INCLUDEPATH)/StorableSupport_1.hpp $(INCLUDEPATH)/StorableSupport_2.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/String.o : String.cpp $(INCLUDEPATH)/String.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Union.o : Union.cpp $(INCLUDEPATH)/Union_0.hpp $(INCLUDEPATH)/Union_1.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<
release/Variants.o : Variants.cpp $(INCLUDEPATH)/Variants.hpp
	$(CC) -c $(RELEASEFLAGS) $(INCLUDES) -o $@ $<

# Runtime files compilation rules (debug version)

debug/Bag.o : Bag.cpp $(INCLUDEPATH)/Bag_0.hpp $(INCLUDEPATH)/Bag_1.hpp $(INCLUDEPATH)/Bag_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Btree.o : Btree.cpp $(INCLUDEPATH)/Btree_0.hpp $(INCLUDEPATH)/Btree_1.hpp $(INCLUDEPATH)/Btree_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/CharEncoding.o : CharEncoding.cpp $(INCLUDEPATH)/CharEncoding_0.hpp $(INCLUDEPATH)/CharEncoding_1.hpp $(INCLUDEPATH)/CharEncoding_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/CollectionBase.o : CollectionBase.cpp $(INCLUDEPATH)/CollectionBase_0.hpp $(INCLUDEPATH)/CollectionBase_1.hpp $(INCLUDEPATH)/CollectionBase_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Comparator.o : Comparator.cpp $(INCLUDEPATH)/Comparator_0.hpp $(INCLUDEPATH)/Comparator_1.hpp $(INCLUDEPATH)/Comparator_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/EnvironmentSupport.o : EnvironmentSupport.cpp $(INCLUDEPATH)/EnvironmentSupport_0.hpp $(INCLUDEPATH)/EnvironmentSupport_1.hpp $(INCLUDEPATH)/EnvironmentSupport_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Map.o : Map.cpp $(INCLUDEPATH)/Map_0.hpp $(INCLUDEPATH)/Map_1.hpp $(INCLUDEPATH)/Map_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/ObjectLoader.o : ObjectLoader.cpp $(INCLUDEPATH)/ObjectLoader_0.hpp $(INCLUDEPATH)/ObjectLoader_1.hpp $(INCLUDEPATH)/ObjectLoader_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Pair.o : Pair.cpp $(INCLUDEPATH)/Pair_0.hpp $(INCLUDEPATH)/Pair_1.hpp $(INCLUDEPATH)/Pair_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/RtsGlobals.o : RtsGlobals.cpp $(INCLUDEPATH)/RtsGlobals_0.hpp $(INCLUDEPATH)/RtsGlobals_1.hpp $(INCLUDEPATH)/RtsGlobals_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Sequence.o : Sequence.cpp $(INCLUDEPATH)/Sequence_0.hpp $(INCLUDEPATH)/Sequence_1.hpp $(INCLUDEPATH)/Sequence_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Set.o : Set.cpp $(INCLUDEPATH)/Set_0.hpp $(INCLUDEPATH)/Set_1.hpp $(INCLUDEPATH)/Set_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Storable.o : Storable.cpp $(INCLUDEPATH)/Storable_0.hpp $(INCLUDEPATH)/Storable_1.hpp $(INCLUDEPATH)/Storable_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/StorageStream.o : StorageStream.cpp $(INCLUDEPATH)/StorageStream_0.hpp $(INCLUDEPATH)/StorageStream_1.hpp $(INCLUDEPATH)/StorageStream_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/StreamClasses.o : StreamClasses.cpp $(INCLUDEPATH)/StreamClasses_0.hpp $(INCLUDEPATH)/StreamClasses_1.hpp $(INCLUDEPATH)/StreamClasses_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/StreamHeader.o : StreamHeader.cpp $(INCLUDEPATH)/StreamHeader_0.hpp $(INCLUDEPATH)/StreamHeader_1.hpp $(INCLUDEPATH)/StreamHeader_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/TemplateTypeMatcher.o : TemplateTypeMatcher.cpp $(INCLUDEPATH)/TemplateTypeMatcher_0.hpp $(INCLUDEPATH)/TemplateTypeMatcher_1.hpp $(INCLUDEPATH)/TemplateTypeMatcher_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/TypeInfo.o : TypeInfo.cpp $(INCLUDEPATH)/TypeInfo_0.hpp $(INCLUDEPATH)/TypeInfo_1.hpp $(INCLUDEPATH)/TypeInfo_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/TypeInfoSupport.o : TypeInfoSupport.cpp $(INCLUDEPATH)/TypeInfoSupport_0.hpp $(INCLUDEPATH)/TypeInfoSupport_1.hpp $(INCLUDEPATH)/TypeInfoSupport_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<

debug/Any.o : Any.cpp $(INCLUDEPATH)/Any.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/AnyBase.o : AnyBase.cpp $(INCLUDEPATH)/AnyBase.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/BaseHandle.o : BaseHandle.cpp $(INCLUDEPATH)/BaseHandle.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/CallStack.o : CallStack.cpp $(INCLUDEPATH)/CallStack.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/CommandExecuter.o : CommandExecuter.cpp $(INCLUDEPATH)/Environment_1.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/EarlyMisc.o : EarlyMisc.cpp $(INCLUDEPATH)/EarlyMisc.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Debug.o : Debug.cpp $(INCLUDEPATH)/Debug.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Environment.o : Environment.cpp $(INCLUDEPATH)/Environment_0.hpp $(INCLUDEPATH)/Environment_1.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Ertsys.o : Ertsys.cpp $(INCLUDEPATH)/Ertsys.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/ExceptionClasses.o : ExceptionClasses.cpp $(INCLUDEPATH)/ExceptionClasses.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Heaps.o : Heaps.cpp $(INCLUDEPATH)/Heaps.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/IncludeOrderWorkarounds.o : IncludeOrderWorkarounds.cpp $(INCLUDEPATH)/IncludeOrderWorkarounds_0.hpp $(INCLUDEPATH)/IncludeOrderWorkarounds_1.hpp $(INCLUDEPATH)/IncludeOrderWorkarounds_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/LinuxSystemCalls.o : LinuxSystemCalls.cpp $(INCLUDEPATH)/LinuxSystemCalls.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/LoadableSupport.o : LoadableSupport.cpp $(INCLUDEPATH)/LoadableSupport_0.hpp $(INCLUDEPATH)/LoadableSupport_1.hpp $(INCLUDEPATH)/LoadableSupport_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/LowLevelSupport.o : LowLevelSupport.cpp $(INCLUDEPATH)/LowLevelSupport_0.hpp $(INCLUDEPATH)/LowLevelSupport_1.hpp $(INCLUDEPATH)/LowLevelSupport_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Mem.o : Mem.cpp $(INCLUDEPATH)/Emem.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/MiscRts.o : MiscRts.cpp $(INCLUDEPATH)/MiscRts.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/ModuleDescriptorSupport.o : ModuleDescriptorSupport.cpp $(INCLUDEPATH)/ModuleDescriptorSupport_0.hpp $(INCLUDEPATH)/ModuleDescriptorSupport_1.hpp $(INCLUDEPATH)/ModuleDescriptorSupport_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Order.o : Order.cpp $(INCLUDEPATH)/Order.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Sockets.o : Sockets.cpp $(INCLUDEPATH)/Sockets.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/StorableSupport.o : StorableSupport.cpp $(INCLUDEPATH)/StorableSupport_0.hpp $(INCLUDEPATH)/StorableSupport_1.hpp $(INCLUDEPATH)/StorableSupport_2.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/String.o : String.cpp $(INCLUDEPATH)/String.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Union.o : Union.cpp $(INCLUDEPATH)/Union_0.hpp $(INCLUDEPATH)/Union_1.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<
debug/Variants.o : Variants.cpp $(INCLUDEPATH)/Variants.hpp
	$(CC) -c $(DEBUGFLAGS) $(INCLUDES) -o $@ $<

# Main makefile rules ...

clean:
	rm -f release/*.o
	rm -f debug/*.o

# End.
