#-gcoff3 generates debugging info for a coff format output file
#-g generates debugging info in the operating systems native format
#-O6 optimises code

FLAGS=   -fno-inline -Wcast-align -Wcast-qual -Wall

CFLAGS=  -O6 -I. -Ipluto5 -mcpu32 -msoft-float -D__mod2__=void -DIN_GCC=1 -nostdinc -gcoff3 
CNFLAGS=  -mcpu32 -msoft-float -D__mod2__=void -DIN_GCC=1 -nostdinc -gcoff3
pp		= cproto
as		= m68k-coff-as
cc		= m68k-coff-gcc
ld 		= m68k-coff-ld
ar		= m68k-coff-ar
objects = vectors.o wrapper.o entry.o except.o main.o \
dmamod.o timermod.o serialmod.o inputdev.o outputdev.o \
lampsdev.o sounddev.o vfd1.o vfd2.o \
i2c.o i2cint.o i2cext.o i2cpic.o pluto5.o \
devmgr.o duart.o duart0.o duart1.o duart2.o \
constant.o serialfnc.o mxidev.o vga.o \
atadrv.o ide_hard.o ide_data.o uart.o \
calypso16.o calypso16asm.o 



#Pattern rule to generate a dependancy file from a 'C' file
%.d : %.c
	$(cc) -E -MD $< -o $@

#Pattern rule to generate a prototype file from a 'C' file
%.p : %.c
	$(pp) -I. -e -v -o $@ $<

#Pattern rule to generate a prototype file from a 'C' file
%.sp : %.c
	$(pp) -I. -S -o $@ $<

#Pattern rule to generate an object file from a 'C' file
%.o : %.c
	$(cc) -c $(FLAGS) $(CFLAGS) $< -o $@

#Pattern rule to generate an object file from an assembly file
%.o : %.s
	$(as) $< -mcpu32 -o $@

libpluto5.a:	$(objects) makefile
	$(ar) -rs libpluto5.a $(objects)

i2cint.o : i2cint.c
	$(cc) -c $(FLAGS) $(CNFLAGS) $< -o $@

i2cext.o : i2cext.c
	$(cc) -c $(FLAGS) $(CNFLAGS) $< -o $@

i2cpic.o : i2cpic.c
	$(cc) -c $(FLAGS) $(CNFLAGS) $< -o $@

include	*.d
