CC = g++ ATOM = OMInteger.o OMFloat.o OMString.o OMBytearray.o OMSymbol.o OMVariable.o COMPOSITE = OMApplication.o OMBinding.o OMAttribution.o OMError.o OMXML = OMXMLReader.o OMXMLWriter.o OMXML.o TESTS = test OPTIONS = -w -ggdb -fexceptions EXPI = -Iexpat/xmlparse EXPL = -Lexpat/xmlparse -lexpat all: $(ATOM) $(COMPOSITE) $(OMXML) $(TESTS) test: test.cpp $(ATOM) $(COMPOSITE) $(OMXML) $(CC) -o test $(OPTIONS) $(EXPI) test.cpp $(ATOM) $(COMPOSITE) $(OMXML) $(EXPL) OMInteger.o: OMObject.h OMInteger.h OMInteger.cpp $(CC) -c $(OPTIONS) OMInteger.cpp OMFloat.o: OMObject.h OMFloat.h OMFloat.cpp $(CC) -c $(OPTIONS) OMFloat.cpp OMString.o: OMObject.h OMString.h OMString.cpp $(CC) -c $(OPTIONS) OMString.cpp OMBytearray.o: OMObject.h OMBytearray.h OMBytearray.cpp $(CC) -c $(OPTIONS) OMBytearray.cpp OMSymbol.o: OMObject.h OMSymbol.h OMSymbol.cpp $(CC) -c $(OPTIONS) OMSymbol.cpp OMVariable.o: OMObject.h OMVariable.h OMVariable.cpp $(CC) -c $(OPTIONS) OMVariable.cpp OMApplication.o: OMObject.h OMApplication.h OMApplication.cpp $(CC) -c $(OPTIONS) OMApplication.cpp OMBinding.o: OMObject.h OMVariable.h OMBinding.h OMBinding.cpp $(CC) -c $(OPTIONS) OMBinding.cpp OMAttribution.o: OMObject.h OMSymbol.h OMAttribution.h OMAttribution.cpp $(CC) -c $(OPTIONS) OMAttribution.cpp OMError.o: OMObject.h OMSymbol.h OMError.h OMError.cpp $(CC) -c $(OPTIONS) OMError.cpp OMXMLReader.o: OMXMLReader.h OMXMLReader.cpp OMXML.h $(CC) -c $(OPTIONS) $(EXPI) OMXMLReader.cpp OMXMLWriter.o: OMXMLWriter.h OMXMLWriter.cpp OMXML.h $(CC) -c $(OPTIONS) OMXMLWriter.cpp OMXML.o: OMXML.h OMXML.cpp $(CC) -c $(OPTIONS) OMXML.cpp clean: rm -f $(ATOM) $(COMPOSITE) $(OMXML) $(TESTS) test.o