# To make the standard y86 simulator (ssim) type # make ssim # # To make sinc from seq-inc.hcl, type "make sinc" # To make sleave from seq-leave.hcl type "make sleave" # To make sdbl from seq-dbl.hcl type "make sdbl" # # The version of yas supplied already supports these # 3 new instructions (incl, leave and dbl). CC=gcc CFLAGS=-Wall -O2 ################################################## # You shouldn't need to modify anything below here ################################################## HCL2C=./hcl2c INC= LIBS= -lm YAS=yas all: ssim # This rule builds the standard SEQ simulator (ssim) ssim: seq-std.hcl ssim.c sim.h isa.c isa.h # Building the seq-std.hcl version of SEQ $(HCL2C) -n seq-std.hcl seq-std.c $(CC) $(CFLAGS) $(INC) -o ssim \ seq-std.c ssim.c isa.c $(LIBS) # This rule builds the SEQ simulator (sinc) sinc: seq-inc.hcl ssim.c sim.h isa.c isa.h # Building the seq-inc.hcl version of SEQ $(HCL2C) -n seq-inc.hcl seq-inc.c $(CC) $(CFLAGS) $(INC) -o sinc \ seq-inc.c ssim.c isa.c $(LIBS) # This rule builds the SEQ simulator (sleave) sleave: seq-inc.hcl ssim.c sim.h isa.c isa.h # Building the seq-inc.hcl version of SEQ $(HCL2C) -n seq-leave.hcl seq-leave.c $(CC) $(CFLAGS) $(INC) -o sleave \ seq-leave.c ssim.c isa.c $(LIBS) # This builds SEQ with dbl sdbl: seq-dbl.hcl ssim.c sim.h isa.c isa.h # Building the seq-dbl.hcl version of SEQ $(HCL2C) -n seq-dbl.hcl seq-dbl.c $(CC) $(CFLAGS) $(INC) -o sdbl \ seq-dbl.c ssim.c isa.c $(LIBS) # These are implicit rules for assembling .yo files from .ys files. .SUFFIXES: .ys .yo .ys.yo: $(YAS) $*.ys clean: rm -f ssim ssim+ seq*-*.c *.o *~ *.exe