Makefile revision 1.83
1#	$NetBSD: Makefile,v 1.83 2008/10/25 22:23:55 apb Exp $
2#	@(#)Makefile	8.4 (Berkeley) 5/5/95
3
4.include <bsd.own.mk>
5
6WARNS=4
7
8YHEADER=1
9PROG=	sh
10SHSRCS=	alias.c cd.c echo.c error.c eval.c exec.c expand.c \
11	histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
12	mystring.c options.c parser.c redir.c show.c trap.c output.c var.c \
13	test.c kill.c syntax.c
14GENSRCS=arith.c arith_lex.c builtins.c init.c nodes.c
15GENHDRS=arith.h builtins.h nodes.h token.h
16SRCS=	${SHSRCS} ${GENSRCS}
17
18DPSRCS+=${GENHDRS}
19
20LDADD+=	-ll -ledit -ltermcap
21DPADD+=	${LIBL} ${LIBEDIT} ${LIBTERMCAP}
22
23LFLAGS=	-8	# 8-bit lex scanner for arithmetic
24YFLAGS=	-d
25
26# Environment for scripts executed during build.
27SCRIPT_ENV= \
28	AWK=${TOOL_AWK:Q} \
29	SED=${TOOL_SED:Q}
30
31# The .depend file can get references to these temporary files
32.OPTIONAL: lex.yy.c y.tab.c
33
34.ifdef CRUNCHEDPROG
35LFLAGS+=-L
36YFLAGS+=-l
37.endif
38
39CPPFLAGS+=-DSHELL -I. -I${.CURDIR}
40#XXX: For testing only.
41#CPPFLAGS+=-DDEBUG=1
42#CFLAGS+=-funsigned-char
43#TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char
44
45.ifdef SMALLPROG
46CPPFLAGS+=-DSMALL
47.else
48SRCS+=printf.c
49.endif
50
51.PATH:	${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \
52	${NETBSDSRCDIR}/usr.bin/printf \
53	${NETBSDSRCDIR}/bin/kill
54
55CLEANFILES+= ${GENSRCS} ${GENHDRS} y.tab.h
56CLEANFILES+= trace
57
58token.h: mktokens
59	${_MKTARGET_CREATE}
60	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC}
61
62builtins.h: builtins.c
63	${_MKTARGET_CREATE}
64
65builtins.c: mkbuiltins shell.h builtins.def
66	${_MKTARGET_CREATE}
67	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR}
68	[ -f builtins.h ]
69
70init.c: mkinit.sh ${SHSRCS}
71	${_MKTARGET_CREATE}
72	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC}
73
74nodes.h: nodes.c
75
76nodes.c: mknodes.sh nodetypes nodes.c.pat
77	${_MKTARGET_CREATE}
78	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR}
79	[ -f nodes.h ]
80
81.if ${USETOOLS} == "yes"
82COMPATOBJDIR!=	cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR}
83NBCOMPATLIB=	-L${COMPATOBJDIR} -lnbcompat
84.endif
85
86.include <bsd.prog.mk>
87