Home | History | Annotate | Line # | Download | only in sh
Makefile revision 1.66
      1 #	$NetBSD: Makefile,v 1.66 2003/05/15 10:13:36 dsl Exp $
      2 #	@(#)Makefile	8.4 (Berkeley) 5/5/95
      3 
      4 .include <bsd.own.mk>
      5 
      6 YHEADER=1
      7 PROG=	sh
      8 SHSRCS=	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 printf.c kill.c
     12 GENSRCS=arith.c arith.h arith_lex.c builtins.c builtins.h init.c nodes.c \
     13 	nodes.h syntax.c syntax.h token.h
     14 SRCS=	${SHSRCS} ${GENSRCS}
     15 
     16 LDADD+=	-ll -ledit -ltermcap
     17 DPADD+=	${LIBL} ${LIBEDIT} ${LIBTERMCAP}
     18 
     19 LFLAGS=	-8	# 8-bit lex scanner for arithmetic
     20 YFLAGS=	-d
     21 
     22 .ifdef CRUNCHEDPROG
     23 LFLAGS+=-L
     24 YFLAGS+=-l
     25 .endif
     26 
     27 CPPFLAGS+=-DSHELL -I. -I${.CURDIR}
     28 #XXX: For testing only.
     29 #CPPFLAGS+=-DDEBUG=1
     30 #CFLAGS+=-funsigned-char
     31 #TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char
     32 
     33 .ifdef SMALLPROG
     34 CPPFLAGS+=-DSMALL
     35 .endif
     36 
     37 .PATH:	${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \
     38 	${NETBSDSRCDIR}/usr.bin/printf \
     39 	${NETBSDSRCDIR}/bin/kill
     40 
     41 CLEANFILES+= mkinit mknodes mksyntax
     42 CLEANFILES+= ${GENSRCS} y.tab.h
     43 
     44 token.h: mktokens
     45 	${HOST_SH} ${.ALLSRC}
     46 
     47 builtins.h: builtins.c
     48 	[ -f ${.TARGET} ]
     49 
     50 builtins.c: mkbuiltins shell.h builtins.def
     51 	${HOST_SH} ${.ALLSRC} ${.OBJDIR}
     52 	[ -f builtins.h ]
     53 	touch builtins.h
     54 
     55 init.c: mkinit ${SHSRCS}
     56 	./${.ALLSRC}
     57 
     58 nodes.h: nodes.c
     59 	[ -f ${.TARGET} ]
     60 
     61 nodes.c: mknodes nodetypes nodes.c.pat
     62 	./${.ALLSRC}
     63 	[ -f nodes.h ]
     64 	touch nodes.h
     65 
     66 syntax.h: syntax.c
     67 	[ -f ${.TARGET} ]
     68 
     69 syntax.c: mksyntax
     70 	./${.ALLSRC}
     71 	[ -f syntax.h ]
     72 	touch syntax.h
     73 
     74 mkinit: mkinit.c
     75 	${HOST_LINK.c} -o mkinit ${.IMPSRC}
     76 
     77 mknodes: mknodes.c
     78 	${HOST_LINK.c} -o mknodes ${.IMPSRC}
     79 
     80 .if	(${MACHINE_ARCH} == "powerpc") || \
     81 	(${MACHINE_CPU} == "arm")
     82 TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char"
     83 .else
     84 TARGET_CHARFLAG?= -DTARGET_CHAR="signed char"
     85 .endif
     86 
     87 mksyntax: mksyntax.c
     88 	${HOST_LINK.c} ${TARGET_CHARFLAG} -o mksyntax ${.IMPSRC}
     89 
     90 .include <bsd.prog.mk>
     91 
     92 ${OBJS}: builtins.h nodes.h syntax.h token.h
     93