
# This makefile was built using the mkbuild script in this directory
# Run this script instead of using Make on a new platform
# The only thing you may have to change is to add -DNOTANSI
# if strstr is not defined (ie. vaxen and RTS
# -- gsstark


# This program uses Flex, Bison, and Gnu CC to build the assembler.
# All are available free of charge from the Free Software Foundation.
# Get them by anonymous FTP to prep.ai.mit.edu in the directories
#   /pub/gnu/...
CC = gcc
CFLAGS = -O2 -I/usr/athena/Include -L/usr/athena/lib -DFLEX -DBISON -DNO_DISP

PROGNAME = koth

OBJS = cwmain.o asm_parse.o sim.o clparse.o disp.o di_timer.o di_recalc.o  \
       di_draw.o di_input.o ldaddr.o di_load.o siminstr.o asm_lex.o gbut.o \
       di_dis.o di_but.o

SOURCES = corewar.h sim.c clparse.c asm_lex.flex asm_parse.y clparse.h     \
          ldaddr.c di_recalc.c di_draw.c cwdisp.h di_load.c build_siminstr \
          sim.h asm.h koth.1 README mkbuild disp.c cwmain.c di_timer.c     \
          di_input.c di_dis.c gbut.c di_but.c gbut.h

$(PROGNAME):	$(OBJS)
	$(CC) -o $(PROGNAME) $(CFLAGS) $(OBJS) 

$(PROGNAME).shar:	${SOURCES}
	shar ${SOURCES} > $(PROGNAME).shar

asm_lex.c:	asm_lex.flex
	flex -i asm_lex.flex
	mv lex.yy.c asm_lex.c

asm_parse.h asm_parse.c:	asm_parse.y
	bison asm_parse.y -d -o asm_parse.c

siminstr.c:	build_siminstr sim.c
	@echo Building siminstr.c: This may take a long time.
	build_siminstr > siminstr.c

.c.o:
	$(CC) -c $(CFLAGS) $<

cwmain.o:	corewar.h clparse.h
asm_parse.o:	corewar.h asm.h
asm_lex.o:	corewar.h asm_parse.h asm.h
sim.o:	corewar.h sim.h
clparse.o:	corewar.h clparse.h
disp.o:	corewar.h cwdisp.h gbut.h
di_timer.o:	corewar.h cwdisp.h gbut.h
di_recalc.o:	corewar.h cwdisp.h gbut.h
di_draw.o:	corewar.h cwdisp.h gbut.h
di_input.o:	corewar.h cwdisp.h gbut.h
ldaddr.o:	corewar.h
di_load.o:	corewar.h cwdisp.h gbut.h
siminstr.o:	corewar.h sim.h
di_dis.o:	corewar.h cwdisp.h gbut.h
di_but.o:	corewar.h cwdisp.h gbut.h
gbut.o:	gbut.h

clean:
	rm -f $(OBJS) asm_parse.c asm_lex.c $(PROGNAME).shar asm_parse.h \
		siminstr.c
