
# Uncomment the one corresponding with your system

#SYSTEM=DOS
SYSTEM=UNIX

#-----------------You shouldn't change anything under this line-----------------

ifeq (UNIX, $(SYSTEM))
 RM=rm -f
 ASM=z80-asm
 DISASM=z80-dis
else
 RM=del
 ASM=z80-asm.exe
 DISASM=z80-dis.exe
endif

#CFLAGS=-O2 -Wall -D$(SYSTEM) -W -Wstrict-prototypes -Wno-parentheses -fomit-frame-pointer -malign-functions=0
CFLAGS=-g -Wall -D$(SYSTEM) -W -Wstrict-prototypes -Wno-parentheses  -malign-functions=0
LDFLAGS=

all: $(ASM) $(DISASM)

clean:
	$(RM) *.o
	$(RM) $(ASM)
	$(RM) $(DISASM)
	$(RM) asm.a

z80-dis.o: z80-dis.c asm.h console.h regs.h disasm.h z80-asm.h inst-dis.h file.h

z80-asm.o: z80-asm.c asm.h k_layout.h file.h

instr.o: instr.c instr.h z80-asm.h

file.o: file.c file.h

regs.o: regs.c regs.h z80-asm.h

compile.o: compile.c compile.h

hash.o: hash.c hash.h

asm.o: asm.c asm.h instr.h z80-asm.h hash.h compile.h regs.h

console.o: console.c console.h

inst-dis.o: inst-dis.c disasm.h regs.h z80-asm.h

disasm.o: disasm.c disasm.h z80-dis.h z80-asm.h regs.h


asm.a: asm.o hash.o compile.o regs.o instr.o
	$(RM) asm.a
	ar rcs asm.a asm.o hash.o compile.o regs.o instr.o


$(ASM): z80-asm.o file.o asm.a
	gcc -lc -o $(ASM) z80-asm.o asm.a file.o
$(DISASM): z80-dis.o disasm.o inst-dis.o console.o asm.a file.o
	gcc -lc -o $(DISASM) z80-dis.o disasm.o inst-dis.o console.o asm.a file.o
