CC	= ppc-morphos-gcc
LD	= ppc-morphos-ld
STRIP	= ppc-morphos-strip

CFLAGS = -noixemul -O2 -mcpu=604e -DSYSTEM_PRIVATE -DUSE_INLINE_STDARG -I./ -I/gg/morphos/aboxinclude/os-include -I/gg/morphos/aboxinclude/include -I/gg/morphos/include
LDLIBS	= -labox -lstring -lstringio -lmemblock -lmath -lc -lm -lsyscall

OBJS	= library.o support.o gradientsliderclass.o

gradientslider.gadget.elf: $(OBJS)
	$(LD) -fl libnix -o $@.db $(LDFLAGS) $(OBJS) $(LDLIBS)
	$(STRIP) --strip-unneeded --remove-section .comment $@.db -o $@

DUMP:	gradientslider.gadget.elf
	ppc-morphos-objdump --section-headers --all-headers --reloc --disassemble-all gradientslider.gadget.elf.db >gradientslider.gadget.elf.dump

install: gradientslider.gadget.elf
	mkdir -p /sys/morphos/classes/gadgets/
	cp gradientslider.gadget.elf /sys/morphos/classes/gadgets/gradientslider.gadget
	-flushlib gradientslider.gadget

install-iso: gradientslider.gadget.elf
	mkdir -p $(ISOPATH)MorphOS/Classes/Gadgets
	cp gradientslider.gadget.elf $(ISOPATH)MorphOS/Classes/Gadgets/gradientslider.gadget

source:
	(cd .. && tar --transform "s,^gradientslider,&.gadget," -cf $(SOURCEPATH)gradientslider.gadget.tar gradientslider)

clean:
	-rm -rf *.bak *.o *.elf

all: gradientslider.gadget.elf

library.o: library.c gradientslider_intern.h libdefs.h
	$(CC) $(CFLAGS) -c library.c -o $@

gradientsliderclass.o: gradientsliderclass.c gradientslider_intern.h
	$(CC) $(CFLAGS) -c gradientsliderclass.c -o $@
	
support.o: support.c gradientslider_intern.h
	$(CC) $(CFLAGS) -c support.c -o $@
	
