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