* reordered a little bit
[mascara-docs.git] / i86 / elks / elkscmd / bc / Makefile
blobc8721e9399ce2687035ccf0179b9b8e3f866ae09
1 # Makefile for bc
3 # A makefile for bc. This is part of the bc/sbc distribution.
5 # $Id$
6 ###############################################################################
8 # Include standard packaging commands.
10 BASEDIR = ..
11 include $(BASEDIR)/Make.defs
13 MIN_BIN =
14 MIN_LIB =
15 MIN_SBIN =
16 MIN_USR_BIN = fbc bc
17 MIN_USR_LIB =
18 MIN_USR_MAN =
19 MIN_USR_SBIN =
21 NET_BIN =
22 NET_LIB =
23 NET_SBIN =
24 NET_USR_BIN =
25 NET_USR_LIB =
26 NET_USR_MAN =
27 NET_USR_SBIN =
29 STD_BIN =
30 STD_LIB =
31 STD_SBIN =
32 STD_USR_BIN =
33 STD_USR_LIB =
34 STD_USR_MAN =
35 STD_USR_SBIN =
37 ###############################################################################
39 # Make sure these have the correct directories for your machine.
41 # LIBDIR and BINDIR are where bc and libmath.b will be put.
43 PREFIX = /usr
44 LIBDIR = $(PREFIX)/lib
45 BINDIR = $(PREFIX)/bin
47 # Programs definitions for use by make.
49 SHELL = /bin/sh
51 YACC = yacc
52 #YACC = bison -y
54 LEX = flex -I -8
55 #LEX = lex
57 CC = bcc
58 CFLAGS = -ansi -0 -O -D_POSIX_SOURCE
59 LDFLAGS = -0 -s
61 OFILES = scan.o util.o main.o number.o storage.o load.o execute.o
63 SUBDIRS = Examples Test
65 all: fbc bc
67 bc: $& config.h bc.o $(OFILES) global.o
68 $(CC) -o bc $(LDFLAGS) bc.o $(OFILES) global.o
70 sbc: sbc.o $(OFILES) global.o
71 $(CC) -o sbc $(LDFLAGS) sbc.o $(OFILES) global.o
73 math.h: libmath.b
74 $(MAKE) -$(MAKEFLAGS) fbc
75 elksemu ./fbc -c libmath.b </dev/null >math.h
76 ./fix_math.h
77 rm -f ./fbc
79 fbc: $(OFILES) bc.o
80 echo \"\" > math.h
81 $(CC) -c $(CFLAGS) global.c
82 $(CC) -o fbc $(LDFLAGS) bc.o $(OFILES) global.o
84 install: $(BINDIR)/bc $(LIBDIR)/libmath.b
86 $(BINDIR)/bc: bc
87 install -cs -o bin $? $@
89 $(LIBDIR)/libmath.b: libmath.b
90 install -c -o bin $? $@
92 rfs: all
93 cp -p bc $(TARGET_MNT)/bin
94 cp -p fbc $(TARGET_MNT)/bin
96 min_rfs: all
98 smin_rfs: all
100 net_rfs:
102 clean:
103 rm -f *.o *.bak core math.h bc fbc sbc bc.c sbc.c scan.c y.tab.h
105 scan.c: scan.l
106 $(LEX) scan.l
107 mv lex.yy.c scan.c
109 y.tab.h bc.c: bc.y
110 @echo "expect 1 shift/reduce conflict"
111 $(YACC) -d bc.y
112 mv y.tab.c bc.c
114 sbc.c: sbc.y
115 $(YACC) -d sbc.y
116 mv y.tab.c sbc.c
118 global.o: bcdefs.h global.h math.h
119 bc.o: bcdefs.h global.h
120 execute.o: bcdefs.h global.h
121 load.o: bcdefs.h global.h
122 main.o: bcdefs.h global.h version.h
123 number.o: bcdefs.h
124 sbc.o: bcdefs.h global.h
125 scan.o: y.tab.h bcdefs.h global.h
126 storage.o: bcdefs.h global.h
127 util.o: bcdefs.h global.h version.h
129 bcdefs.h: number.h const.h config.h
130 touch bcdefs.h