Makefile revision 1.86
1#	$NetBSD: Makefile,v 1.86 2009/10/29 14:21:40 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 -ltermcap
19DPADD+=	${LIBL} ${LIBEDIT} ${LIBTERMCAP}
20
21LFLAGS=	-8	# 8-bit lex scanner for arithmetic
22YFLAGS=	-d
23
24# Environment for scripts executed during build.
25SCRIPT_ENV= \
26	AWK=${TOOL_AWK:Q} \
27	SED=${TOOL_SED:Q}
28
29# The .depend file can get references to these temporary files
30.OPTIONAL: lex.yy.c y.tab.c
31
32.ifdef CRUNCHEDPROG
33LFLAGS+=-L
34YFLAGS+=-l
35.endif
36
37CPPFLAGS+=-DSHELL -I. -I${.CURDIR}
38#XXX: For testing only.
39#CPPFLAGS+=-DDEBUG=1
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
60builtins.h: builtins.c
61	${_MKTARGET_CREATE}
62
63builtins.c: mkbuiltins shell.h builtins.def
64	${_MKTARGET_CREATE}
65	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR}
66	[ -f builtins.h ]
67
68init.c: mkinit.sh ${SHSRCS}
69	${_MKTARGET_CREATE}
70	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC}
71
72nodes.h: nodes.c
73
74nodes.c: mknodes.sh nodetypes nodes.c.pat
75	${_MKTARGET_CREATE}
76	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR}
77	[ -f nodes.h ]
78
79.if ${USETOOLS} == "yes"
80COMPATOBJDIR!=	cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR}
81NBCOMPATLIB=	-L${COMPATOBJDIR} -lnbcompat
82.endif
83
84.include <bsd.prog.mk>
85