1 # $NetBSD: Makefile,v 1.103 2017/03/16 13:09:06 kre 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 kill.c syntax.c 12 GENSRCS=arith.c arith_lex.c builtins.c init.c nodes.c 13 GENHDRS=arith.h builtins.h nodes.h token.h nodenames.h 14 SRCS= ${SHSRCS} ${GENSRCS} 15 16 DPSRCS+=${GENHDRS} 17 18 LDADD+= -ll -ledit -lterminfo 19 DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMINFO} 20 21 LFLAGS= -8 # 8-bit lex scanner for arithmetic 22 23 # Environment for scripts executed during build. 24 SCRIPT_ENV= \ 25 AWK=${TOOL_AWK:Q} \ 26 SED=${TOOL_SED:Q} 27 28 # The .depend file can get references to these temporary files 29 .OPTIONAL: lex.yy.c y.tab.c 30 31 .ifdef CRUNCHEDPROG 32 LFLAGS+=-L 33 YFLAGS+=-l 34 .endif 35 36 CPPFLAGS+=-DSHELL -I. -I${.CURDIR} 37 #XXX: For testing only. 38 #CPPFLAGS+=-DDEBUG=2 39 #COPTS+=-g 40 #CFLAGS+=-funsigned-char 41 #TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char 42 43 .ifdef SMALLPROG 44 CPPFLAGS+=-DSMALL 45 .endif 46 .ifdef TINYPROG 47 CPPFLAGS+=-DTINY 48 .else 49 SRCS+=printf.c 50 .endif 51 52 .PATH: ${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \ 53 ${NETBSDSRCDIR}/usr.bin/printf \ 54 ${NETBSDSRCDIR}/bin/kill 55 56 CLEANFILES+= ${GENSRCS} ${GENHDRS} y.tab.h sh.html1 57 CLEANFILES+= trace.* 58 59 token.h: mktokens 60 ${_MKTARGET_CREATE} 61 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 62 63 .ORDER: builtins.h builtins.c 64 builtins.h builtins.c: mkbuiltins shell.h builtins.def 65 ${_MKTARGET_CREATE} 66 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 67 [ -f builtins.h ] 68 69 init.c: mkinit.sh ${SHSRCS} 70 ${_MKTARGET_CREATE} 71 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 72 73 .ORDER: nodes.h nodes.c 74 nodes.c nodes.h: mknodes.sh nodetypes nodes.c.pat 75 ${_MKTARGET_CREATE} 76 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 77 [ -f nodes.h ] 78 79 nodenames.h: mknodenames.sh nodes.h 80 ${_MKTARGET_CREATE} 81 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} > ${.TARGET} 82 83 .if ${USETOOLS} == "yes" 84 NBCOMPATLIB= -L${TOOLDIR}/lib -lnbcompat 85 .endif 86 87 SUBDIR+=USD.doc 88 89 COPTS.printf.c = -Wno-format-nonliteral 90 COPTS.jobs.c = -Wno-format-nonliteral 91 92 .include <bsd.prog.mk> 93 .include <bsd.subdir.mk> 94