.c.o:
	sc $(CFLAGS) $<

.asm.o:
	asm $(AFLAGS) $<

CFLAGS = strmerge nostkchk debug=line structureequivalence
LFLAGS = smallcode smalldata addsym noicons

LIBS = lib:sc.lib lib:amiga.lib lib:debug.lib

all:	demoimage demopubi pubi myclass.library democlasslib demoframe \
	demotextb demo1 demo2 demo3 demo4 demo5

#############################################################################
# simple private image class example
OBJS1 = demoimage.o emboxclass.o classface.o hookface.o

demoimage: $(OBJS1)
	slink lib:c.o $(OBJS1) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# public image class example
OBJS2 = demopubi.o emboxpubcl.o classface.o hookface.o

demopubi: $(OBJS2)
	slink lib:c.o $(OBJS2) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# public image class installer: program version
OBJS3 = pubi.o emboxpubcl.o classface.o hookface.o

pubi: $(OBJS3)
	slink lib:c.o $(OBJS3) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# public image class installer: library version
OBJS4 = myclasslib.o myclassinit.o emboxpubcl.o classface.o hookface.o

myclass.library: $(OBJS4)
	slink $(OBJS4) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# public image class demo
OBJS5 = democlasslib.o

democlasslib: $(OBJS5)
	slink lib:c.o $(OBJS5) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# public image "frame" class example
OBJS6 = demoframe.o frame1class.o classface.o hookface.o

demoframe: $(OBJS6)
	slink lib:c.o $(OBJS6) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# text button class, using frame image around text contents
OBJS7 = demotextb.o textbclass.o frame1class.o classface.o hookface.o

demotextb: $(OBJS7)
	slink lib:c.o $(OBJS7) to $@ lib $(LIBS) $(LFLAGS)


#############################################################################
# boopsi gadgets and GADGETUP messages
OBJS8 = demo1.o classface.o

demo1: $(OBJS8)
	slink lib:c.o $(OBJS8) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# boopsi gadgets and IDCMPUPDATE messages
OBJS9 = demo2.o classface.o

demo2: $(OBJS9)
	slink lib:c.o $(OBJS9) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# boopsi gadgets, a model, ic's, and boopsi interconnections
OBJSA = demo3.o mymodelclass.o hookface.o classface.o

demo3: $(OBJSA)
	slink lib:c.o $(OBJSA) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# an interconnected boopsi gadget group
OBJSB = demo4.o mymodelclass.o hookface.o classface.o

demo4: $(OBJSB)
	slink lib:c.o $(OBJSB) to $@ lib $(LIBS) $(LFLAGS)

#############################################################################
# a class that creates boopsi composite gadgets
OBJSC = demo5.o mygroupgclass.o mymodelclass.o hookface.o classface.o

demo5: $(OBJSC)
	slink lib:c.o $(OBJSC) to $@ lib $(LIBS) $(LFLAGS)

clean:
	-delete \#?.o
