EXE=$(EP)cg0 $(EP)cg1 $(EP)cg3 $(EP)cg4 $(EP)cg5
FRL=$(EP)cg0.frl $(EP)cg1.frl $(EP)cg3.frl $(EP)cg4.frl $(EP)cg5.frl
MSK=$(EP)cg0100a.msk $(EP)cg0200a.msk $(EP)cg0300a.msk $(EP)cg0400a.msk $(EP)cg0500a.msk $(EP)cg1100a.msk $(EP)cg1200a.msk $(EP)cg1200b.msk $(EP)cg1400a.msk $(EP)cg1500a.msk $(EP)cg1600a.msk $(EP)cg1700a.msk $(EP)cg2100a.msk $(EP)cg2100b.msk $(EP)cg2100c.msk $(EP)cg2100i.msk $(EP)cg2100o.msk $(EP)cg3300a.msk $(EP)cg3100a.msk $(EP)cg3100b.msk $(EP)cg3100c.msk $(EP)cg3200a.msk $(EP)cg3500a.msk $(EP)cg4100a.msk $(EP)cg4300a.msk $(EP)cg4300b.msk $(EP)cg4300c.msk $(EP)cg5000a.msk $(EP)cg4400a.msk  $(EP)cg4500a.msk $(EP)cg4500b.msk $(EP)cg4600a.msk

$(O)/%.o:        %.cpp  
	$(CCOMP) $(CFLAGSD) $(<:.cpp= ) $(O)/$*

include ../include/include.mak

.PRECIOUS:      $(EXE) $(FRL) $(MSK)

cg:     $(EXE)  frl masks

masks:          $(MSK)

frl:            $(FRL)

$(O)/cg0.o:     cg0.cpp $(I10) $(I24) $(I32)

$(O)/cg0100.o:   cg0100.cpp $(I15) $(I31) $(I53) cg0100.h cg0.h $(IP)pconti.h

$(O)/cg0200.o:   cg0200.cpp $(I8) $(I15) $(I31) $(I53) $(I31) $(I43) $(I46) $(I56) cg0200.h cg0.h

$(O)/cg0300.o:   cg0300.cpp $(I15) $(I31) $(I53) cg0300.h cg0.h

$(O)/cg0400.o:   cg0400.cpp $(I6) $(I10) $(I24) $(I27) $(I33) $(I43) cg0400.h cg0.h

$(O)/cg0500.o:   cg0500.cpp $(I6) $(I10) $(I24) $(I27) $(I33) $(I43) cg0500.h

$(EP)cg0: $(O)/cg0.o $(O)/cg0100.o $(O)/cg0200.o $(O)/cg0300.o $(O)/cg0400.o $(O)/cg0500.o $(O)/conto.o $(LIBD1) $(EP)cg0.frl
	$(LINK) $(LFLAGSD1) $@ $(O)/cg0.o $(O)/cg0100.o $(O)/cg0200.o $(O)/cg0300.o $(O)/cg0400.o $(O)/cg0500.o $(O)/conto.o  

$(EP)cg0.frl: cg0.url $(U1)
	$(RCOMP) cg0 -l $(EP)cg0

$(EP)cg0100a.msk : cg0100a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg0200a.msk : cg0200a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg0300a.msk : cg0300a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg0400a.msk : cg0400a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg0500a.msk : cg0500a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(O)/cg1.o:     cg1.cpp $(I10) $(I24) $(I32)

$(O)/cg1100.o:   cg1100.cpp $(I31) $(I33) $(I39) $(I41) $(I42) $(I47) $(I48) $(I50) cg1100.h $(IP)pconti.h $(IP)nditte.h

$(O)/cg1200.o:   cg1200.cpp $(I6) $(I10) $(I24) $(I27) $(I33) $(I47) $(I48) cg1200a.h $(IP)saldi.h $(IP)clifo.h $(IP)comuni.h $(IP)nditte.h

$(O)/cg1300.o:   cg1300.cpp $(I24) $(I31) $(I33) $(I51)

$(O)/cg1400.o:   cg1400.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) $(I39) cg1400.h

$(O)/cg1500.o:   cg1500.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cg1500.h

$(O)/cglib01.o:  cglib01.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cglib.h

$(O)/conto.o:    conto.cpp conto.h $(I15) $(I30) $(I31)

$(O)/cg1600.o:   cg1600.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cg1600.h

$(O)/cg1700.o:   cg1700.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cg1700.h

$(EP)cg1: $(O)/cg1.o $(O)/cg1100.o $(O)/cg1200.o $(O)/cg1300.o $(O)/cg1400.o $(O)/cg1500.o $(O)/cg1600.o $(O)/cg1700.o $(LIBD1) $(EP)cg1.frl $(EP)cg1100a.msk $(EP)cg1200a.msk $(EP)cg1200b.msk $(EP)cg1400a.msk $(EP)cg1500a.msk $(EP)cg1600a.msk $(EP)cg1700a.msk $(O)/conto.o $(O)/cglib01.o
	$(LINK) $(LFLAGSD1) $@ $(O)/cg1.o $(O)/cg1100.o $(O)/cg1200.o $(O)/cg1300.o $(O)/cg1400.o $(O)/cg1500.o $(O)/cg1600.o $(O)/cg1700.o $(O)/conto.o $(O)/cglib01.o

$(EP)cg1.frl: cg1.url $(U1)
	$(RCOMP) cg1 -l $(EP)cg1

$(EP)cg1100a.msk : cg1100a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg1200a.msk : cg1200a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg1200b.msk : cg1200b.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg1400a.msk : cg1400a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg1500a.msk : cg1500a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg1600a.msk : cg1600a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg1700a.msk : cg1700a.uml
	$(MCOMP) $(basename $<) $(basename $@)

$(EP)cg2.frl: cg2.url $(U1)
	$(RCOMP) cg2 -l $(EP)cg2

$(O)/cg2.o:     cg2.cpp cg2.h $(I10) $(I24) $(I32)

$(O)/cg2100.o:   cg2100.cpp cg2100.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg2101.o:   cg2101.cpp $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg2102.o:   cg2102.cpp cg2102.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg2103.o:   cg2103.cpp cg2103.h 

$(O)/cglib02.o:  conto.h cglib02.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cglib.h

$(O)/conto.o:   conto.cpp $(I6) $(I10) $(I24) $(I27) $(I33)

$(EP)cg2: $(O)/cg2.o $(O)/cg2100.o $(O)/cg2101.o $(O)/cg2102.o $(O)/cg2103.o $(O)/conto.o $(O)/cglib02.o $(LIBD1) $(EP)cg2.frl $(EP)cg2100a.msk
	$(LINK) $(LFLAGSD1) $@ $(O)/cg2.o $(O)/cg2100.o $(O)/cg2101.o $(O)/cg2102.o $(O)/cg2103.o $(O)/cglib02.o $(O)/conto.o
	
$(EP)cg2100a.msk : cg2100a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg2100b.msk : cg2100b.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg2100c.msk : cg2100c.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg2100i.msk : cg2100i.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg2100o.msk : cg2100o.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(O)/cg3.o:     cg3.cpp $(I10) $(I24) $(I32)

$(O)/cg3300.o:   cg3300.cpp cg3300.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg3301.o:   cg3301.cpp cg3300.h $(I6) $(I10) $(I24) $(I27) $(I33)

(O)/cg3100.o:   cg3401.h cg3100.cpp $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg3200.o:   cg3401.h cg3200.cpp $(I6) $(I10) $(I24) $(I27) $(I33) $(I47) $(I48)

#$(O)/cg3400.o:   cg3401.h cg3400.cpp $(I6) $(I10) $(I24) $(I27) $(I33)

#$(O)/cg3401.o:   cg3401.cpp $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg3500.o:   cg3500.cpp cg3500.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cglib01.o:   cglib01.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cglib.h

$(O)/cglib03.o:   cglib03.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cglib.h

$(O)/conto.o:    conto.cpp conto.h

$(EP)cg3: $(O)/cg3.o $(LIBD1) $(O)/cg3300.o $(O)/cg3301.o $(O)/cg3200.o $(O)/cg3100.o $(O)/cg3500.o $(O)/conto.o $(O)/cglib01.o $(O)/cglib03.o $(EP)cg3.frl $(EP)cg3200a.msk $(EP)cg3100a.msk $(EP)cg3100b.msk $(EP)cg3100c.msk $(EP)cg3400a.msk $(EP)cg3400b.msk $(EP)cg3300c.msk $(EP)cg3300a.msk $(EP)cg3300b.msk $(EP)cg3500a.msk 
	$(LINK) $(LFLAGSD1) $@ $(O)/cg3.o $(O)/cg3300.o $(O)/cg3301.o $(O)/cg3200.o $(O)/cg3100.o $(O)/cg3500.o $(O)/conto.o $(O)/cglib01.o $(O)/cglib03.o 
	
$(EP)cg3400a.msk : cg3400a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3400b.msk : cg3400b.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3300a.msk : cg3300a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3300b.msk : cg3300b.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3300c.msk : cg3300c.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3200a.msk : cg3200a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3100a.msk : cg3100a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3100b.msk : cg3100b.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3100c.msk : cg3100c.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3500a.msk : cg3500a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg3.frl: cg3.url $(U1)
	$(RCOMP) cg3 -l $(EP)cg3

$(O)/cg4.o:     cg4.cpp $(I10) $(I24) $(I32)

$(O)/cg4100.o:   cg4100.cpp 

$(O)/cg4300.o:   cg4300.cpp cg4300.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg4301.o:   cg4301.cpp cg4300.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg4302.o:   cg4302.cpp cg4300.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg4303.o:   cg4303.cpp cg4300.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg4304.o:   cg4304.cpp cg4300.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg4305.o:   cg4305.cpp cg4300.h $(I6) $(I10) $(I24) $(I27) $(I33)

$(O)/cg4401.o:   cg4401.cpp cg4400.h 

$(O)/cg4400.o:   cg4400.cpp cg4401.cpp cg4400.h 

$(O)/cg4500.o:   cg4500.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cg4500a.h cg4500b.h

#$(O)/cg4600.o:   cg4600.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cg4600.h

$(O)/cglib01.o:  cglib01.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cglib.h

$(O)/conto.o:    conto.cpp conto.h

$(EP)cg4: $(O)/cg4.o $(LIBD1) $(O)/cg4300.o $(O)/cg4301.o $(O)/cg4302.o $(O)/cg4303.o $(O)/cg4304.o $(O)/cg4305.o $(O)/cg4400.o $(O)/cg4401.o $(O)/conto.o $(O)/cglib01.o $(O)/cglib02.o $(O)/cg4500.o $(O)/cg2101.o $(O)/cg2103.o $(O)/cg4100.o $(O)/cg4600.o $(EP)cg4.frl $(EP)cg4300a.msk $(EP)cg4300b.msk $(EP)cg4300c.msk $(O)/cglib03.o
	$(LINK) $(LFLAGSD1) $@ $(O)/cg4.o $(O)/cg4300.o $(O)/cg4301.o $(O)/cg4302.o $(O)/cg4303.o $(O)/cg4304.o $(O)/cg4305.o $(O)/cg4400.o $(O)/cg4401.o $(O)/conto.o $(O)/cglib01.o $(O)/cglib02.o $(O)/cg4500.o $(O)/cglib03.o $(O)/cg2101.o $(O)/cg2103.o $(O)/cg4100.o $(O)/cg4600.o

$(EP)cg4400.frl: cg4400.url $(U1)
	$(RCOMP) cg4400 -l $(EP)cg4400

$(EP)cg4100a.msk : cg4100a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg4300a.msk : cg4300a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg4300b.msk : cg4300b.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg4300c.msk : cg4300c.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg4400a.msk : cg4400a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg4500a.msk : cg4500a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg4500b.msk : cg4500b.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg4600a.msk : cg4600a.uml
	$(MCOMP) $(basename $?) $(basename $@)
	 
$(EP)cg4.frl: cg4.url $(U1)
	$(RCOMP) cg4 -l $(EP)cg4

$(O)/cg5.o :    cg5.cpp $(I10) $(I24) $(I32)

$(O)/cg5000.o:   cg5000.cpp $(I57)

$(O)/cg5100.o:   cg5100.cpp $(I57)

$(EP)cg5000a.msk : cg5000a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg5100a.msk : cg5100a.uml
	$(MCOMP) $(basename $?) $(basename $@)

$(EP)cg5.frl: cg5.url $(U1)
	$(RCOMP) cg5 -l $(EP)cg5

$(EP)cg5 : $(O)/cg5.o $(O)/cg5000.o $(O)/cg5100.o $(LIBD1) $(EP)cg5.frl $(EP)cg5000a.msk $(EP)cg5100a.msk
	$(LINK) $(LFLAGSD1) $@ $(O)/cg5.o $(O)/cg5000.o $(O)/cg5100.o
