1 # $NetBSD: Makefile,v 1.83 2008/10/25 22:23:55 apb Exp $ 2 # @(#)Makefile 8.4 (Berkeley) 5/5/95 3 4 .include <bsd.own.mk> 5 6 WARNS=4 7 8 YHEADER=1 9 PROG= sh 10 SHSRCS= alias.c cd.c echo.c error.c eval.c exec.c expand.c \ 11 histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \ 12 mystring.c options.c parser.c redir.c show.c trap.c output.c var.c \ 13 test.c kill.c syntax.c 14 GENSRCS=arith.c arith_lex.c builtins.c init.c nodes.c 15 GENHDRS=arith.h builtins.h nodes.h token.h 16 SRCS= ${SHSRCS} ${GENSRCS} 17 18 DPSRCS+=${GENHDRS} 19 20 LDADD+= -ll -ledit -ltermcap 21 DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMCAP} 22 23 LFLAGS= -8 # 8-bit lex scanner for arithmetic 24 YFLAGS= -d 25 26 # Environment for scripts executed during build. 27 SCRIPT_ENV= \ 28 AWK=${TOOL_AWK:Q} \ 29 SED=${TOOL_SED:Q} 30 31 # The .depend file can get references to these temporary files 32 .OPTIONAL: lex.yy.c y.tab.c 33 34 .ifdef CRUNCHEDPROG 35 LFLAGS+=-L 36 YFLAGS+=-l 37 .endif 38 39 CPPFLAGS+=-DSHELL -I. -I${.CURDIR} 40 #XXX: For testing only. 41 #CPPFLAGS+=-DDEBUG=1 42 #CFLAGS+=-funsigned-char 43 #TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char 44 45 .ifdef SMALLPROG 46 CPPFLAGS+=-DSMALL 47 .else 48 SRCS+=printf.c 49 .endif 50 51 .PATH: ${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \ 52 ${NETBSDSRCDIR}/usr.bin/printf \ 53 ${NETBSDSRCDIR}/bin/kill 54 55 CLEANFILES+= ${GENSRCS} ${GENHDRS} y.tab.h 56 CLEANFILES+= trace 57 58 token.h: mktokens 59 ${_MKTARGET_CREATE} 60 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 61 62 builtins.h: builtins.c 63 ${_MKTARGET_CREATE} 64 65 builtins.c: mkbuiltins shell.h builtins.def 66 ${_MKTARGET_CREATE} 67 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 68 [ -f builtins.h ] 69 70 init.c: mkinit.sh ${SHSRCS} 71 ${_MKTARGET_CREATE} 72 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 73 74 nodes.h: nodes.c 75 76 nodes.c: mknodes.sh nodetypes nodes.c.pat 77 ${_MKTARGET_CREATE} 78 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 79 [ -f nodes.h ] 80 81 .if ${USETOOLS} == "yes" 82 COMPATOBJDIR!= cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR} 83 NBCOMPATLIB= -L${COMPATOBJDIR} -lnbcompat 84 .endif 85 86 .include <bsd.prog.mk> 87