Makefile revision 25906
1#	@(#)Makefile	8.4 (Berkeley) 5/5/95
2#	$Id: Makefile,v 1.19 1997/05/19 00:16:27 steve Exp $
3
4PROG=	sh
5SHSRCS=	alias.c cd.c echo.c error.c eval.c exec.c expand.c \
6	histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
7	mystring.c options.c output.c parser.c printf.c redir.c show.c \
8	trap.c var.c
9GENSRCS= arith.c arith_lex.c builtins.c init.c nodes.c syntax.c
10SRCS= ${SHSRCS} ${GENSRCS}
11
12DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMCAP}
13LDADD+= -ll -ledit -ltermcap
14
15LFLAGS= -8	# 8-bit lex scanner for arithmetic
16CFLAGS+=-DSHELL -I. -I${.CURDIR}
17# for debug:
18# CFLAGS+= -g -DDEBUG=2
19
20.PATH:	${.CURDIR}/bltin ${.CURDIR}/../../usr.bin/printf
21
22CLEANFILES+= builtins.h mkinit mkinit.o mknodes mknodes.o \
23	mksyntax mksyntax.o \
24	nodes.h syntax.h token.h y.tab.h
25CLEANFILES+= ${GENSRCS}
26
27beforedepend: builtins.h nodes.h syntax.h token.h y.tab.h
28
29builtins.c builtins.h: mkbuiltins builtins.def
30	cd ${.CURDIR}; sh mkbuiltins ${.OBJDIR}
31
32init.c: mkinit alias.c eval.c exec.c input.c jobs.c options.c parser.c \
33	redir.c trap.c var.c
34	./mkinit ${.ALLSRC:S/^mkinit$//}
35
36nodes.c nodes.h: mknodes nodetypes nodes.c.pat
37	./mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat
38
39syntax.c syntax.h: mksyntax
40	./mksyntax
41
42token.h: mktokens
43	sh ${.CURDIR}/mktokens
44
45y.tab.h: arith.c
46
47# Rules for object files that rely on generated headers.
48cd.o: nodes.h
49eval.o: builtins.h nodes.h syntax.h
50exec.o: builtins.h nodes.h syntax.h
51expand.o: nodes.h syntax.h
52input.o: syntax.h
53jobs.o: nodes.h syntax.h
54main.o: nodes.h
55mystring.o: syntax.h
56options.o: nodes.h
57output.o: syntax.h
58parser.o: nodes.h syntax.h token.h
59redir.o: nodes.h
60show.o: nodes.h
61trap.o: nodes.h syntax.h
62var.o: nodes.h syntax.h
63
64.include <bsd.prog.mk>
65