CC=m68k-elf-gcc
LD=m68k-elf-ld #-Thuf# -Tfbug.ld
AS=m68k-elf-as -m68010
NM=m68k-elf-nm
SIZE=m68k-elf-size
STRIP=m68k-elf-strip
OBJDUMP=m68k-elf-objdump
OBJCOPY=m68k-elf-objcopy
XCPP=/home/holm/cross/m68k/bin/m68k-elf-cpp

XCPPFLAGS="-CC"
CFLAGS = -Os -g -m68010 -msoft-float -fomit-frame-pointer
CFLAGS += -fno-zero-initialized-in-bss -ffreestanding 
CFLAGS += -I/home/holm/cross/m68k/m68k-elf/include
LDFLAGS= -Tlinkscript -M=fbug.map -nostdlib -Ttext=0x00800000 -Tbss=0x007e000
ASFLAGS= -ahlm

#LD_LIBS= -L/usr/home/holm/cross/m68k/lib/gcc/m68k-elf/4.6.2/softfp
LD_LIBS= -L/usr/home/holm/cross/m68k/lib/gcc/m68k-elf/4.6.2/m68000
LD_LIBS+= -L/home/holm/cross/m68k/lib 
LD_LIBS+= -L/home/holm/cross/m68k/m68k-elf/lib/m68000 -lgcc -liberty -lc

all: portbug

unixbug : coldunix.o main.o printunix.o getlineunix.o general.o \
	bf.o bm.o br.o bs.o dc.o he.o lo.o rd.o rm.o tm.o \
	mm.o md.o go.o tr.o sd.o as.o asm68.o disasm68.o asmcode68.o \
	handler.o fproutines.o 68def.o asmprocunix.o 
	$(CC) coldunix.o  68def.o \
	printunix.o getlineunix.o general.o asmprocunix.o main.o bf.o bm.o \
	bs.o dc.o he.o lo.o rd.o rm.o tm.o mm.o md.o go.o tr.o br.o \
	sd.o as.o disasm68.o asm68.o asmcode68.o handler.o fproutines.o \
	-g -o cbug040TT 

portbug : coldport.o main.o printport.o getlineport.o general.o \
	asmprocport.o \
	bf.o bm.o br.o bs.o da.o dc.o he.o lo.o rd.o rm.o tm.o \
	mm.o md.o go.o tr.o sd.o as.o asm68.o disasm68.o asmcode68.o \
	asmhandler.o handler.o  asmstartport.o conf.o fproutines.o \
	68def.o rtc.o
	rm -f *.map
	$(LD) $(LDFLAGS) asmstartport.o asmhandler.o coldport.o \
	printport.o getlineport.o general.o asmprocport.o main.o bf.o bm.o \
	bs.o da.o dc.o he.o lo.o rd.o rm.o tm.o mm.o md.o go.o tr.o br.o \
	sd.o as.o disasm68.o asm68.o asmcode68.o handler.o conf.o \
	fproutines.o  68def.o rtc.o \
	-o fbug000TT.elf $(LD_LIBS)
	 $(SIZE) fbug000TT.elf
	$(OBJDUMP) -m68010 -S fbug000TT.elf >fbug000TT.disas


coldport.o :  textdef.h vardef.h userdef.h targetsys.h
coldunix.o :  textdef.h vardef.h userdef.h targetsys.h

asmstartport.o : textdef.h vardef.h userdef.h targetsys.h
		$(XCPP) $(XCPPFLAGS) asmstartport.s  > temp.s
		$(AS) -a=asmstartport.l  -o asmstartport.o temp.s
		rm temp.s
asmcode68.o : textdef.h vardef.h userdef.h targetsys.h
		$(XCPP) $(XCPPFLAGS) asmcode68.s  > temp.s
		$(AS) $(ASFLAGS)=asmcode68.l  -o asmcode68.o temp.s
		rm temp.s
asmhandler.o : textdef.h vardef.h userdef.h targetsys.h
		$(XCPP) $(XCPPFLAGS) asmhandler.s  > temp.s
		$(AS) $(ASFLAGS)=asmhandler.l  -o asmhandler.o temp.s
		rm temp.s
rtc.o : rtc.s textdef.h vardef.h userdef.h targetsys.h
		$(AS) $<  $(ASFLAGS)=$*.l  -o $*.o 
clean:
	rm -f *.o *.elf* *.l symbols *.debug *.map fbug000TT* 

asmclean:
	rm -f asmstartport.o asmcode68.o asmhandler.o temp.s

assemble: asmstartport.o asmcode68.o asmhandler.o

27256: portbug

	$(NM) fbug000TT >symbols
	$(STRIP) fbug000TT
#	c2bin fbug000TT fbug000TT.bin
#	make2rom 32768 fbug000TT.bin fbug000TT.even fbug000TT.odd
27512: portbug

	$(NM) fbug000TT.elf >symbols
	$(STRIP) -o fbug000TT.elf.strip fbug000TT.elf
#	c2bin fbug000TT.elf fbug000TT.bin
	$(OBJCOPY) -O binary -S -Rbss --gap-fill 0xff fbug000TT.elf.strip fbug000TT.rom
	make2rom 65536 fbug000TT.rom fbug000TT.even fbug000TT.odd
