# $Id: Makefile,v 1.2 1999/10/06 10:59:50 mg Exp $

# Environment:

PERL=perl
TASM=tasm
TLINK=tlink
PPC=ppc386
CAT=cat

default: all-asm

all: all-asm all-pascal

all-asm: disasm.exe
# Platform: Borland TASM/TLINK for DOS.  Also requires Perl and cat.

all-pascal: disasm
# Platform: Free Pascal Compiler for Linux

clean:
	-rm *.o *~ *.obj tasm.out tlink.out disasm.lst disasm.map

realclean: clean
	-rm disasm disasm.exe opcodes.asm opcodes.inc

# Pascal version

disasm:	disasm.pas opcodes.inc
	$(PPC) -vr disasm

opcodes.inc: opcodes.dat opcodes.pl
	$(PERL) opcodes.pl opcodes.dat > opcodes.inc

# Assembler version

disasm.exe: disasm.asm opcodes.asm
	$(TASM) /la /zi disasm "> tasm.out"
	$(TLINK) /v disasm "> tlink.out"
	$(PERL) tasm-error-filter tasm.out
	$(CAT) tlink.out

disasm.obj: disasm.asm opcodes.asm
	$(TASM) /la disasm "> tasm.out"
	$(PERL) tasm-error-filter tasm.out

opcodes.asm: opcodes.dat opasm.pl
	$(PERL) opasm.pl opcodes.dat > opcodes.asm
