Makefile revision 114500
117987Speter#	@(#)Makefile	8.4 (Berkeley) 5/5/95
250471Speter# $FreeBSD: head/bin/sh/Makefile 114500 2003-05-02 06:24:51Z obrien $
31556Srgrimes
41556SrgrimesPROG=	sh
535783SbdeSHSRCS=	alias.c arith.y arith_lex.l cd.c echo.c error.c eval.c exec.c expand.c \
61556Srgrimes	histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
786692Sknu	mystring.c options.c output.c parser.c redir.c show.c \
886505Sknu	test.c trap.c var.c
935783SbdeGENSRCS= builtins.c init.c nodes.c syntax.c
1035783SbdeGENHDRS= builtins.h nodes.h syntax.h token.h y.tab.h
1135783SbdeSRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS} y.tab.h
1217987Speter
1351090Ssheldonh# MLINKS for Shell built in commands for which there are no userland
1451090Ssheldonh# utilities of the same name are handled with the associated manpage,
1551090Ssheldonh# builtin.1 in share/man/man1/.  
1651090Ssheldonh
1725903SsteveDPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMCAP}
1825221SsteveLDADD+= -ll -ledit -ltermcap
1917987Speter
201556SrgrimesLFLAGS= -8	# 8-bit lex scanner for arithmetic
211556SrgrimesCFLAGS+=-DSHELL -I. -I${.CURDIR}
2217988Speter# for debug:
2317988Speter# CFLAGS+= -g -DDEBUG=2
24114500SobrienWARNS=	0
25114500SobrienWFORMAT=0
2617987Speter
2786505Sknu.PATH:	${.CURDIR}/bltin \
2886692Sknu	${.CURDIR}/../../bin/test
291556Srgrimes
3030113SjkhCLEANFILES+= mkinit mkinit.o mknodes mknodes.o \
3135783Sbde	mksyntax mksyntax.o
3230113SjkhCLEANFILES+= ${GENSRCS} ${GENHDRS}
331556Srgrimes
3437456Sbdebuild-tools: mkinit mknodes mksyntax
3537456Sbde
3630113Sjkh.ORDER: builtins.c builtins.h
3725903Sstevebuiltins.c builtins.h: mkbuiltins builtins.def
3817987Speter	cd ${.CURDIR}; sh mkbuiltins ${.OBJDIR}
391556Srgrimes
4025903Ssteveinit.c: mkinit alias.c eval.c exec.c input.c jobs.c options.c parser.c \
4125903Ssteve	redir.c trap.c var.c
4217987Speter	./mkinit ${.ALLSRC:S/^mkinit$//}
431556Srgrimes
4428729Sbde# XXX this is just to stop the default .c rule being used, so that the
4528729Sbde# intermediate object has a fixed name.
4628729Sbde# XXX we have a default .c rule, but no default .o rule.
4728729Sbde.o:
4828729Sbde	${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
4928729Sbdemkinit: mkinit.o
5028729Sbdemknodes: mknodes.o
5128729Sbdemksyntax: mksyntax.o
5228729Sbde
5330113Sjkh.ORDER: nodes.c nodes.h
5417987Speternodes.c nodes.h: mknodes nodetypes nodes.c.pat
551556Srgrimes	./mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat
561556Srgrimes
5730113Sjkh.ORDER: syntax.c syntax.h
581556Srgrimessyntax.c syntax.h: mksyntax
591556Srgrimes	./mksyntax
601556Srgrimes
6125903Sstevetoken.h: mktokens
6225903Ssteve	sh ${.CURDIR}/mktokens
631556Srgrimes
641556Srgrimes.include <bsd.prog.mk>
65