1
2.include <src.opts.mk>
3
4CONFGROUPS=	ETC ROOT
5ETC=	profile
6ROOT=	dot.shrc dot.profile
7ROOTDIR=	/root
8ROOTDIR_MODE=	0750
9ROOTNAME_dot.shrc=	.shrc
10ROOTNAME_dot.profile=	.profile
11PACKAGE=runtime
12PROG=	sh
13INSTALLFLAGS= -S
14SHSRCS=	alias.c arith_yacc.c arith_yylex.c cd.c echo.c error.c eval.c \
15	exec.c expand.c \
16	histedit.c input.c jobs.c kill.c mail.c main.c memalloc.c miscbltin.c \
17	mystring.c options.c output.c parser.c printf.c redir.c show.c \
18	test.c trap.c var.c
19GENSRCS= builtins.c nodes.c syntax.c
20GENHDRS= builtins.h nodes.h syntax.h token.h
21SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS}
22
23# MLINKS for Shell built in commands for which there are no userland
24# utilities of the same name are handled with the associated manpage,
25# builtin.1 in share/man/man1/.
26
27LIBADD=	edit
28
29CFLAGS+=-DSHELL -I. -I${.CURDIR}
30# for debug:
31# DEBUG_FLAGS+= -g -DDEBUG=2 -fno-inline
32
33.PATH:	${.CURDIR}/bltin \
34	${.CURDIR:H}/kill \
35	${.CURDIR:H}/test \
36	${SRCTOP}/usr.bin/printf
37
38CLEANFILES+= mknodes mksyntax
39CLEANFILES+= ${GENSRCS} ${GENHDRS}
40
41.if ${MACHINE} == "host" || ${MK_DIRDEPS_BUILD} == "no"
42build-tools: mknodes mksyntax
43
44DEPENDOBJS+= mknodes mksyntax
45mknodes mksyntax: ${BUILD_TOOLS_META}
46builtins.c builtins.h: mkbuiltins
47syntax.c syntax.h: mksyntax
48nodes.c nodes.h: mknodes
49.endif
50
51.ORDER: builtins.c builtins.h
52builtins.h: .NOMETA
53builtins.c builtins.h: builtins.def
54	sh ${.CURDIR}/mkbuiltins ${.CURDIR}
55
56
57.ORDER: nodes.c nodes.h
58nodes.h: .NOMETA
59nodes.c nodes.h: nodetypes nodes.c.pat
60	${BTOOLSPATH:U.}/mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat
61
62.ORDER: syntax.c syntax.h
63syntax.h: .NOMETA
64syntax.c syntax.h:
65	${BTOOLSPATH:U.}/mksyntax
66
67token.h: mktokens
68	sh ${.CURDIR}/mktokens
69
70HAS_TESTS=
71SUBDIR.${MK_TESTS}+= tests
72
73beforeinstallconfig:
74	rm -f ${DESTDIR}/.profile
75
76LINKMODE=${CONFMODE}
77afterinstallconfig:
78	${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}/root/.profile ${DESTDIR}/.profile
79
80.include <bsd.prog.mk>
81