CHARMC=../../../bin/charmc -g

all: pgm

pgm: main.o CImyClass1.o myClass1.o CImyClass2.o myClass2.o
	$(CHARMC) -o pgm main.o CImyClass1.o \
		myClass1.o CImyClass2.o myClass2.o -language idl

main.o: main.C CImyClass1.h CImyClass2.h main.decl.h main.def.h
	$(CHARMC) -c main.C

main.decl.h main.def.h: main.ci
	$(CHARMC) main.ci

myClass1.o: myClass1.C
	$(CHARMC) -c myClass1.C

CImyClass1.o: CImyClass1.C CImyClass1.h CImyClass1.decl.h CImyClass1.def.h
	$(CHARMC) -c CImyClass1.C

CImyClass1.decl.h CImyClass1.def.h: CImyClass1.ci
	$(CHARMC) CImyClass1.ci

CImyClass1.h CImyClass1.ci CImyClass1.C: myClass1.idl
	$(CHARMC) myClass1.idl

myClass2.o: myClass2.h myClass2.C CImyClass1.h CImyClass1.decl.h
	$(CHARMC) -c myClass2.C

CImyClass2.o: CImyClass2.C CImyClass2.h CImyClass2.decl.h CImyClass2.def.h
	$(CHARMC) -c CImyClass2.C

CImyClass2.decl.h CImyClass2.def.h: CImyClass2.ci
	$(CHARMC) CImyClass2.ci

CImyClass2.h CImyClass2.ci CImyClass2.C: myClass2.idl
	$(CHARMC) myClass2.idl

CImyClass1.h: CImyClass1.decl.h

CImyClass2.h: CImyClass2.decl.h

clean:
	-rm -f CI* core conv-host pgm *.o *.decl.h *.def.h *.out
