BIN2HEX=bin2hex.py CFLAGS=-g -Og -Wall -Wno-attributes -Wno-unused-function ALT_65C02_CFLAGS=-DALT_BACKEND=1 -DVR_6502_EMU_STATIC=1 ALT_6800_CFLAGS=-DALT_BACKEND=1 -DUSE_PROTOTYPES -DM6800 -Isim68xx/inc/arch/m6800 -Isim68xx/inc/arch/m68xx -Isim68xx/inc/base ALT_68000_CFLAGS=-DALT_BACKEND=1 -IMusashi -IMusashi/softfloat ALT_6809_CFLAGS=-DALT_BACKEND=1 -IVCC ALT_8086_CFLAGS=-DALT_BACKEND=1 -Ivirtualxt/lib/vxt -Ivirtualxt/lib/vxt/include ALT_MIPS_CFLAGS=-DALT_BACKEND=1 -DHAVE_CONFIG_H -Iyams -Iyams/src -Wno-enum-compare ALT_PDP11_CFLAGS=-DALT_BACKEND=1 -Isimh -Isimh/PDP11 ALT_Z80_CFLAGS=-DALT_BACKEND=1 .PHONY: all all: \ emu_65c02 \ emu_65c02_alt \ 6502_functional_test.ihx \ 65C02_extended_opcodes_test.ihx \ emu_6800 \ emu_6800_alt \ emu_68000_alt \ emu_6809 \ emu_6809_alt \ basic_6809.ihx \ emu_8086_alt \ msbasic.ihx \ emu_mips_alt \ emu_pdp11_alt \ basic_pdp11.ihx \ emu_z80 \ emu_z80_alt \ zexall.ihx \ zexdoc.ihx #emu_mips #emu_pdp11 #emu_68000 #emu_8086 # 65C02 emu_65c02: emu_65c02.o cpu_65c02.o ${CC} ${CFLAGS} -o $@ $^ emu_65c02.o: cpu_65c02.h cpu_65c02.o: cpu_65c02.h emu_65c02_alt: emu_65c02_alt.o vrEmu6502.o ${CC} ${CFLAGS} -o $@ $^ emu_65c02_alt.o: emu_65c02.c vrEmu6502/src/vrEmu6502.h ${CC} ${CFLAGS} ${ALT_65C02_CFLAGS} -o $@ -c $< vrEmu6502.o: vrEmu6502/src/vrEmu6502.c vrEmu6502/src/vrEmu6502.h ${CC} ${CFLAGS} ${ALT_65C02_CFLAGS} -c $< 6502_functional_test.ihx: \ 6502_65C02_functional_tests/bin_files/6502_functional_test.bin ${BIN2HEX} $< __temp__.ihx ./entry_point.py 0x400 __temp__.ihx $@ rm __temp__.ihx 65C02_extended_opcodes_test.ihx: \ 6502_65C02_functional_tests/bin_files/65C02_extended_opcodes_test.bin ${BIN2HEX} $< __temp__.ihx ./entry_point.py 0x400 __temp__.ihx $@ rm __temp__.ihx # 6800 emu_6800: emu_6800.o cpu_6800.o ${CC} ${CFLAGS} -o $@ $^ emu_6800.o: cpu_6800.h cpu_6800.o: cpu_6800.h emu_6800_alt: \ emu_6800_alt.o \ m6800_callstac.o \ m6800_cpu.o \ m6800_error.o \ m6800_instr.o \ m6800_reg.o \ m6800_symtab.o \ m6800_opfunc.o \ m6800_optab.o ${CC} ${CFLAGS} -o $@ $^ emu_6800_alt.o: \ emu_6800.c \ sim68xx/inc/arch/m68xx/instr.h \ sim68xx/inc/arch/m68xx/reg.h ${CC} ${CFLAGS} ${ALT_6800_CFLAGS} -o $@ -c $< m6800_callstac.o: sim68xx/src/base/callstac.c ${CC} ${CFLAGS} ${ALT_6800_CFLAGS} -o $@ -c $< m6800_cpu.o: sim68xx/src/base/cpu.c ${CC} ${CFLAGS} ${ALT_6800_CFLAGS} -o $@ -c $< m6800_error.o: sim68xx/src/base/error.c ${CC} ${CFLAGS} ${ALT_6800_CFLAGS} -o $@ -c $< m6800_instr.o: sim68xx/src/arch/m6800/instr.c ${CC} ${CFLAGS} ${ALT_6800_CFLAGS} -o $@ -c $< m6800_reg.o: sim68xx/src/arch/m68xx/reg.c ${CC} ${CFLAGS} ${ALT_6800_CFLAGS} -o $@ -c $< m6800_symtab.o: sim68xx/src/base/symtab.c ${CC} ${CFLAGS} ${ALT_6800_CFLAGS} -o $@ -c $< m6800_opfunc.o: sim68xx/src/arch/m68xx/opfunc.c ${CC} ${CFLAGS} ${ALT_6800_CFLAGS} -o $@ -c $< m6800_optab.o: sim68xx/src/arch/m6800/optab.c ${CC} ${CFLAGS} ${ALT_6800_CFLAGS} -o $@ -c $< # 68000 emu_68000: emu_68000.o cpu_68000.o ${CC} ${CFLAGS} -o $@ $^ emu_68000.o: cpu_68000.h cpu_68000.o: cpu_68000.h emu_68000_alt: \ emu_68000_alt.o \ m68kcpu.o \ m68kops.o \ softfloat.o ${CC} ${CFLAGS} -o $@ $^ emu_68000_alt.o: \ emu_68000.c \ Musashi/m68k.h ${CC} ${CFLAGS} ${ALT_68000_CFLAGS} -o $@ -c $< m68kcpu.o: Musashi/m68kcpu.c Musashi/m68kfpu.c ${CC} ${CFLAGS} ${ALT_68000_CFLAGS} -o $@ -c $< m68kops.o: Musashi/m68kops.c ${CC} ${CFLAGS} ${ALT_68000_CFLAGS} -o $@ -c $< softfloat.o: Musashi/softfloat/softfloat.c ${CC} ${CFLAGS} ${ALT_68000_CFLAGS} -o $@ -c $< # 6809 emu_6809: emu_6809.o cpu_6809.o ${CC} ${CFLAGS} -o $@ $^ emu_6809.o: cpu_6809.h cpu_6809.o: cpu_6809.h emu_6809_alt: \ emu_6809_alt.o \ mc6809.o ${CC} ${CFLAGS} -o $@ $^ emu_6809_alt.o: \ emu_6809.c \ VCC/mc6809.h \ VCC/tcc1014mmu.h ${CC} ${CFLAGS} ${ALT_6809_CFLAGS} -o $@ -c $< mc6809.o: VCC/mc6809.c ${CC} ${CFLAGS} ${ALT_6809_CFLAGS} -o $@ -c $< basic_6809.ihx: ExBasROM.hex dos2unix <$< >$@ ExBasROM.hex: ExBasRom.zip rm -f $@ unzip $< $@ ExBasRom.zip: rm -f $@ wget http://searle.x10host.com/6809/$@ # 8086 emu_8086: emu_8086.o cpu_8086.o ${CC} ${CFLAGS} -o $@ $^ emu_8086.o: cpu_8086.h cpu_8086.o: cpu_8086.h emu_8086_alt: emu_8086_alt.o vxt_cpu.o ${CC} ${CFLAGS} -o $@ $^ emu_8086_alt.o: emu_8086.c virtualxt/lib/vxt/cpu.h ${CC} ${CFLAGS} ${ALT_8086_CFLAGS} -o $@ -c $< vxt_cpu.o: virtualxt/lib/vxt/cpu.c virtualxt/lib/vxt/cpu.h ${CC} ${CFLAGS} ${ALT_8086_CFLAGS} -o $@ -c $< msbasic.ihx: msbasic.com ${BIN2HEX} --offset=0x600 $< __temp__.ihx ./entry_point.py 0x50:0x100 __temp__.ihx $@ rm __temp__.ihx # MIPS emu_mips: emu_mips.o cpu_mips.o ${CC} ${CFLAGS} -o $@ $^ emu_mips.o: cpu_mips.h cpu_mips.o: cpu_mips.h emu_mips_alt: \ emu_mips_alt.o \ cp0.o \ cpu.o \ misc.o ${CC} ${CFLAGS} -o $@ $^ emu_mips_alt.o: \ emu_mips.c \ yams/src/cpu.h \ yams/src/cpu_defs.h \ yams/src/cpuregs.h \ yams/src/memory.h \ yams/src/simulator.h ${CC} ${CFLAGS} ${ALT_MIPS_CFLAGS} -o $@ -c $< cp0.o: yams/src/cp0.c ${CC} ${CFLAGS} ${ALT_MIPS_CFLAGS} -o $@ -c $< cpu.o: yams/src/cpu.c ${CC} ${CFLAGS} ${ALT_MIPS_CFLAGS} -o $@ -c $< misc.o: yams/src/misc.c ${CC} ${CFLAGS} ${ALT_MIPS_CFLAGS} -o $@ -c $< # PDP-11 emu_pdp11: emu_pdp11.o cpu_pdp11.o ${CC} ${CFLAGS} -o $@ $^ emu_pdp11.o: cpu_pdp11.h cpu_pdp11.o: cpu_pdp11.h emu_pdp11_alt: \ emu_pdp11_alt.o \ pdp11_cpu.o \ pdp11_cis.o \ pdp11_fp.o ${CC} ${CFLAGS} -o $@ $^ emu_pdp11_alt.o: \ emu_pdp11.c \ simh/PDP11/pdp11_defs.h \ simh/PDP11/pdp11_cpumod.h ${CC} ${CFLAGS} ${ALT_PDP11_CFLAGS} -o $@ -c $< pdp11_cpu.o: simh/PDP11/pdp11_cpu.c ${CC} ${CFLAGS} ${ALT_PDP11_CFLAGS} -o $@ -c $< pdp11_cis.o: simh/PDP11/pdp11_cis.c ${CC} ${CFLAGS} ${ALT_PDP11_CFLAGS} -o $@ -c $< pdp11_fp.o: simh/PDP11/pdp11_fp.c ${CC} ${CFLAGS} ${ALT_PDP11_CFLAGS} -o $@ -c $< basic_pdp11.ihx: doc/DEC-11-AJPB-PB.ptap ./absolute_loader.py $< $@ # Z80 emu_z80: emu_z80.o cpu_z80.o ${CC} ${CFLAGS} -o $@ $^ emu_z80.o: cpu_z80.h cpu_z80.o: cpu_z80.h emu_z80_alt: emu_z80_alt.o z80.o ${CC} ${CFLAGS} -o $@ $^ emu_z80_alt.o: emu_z80.c z80/z80.h ${CC} ${CFLAGS} ${ALT_Z80_CFLAGS} -o $@ -c $< z80.o: z80/z80.c z80/z80.h ${CC} ${CFLAGS} ${ALT_Z80_CFLAGS} -c $< zexall.ihx: ZEXALL/zexall.com ${BIN2HEX} --offset=0x100 $< __temp__.ihx ./entry_point.py 0x100 __temp__.ihx $@ rm __temp__.ihx zexdoc.ihx: ZEXALL/zexdoc.com ${BIN2HEX} --offset=0x100 $< __temp__.ihx ./entry_point.py 0x100 __temp__.ihx $@ rm __temp__.ihx .PHONY: clean clean: rm -f \ *.ihx \ *.o \ emu_65c02 \ emu_65c02_alt \ emu_6800 \ emu_6800_alt \ emu_68000_alt \ emu_6809 \ emu_6809_alt \ emu_8086_alt \ emu_pdp11_alt \ emu_z80 \ emu_z80_alt #emu_pdp11 #emu_68000 #emu_8086