CC	= ppc-morphos-gcc
LD	= ppc-morphos-ld
STRIP	= ppc-morphos-strip
LIBPATH	= /gg/morphos/lib/

CFLAGS = -noixemul -O2 -mcpu=604e -DUSE_INLINE_STDARG -I./ 
LDLIBS	= -labox -lstring -lstringio -lmemblock -lmath -lc -lm -lsyscall

OBJS	= library.o support.o colorwheelclass.o converthsbtorgb.o convertrgbtohsb.o bmbmrp.o #fixmathtrans.o

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

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

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

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

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

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

all: colorwheel.gadget.elf

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

colorwheelclass.o: colorwheelclass.c colorwheel_intern.h
	$(CC) $(CFLAGS) -c colorwheelclass.c -o $@
	
converthsbtorgb.o: converthsbtorgb.c
	$(CC) $(CFLAGS) -c converthsbtorgb.c -o $@
	
convertrgbtohsb.o: convertrgbtohsb.c fixmath.h
	$(CC) $(CFLAGS) -c convertrgbtohsb.c -o $@

support.o: support.c colorwheel_intern.h fixmath.h
	$(CC) $(CFLAGS) -c support.c -o $@
	
bmbmrp.o: bmbmrp.c bmbmrp.h
	$(CC) $(CFLAGS) -c bmbmrp.c -o $@
	
fixmathtrans.o:	fixmathtrans.c fixmath.h
	$(CC) $(CFLAGS) -c fixmathtrans.c -o $@
