Makefile revision 25960
1#	@(#)Makefile	8.4 (Berkeley) 5/5/95
2#	$Id: Makefile,v 1.20 1997/05/19 00:29:29 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
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.
48arith_lex.o: y.tab.h
49cd.o: nodes.h
50eval.o: builtins.h nodes.h syntax.h
51exec.o: builtins.h nodes.h syntax.h
52expand.o: nodes.h syntax.h
53input.o: syntax.h
54jobs.o: nodes.h syntax.h
55main.o: nodes.h
56mystring.o: syntax.h
57options.o: nodes.h
58output.o: syntax.h
59parser.o: nodes.h syntax.h token.h
60redir.o: nodes.h
61show.o: nodes.h
62trap.o: nodes.h syntax.h
63var.o: nodes.h syntax.h
64
65.include <bsd.prog.mk>
66