1
0
mirror of https://github.com/mist-devel/mist-board.git synced 2026-01-29 21:01:07 +00:00
Files
mist-devel.mist-board/tests/tg68k/Makefile
2015-09-22 09:45:17 +02:00

74 lines
1.9 KiB
Makefile

CODE = tests/testsuite
TG68K_RUN = tg68k_run
M68K_RUN = m68k_run
SRCS = TG68K_ALU.vhd TG68K_Pack.vhd TG68KdotC_Kernel.vhd $(TG68K_RUN).vhd mem_if.vhd
OBJS = $(SRCS:.vhd=.o) mem_if_c.o mem.o
GHW = $(TG68K_RUN).ghw
TOOLS=../../tools
ZIP = tg68k_run.zip
PATCH = tg68k.patch
M68K_RUN_OBJS = $(M68K_RUN).o mem.o m68kcpu.o m68kops.o m68kopnz.o m68kopac.o m68kopdm.o
all: $(M68K_RUN) $(TG68K_RUN)
TG68KdotC_Kernel.o: TG68K_Pack.o
TG68K_ALU.o: TG68K_Pack.o
tg68k_run.o: mem_if.o
%.o: %.vhd # work-obj93.cf
ghdl -a --ieee=synopsys -fexplicit $<
work-obj93.cf: $(SRCS)
ghdl -i $(SRCS)
$(TG68K_RUN): $(OBJS) mem_if_c.o mem.o
ghdl -e -Wl,mem_if_c.o -Wl,mem.o --ieee=synopsys -fexplicit $@
%.o: Musashi/%.c
gcc -o $@ -c $<
m68kcpu.o: Musashi/m68kops.h
Musashi/m68kops.c: Musashi/m68kops.h
Musashi/m68kopnz.c: Musashi/m68kops.h
Musashi/m68kopdm.c: Musashi/m68kops.h
Musashi/m68kopac.c: Musashi/m68kops.h
$(CODE).bin: $(CODE).s tests/bcd.s tests/bfxxx.s tests/cmpi_d16_pc.s
Musashi/m68kops.h: Musashi/m68kmake Musashi/m68k_in.c
cd Musashi; ./m68kmake
$(M68K_RUN): $(M68K_RUN_OBJS)
gcc -o $(M68K_RUN) $(M68K_RUN_OBJS)
test: $(M68K_RUN) $(CODE).bin
./$(M68K_RUN) $(CODE).bin
vtest: tg68k_run $(CODE).bin
ghdl -r tg68k_run --ieee-asserts=disable --stop-time=20000ns --wave=$(GHW)
clean::
rm -f work-obj93.cf *.o Musashi/m68kop* $(CODE).bin *~ *.lst *.ghw $(TG68K_RUN) ghwreplay Musashi/m68kmake $(M68K_RUN)
$(GHW): $(TG68K_RUN) Makefile
ghdl -r $< --ieee-asserts=disable --stop-time=20000ns --wave=$@
disasm: $(CODE).bin
# $(TOOLS)/tools/m68kdis/m68kdis -020 $(CODE).bin
cat $(CODE).bin.s
view: $(GHW)
gtkwave $< $(TG68K_RUN).sav
%.bin: %.s
$(TOOLS)/vasm/vasmm68k_mot -m68020 -Fbin -o $@ -L $(CODE).lst -nosym $<
hexdump -C $@
zip::
make clean
make patch
zip -r $(ZIP) *.c *.h *.vhd $(CODE).s Makefile *.sav orig Musashi
patch::
for i in orig/*.vhd ; do diff -Nbaur $$i `basename $$i`; done >$(PATCH) | true