
OBJECTS1 = adb.o clock.o dis.o scc.o iwm.o moremem.o sim65816.o smartport.o sound.o video.o xdriver.o
OBJECTS = $(OBJECTS1) engine_c.o sound_dummy.o
CC = cc
CCOPTS = -O
OPTS =  -DNDEBUG
SUFFIX =
NAME = kegs
LDFLAGS =
LDOPTS =
LD = $(CC)
EXTRA_LIBS = -lXext -lX11 -lc
PROJROOT = .

AS = cc

XOPTS = -I/usr/X11R6/include
XLIBS = -L/usr/X11R6/lib

all: specials $(NAME)$(SUFFIX) partls to_pro

clean: specials_clean
	rm -f *.o kegs

specials: 8inst_s 16inst_s 8size 16size 8inst_c 16inst_c size_c size_s Alib.h

specials_clean:
	rm -f 8inst_s 16inst_s 8size 16size 8inst_c 16inst_c size_c size_s Alib.h


$(NAME)$(SUFFIX): $(OBJECTS) compile_time.o specials
	$(LD) $(LDOPTS) $(OBJECTS) compile_time.o $(LDFLAGS) -o $(NAME)$(SUFFIX) $(XLIBS) $(EXTRA_LIBS) -lm

8inst_s: instable.h
	$(PROJROOT)/make_inst s 8 instable.h > 8inst_s

16inst_s: instable.h
	$(PROJROOT)/make_inst s 16 instable.h > 16inst_s

8inst_c: instable.h
	$(PROJROOT)/make_inst c 8 instable.h > 8inst_c

16inst_c: instable.h
	$(PROJROOT)/make_inst c 16 instable.h > 16inst_c

8size: size_tab.h
	$(PROJROOT)/make_size 8 size_tab.h > 8size

16size: size_tab.h
	$(PROJROOT)/make_size 16 size_tab.h > 16size

size_c: size_tab.h
	$(PROJROOT)/make_size c size_tab.h > size_c

size_s: size_tab.h
	$(PROJROOT)/make_size s size_tab.h > size_s

Alib.h:
	rm -f Alib.h
	$(PROJROOT)/make_alib


engine_s.o: 8inst_s 8size 16inst_s 16size

engine_c.o: 8inst_c 16inst_c

.s.o:
	$(AS) -c $(OPTS) -I. $*.s

.c.o:
	$(CC) $(CCOPTS) $(XOPTS) -c $(OPTS) -I. $*.c

partls: partls.c
	$(CC) $(CCOPTS) -o partls partls.c

to_pro: prodos.h prodos_protos.h to_pro.c
	$(CC) $(CCOPTS) -o to_pro to_pro.c

compile_time.o: $(OBJECTS)

# DO NOT DELETE

adb.o: adb.h defc.h defcomm.h  
adb.o:  iwm.h protos.h
clock.o: defc.h defcomm.h  
clock.o:  iwm.h protos.h 
dis.o:   defc.h
dis.o: defcomm.h  
dis.o:  iwm.h protos.h disas.h
scc.o: defc.h defcomm.h  
scc.o:  iwm.h protos.h
iwm.o: defc.h defcomm.h  
iwm.o:  iwm.h protos.h iwm_35_525.h
moremem.o: defc.h defcomm.h  
moremem.o:   iwm.h protos.h
sim65816.o:   defc.h defcomm.h
sim65816.o:  iwm.h protos.h
smartport.o: defc.h defcomm.h  
smartport.o:   iwm.h protos.h
sound.o: defc.h defcomm.h  
sound.o:  iwm.h protos.h sound.h 
sound_hp.o: defc.h defcomm.h  
sound_hp.o:   iwm.h protos.h
sound_hp.o: sound.h  
sound_hp.o:  Alib.h 
video.o:   defc.h defcomm.h
video.o:  iwm.h protos.h superhires.h
xdriver.o:  defc.h defcomm.h 
xdriver.o:  iwm.h protos.h protos_xdriver.h
engine_s.o: defs.h defcomm.h op_routs.h defs_instr.h 8inst_s 16inst_s 8size
engine_s.o: 16size
engine_c.o: defc.h defcomm.h op_routs.h defs_instr.h 8inst_c 16inst_c size_c
engine_c.o: protos.h iwm.h
