1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
#######################################################
#
# a56 - a DSP56001 assembler
#
# Written by Quinn C. Jensen
# July 1990
#
#######################################################
# environment definitions
# uncomment the ones you like
# generic unix
CC = cc
HOSTCC = cc
YACC = yacc
CCDEFS = -DLDEBUG
MV = mv
YTABC = y.tab.c
YTABH = y.tab.h
POSTPROCESS = echo
# gcc & bison
#CC = gcc
#HOSTCC = gcc
#YACC = bison -y
#CCDEFS =
#MV = mv
#YTABC = y.tab.c
#YTABH = y.tab.h
#POSTPROCESS = echo
# Delorie's DOS gcc (from ftp://omnigate.clarkson.edu/pub/msdos/djgpp)
#CC = gcc
#HOSTCC = gcc
#YACC = bison -y
#CCDEFS =
#MV = ren
#YTABC = y_tab.c
#YTABH = y_tab.h
#POSTPROCESS = coff2exe
# gcc cross-compile to go32 environment
#CC = i386-go32-gcc
#HOSTCC = cc
#YACC = yacc
#CCDEFS =
#MV = mv
#YTABC = y.tab.c
#YTABH = y.tab.h
#POSTPROCESS = echo
#######################################################
# -O or -g
#DEBUG = -O -Olimit 3000
DEBUG = -O
SRCS = main.c a56.y lex.c subs.c getopt.c kparse.key
OBJS = main.o gram.o lex.o toktab.o subs.o getopt.o kparse.o
DEFINES = $(CCDEFS)
#DEFINES = -DYYDEBUG -DLDEBUG $(CCDEFS)
CFLAGS += $(DEBUG) $(DEFINES) $(CPPFLAGS) $(LDFLAGS)
all: keybld a56 toomf a56-tobin bin2h
a56: $(OBJS)
$(CC) $(CFLAGS) -o a56 $(OBJS) -lm
@$(POSTPROCESS) a56
keybld: keybld.o ksubs.o
$(HOSTCC) $(CFLAGS) -o keybld keybld.o ksubs.o
@$(POSTPROCESS) keybld
keybld.o: keybld.c
$(HOSTCC) $(CFLAGS) -c keybld.c
ksubs.o: subs.c
$(HOSTCC) $(CFLAGS) -c subs.c
$(MV) subs.o ksubs.o
lex.o: lex.c gram.h
kparse.c: a56.key keybld
./keybld < a56.key > kparse.c
gram.c gram.h: a56.y
@echo "[expect 2 shift/reduce conflicts here]"
$(YACC) -d a56.y
$(MV) $(YTABC) gram.c
$(MV) $(YTABH) gram.h
toktab.c: gram.h
awk -f tok.awk < gram.h > toktab.c
y.output: a56.y
$(YACC) -v a56.y
toomf: toomf.o
$(CC) -o toomf $(CFLAGS) toomf.o
@$(POSTPROCESS) toomf
torom: torom.o subs.o
$(CC) -o torom $(CFLAGS) torom.o subs.o
tape: toktab.c
csh -c 'tar cvbf 1 - `cat files` | gzip > a56.tar.gz'
main.o gram.o lex.o: a56.h
clean: ; rm -f a56 toomf y.output *.o *.out tmp *.bak a56.tar.gz keybld
spotless: clean
rm -f gram.c lexyy.c gram.h toktab.c kparse.c
a56-tobin: debian/a56-tobin.o
$(CC) -o a56-tobin $(CFLAGS) debian/a56-tobin.o
@$(POSTPROCESS) a56-tobin
bin2h: debian/bin2h.o
$(CC) -o bin2h $(CFLAGS) debian/bin2h.o
@$(POSTPROCESS) bin2h
|