Makefile revision 157811
117987Speter#	@(#)Makefile	8.4 (Berkeley) 5/5/95
250471Speter# $FreeBSD: head/bin/sh/Makefile 157811 2006-04-17 17:55:11Z schweikh $
31556Srgrimes
41556SrgrimesPROG=	sh
5127167SruINSTALLFLAGS= -S
635783SbdeSHSRCS=	alias.c arith.y arith_lex.l cd.c echo.c error.c eval.c exec.c expand.c \
71556Srgrimes	histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
886692Sknu	mystring.c options.c output.c parser.c redir.c show.c \
986505Sknu	test.c trap.c var.c
1035783SbdeGENSRCS= builtins.c init.c nodes.c syntax.c
11124751SruGENHDRS= builtins.h nodes.h syntax.h token.h
1235783SbdeSRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS} y.tab.h
1317987Speter
1451090Ssheldonh# MLINKS for Shell built in commands for which there are no userland
1551090Ssheldonh# utilities of the same name are handled with the associated manpage,
16157811Sschweikh# builtin.1 in share/man/man1/.
1751090Ssheldonh
18125503SruDPADD= ${LIBL} ${LIBEDIT} ${LIBTERMCAP}
19125503SruLDADD= -ll -ledit -ltermcap
2017987Speter
211556SrgrimesLFLAGS= -8	# 8-bit lex scanner for arithmetic
221556SrgrimesCFLAGS+=-DSHELL -I. -I${.CURDIR}
2317988Speter# for debug:
2417988Speter# CFLAGS+= -g -DDEBUG=2
25149046SstefanfWARNS?=	3
26114500SobrienWFORMAT=0
2717987Speter
2886505Sknu.PATH:	${.CURDIR}/bltin \
2986692Sknu	${.CURDIR}/../../bin/test
301556Srgrimes
3130113SjkhCLEANFILES+= mkinit mkinit.o mknodes mknodes.o \
3235783Sbde	mksyntax mksyntax.o
3330113SjkhCLEANFILES+= ${GENSRCS} ${GENHDRS}
341556Srgrimes
3537456Sbdebuild-tools: mkinit mknodes mksyntax
3637456Sbde
3730113Sjkh.ORDER: builtins.c builtins.h
3825903Sstevebuiltins.c builtins.h: mkbuiltins builtins.def
3917987Speter	cd ${.CURDIR}; sh mkbuiltins ${.OBJDIR}
401556Srgrimes
4125903Ssteveinit.c: mkinit alias.c eval.c exec.c input.c jobs.c options.c parser.c \
4225903Ssteve	redir.c trap.c var.c
4317987Speter	./mkinit ${.ALLSRC:S/^mkinit$//}
441556Srgrimes
4528729Sbde# XXX this is just to stop the default .c rule being used, so that the
4628729Sbde# intermediate object has a fixed name.
4728729Sbde# XXX we have a default .c rule, but no default .o rule.
4828729Sbde.o:
4928729Sbde	${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
5028729Sbdemkinit: mkinit.o
5128729Sbdemknodes: mknodes.o
5228729Sbdemksyntax: mksyntax.o
5328729Sbde
5430113Sjkh.ORDER: nodes.c nodes.h
5517987Speternodes.c nodes.h: mknodes nodetypes nodes.c.pat
561556Srgrimes	./mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat
571556Srgrimes
5830113Sjkh.ORDER: syntax.c syntax.h
591556Srgrimessyntax.c syntax.h: mksyntax
601556Srgrimes	./mksyntax
611556Srgrimes
6225903Sstevetoken.h: mktokens
6325903Ssteve	sh ${.CURDIR}/mktokens
641556Srgrimes
651556Srgrimes.include <bsd.prog.mk>
66