xref: /original-bsd/old/efl/Makefile (revision c577960b)
1#
2# Copyright (c) 1987 Regents of the University of California.
3# All rights reserved.  The Berkeley software License Agreement
4# specifies the terms and conditions for redistribution.
5#
6#	@(#)Makefile	5.1	(Berkeley)	12/12/87
7#
8CFLAGS=	-O -w
9LIBC=	/lib/libc.a
10SRCS=	addr.c alloc.c blklab.c dcl.c dclgen.c error.c exec.c field.c free.c \
11	gram.c icfile.c init.c io.c lex.c main.c misc.c mk.c namgen.c pass2.c \
12	print.c simple.c struct.c symtab.c tailor.c temp.c
13OBJS=	addr.o alloc.o blklab.o dcl.o dclgen.o error.o exec.o field.o free.o \
14	gram.o icfile.o init.o io.o lex.o main.o misc.o mk.o namgen.o pass2.o \
15	print.o simple.o struct.o symtab.o tailor.o temp.o
16
17all: efl
18
19efl: ${OBJS} ${LIBC}
20	${CC} -o $@ ${CFLAGS} ${OBJS}
21
22# gram.c can no longer be made on a pdp11 because of yacc limits
23gram.c: gram.head gram.dcl gram.expr gram.exec tokdefs
24	(sed < tokdefs "s/#define/%token/" ; \
25	cat gram.head gram.dcl gram.expr gram.exec) > gram.in
26	${YACC} ${YFLAGS} gram.in
27	(echo "#define YYDEBUG"; cat y.tab.c) > gram.c
28	rm -f gram.in y.tab.c
29
30lex.c: fixuplex
31	lex lex.l
32	sh fixuplex
33	mv lex.yy.c lex.c
34
35tokdefs: tokens
36	grep -n . < tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" > tokdefs
37
38clean: FRC
39	rm -f ${OBJS} core efl gram.c lex.c tokdefs
40
41depend: ${SRCS} FRC
42	mkdep ${CFLAGS} ${SRCS}
43
44install: FRC
45	install -s -o bin -g bin -m 755 efl ${DESTDIR}/usr/bin/efl
46
47lint: ${SRCS} FRC
48	lint ${CFLAGS} ${SRCS}
49
50tags: ${SRCS} FRC
51	ctags ${SRCS}
52
53test:
54	./efl "system=gcos" efltest/Hard.e >z1 2>z2
55	cmp z1 efltest/Hard.out
56	./efl "system=gcos" efltest/Band.e >z1 2>z2
57	cmp z1 efltest/Band.out
58	./efl "system=gcos" efltest/Buram.e >z1 2>z2
59	cmp z1 efltest/Buram.out
60	./efl "system=gcos" efltest/Dgl.e >z1 2>z2
61	cmp z1 efltest/Dgl.out
62	rm -f z1 z2
63	@echo TEST OK
64
65FRC:
66
67# DO NOT DELETE THIS LINE -- mkdep uses it.
68# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
69
70addr.o: addr.c defs /usr/include/stdio.h
71alloc.o: alloc.c defs /usr/include/stdio.h
72blklab.o: blklab.c defs /usr/include/stdio.h
73dcl.o: dcl.c defs /usr/include/stdio.h
74dclgen.o: dclgen.c defs /usr/include/stdio.h
75error.o: error.c defs /usr/include/stdio.h
76exec.o: exec.c defs /usr/include/stdio.h
77field.o: field.c defs /usr/include/stdio.h
78free.o: free.c defs /usr/include/stdio.h
79gram.o: gram.c defs /usr/include/stdio.h
80icfile.o: icfile.c defs /usr/include/stdio.h
81init.o: init.c defs /usr/include/stdio.h tokdefs
82io.o: io.c /usr/include/ctype.h defs /usr/include/stdio.h
83lex.o: lex.c /usr/include/stdio.h /usr/include/ctype.h defs
84lex.o: /usr/include/stdio.h tokdefs
85main.o: main.c defs /usr/include/stdio.h
86misc.o: misc.c /usr/include/ctype.h defs /usr/include/stdio.h
87mk.o: mk.c defs /usr/include/stdio.h
88namgen.o: namgen.c defs /usr/include/stdio.h
89pass2.o: pass2.c defs /usr/include/stdio.h /usr/include/ctype.h
90print.o: print.c defs /usr/include/stdio.h
91simple.o: simple.c /usr/include/ctype.h defs /usr/include/stdio.h
92struct.o: struct.c defs /usr/include/stdio.h
93symtab.o: symtab.c defs /usr/include/stdio.h
94tailor.o: tailor.c defs /usr/include/stdio.h
95temp.o: temp.c defs /usr/include/stdio.h
96
97# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
98