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