1 # $NetBSD: Makefile,v 1.105 2017/05/14 11:23:33 kre Exp $ 2 # @(#)Makefile 8.4 (Berkeley) 5/5/95 3 4 .include <bsd.own.mk> 5 6 PROG= sh 7 SHSRCS= alias.c arith_token.c arithmetic.c cd.c echo.c error.c eval.c exec.c \ 8 expand.c histedit.c input.c jobs.c mail.c main.c memalloc.c \ 9 miscbltin.c mystring.c options.c parser.c redir.c show.c trap.c \ 10 output.c var.c test.c kill.c syntax.c 11 GENSRCS=builtins.c init.c nodes.c 12 GENHDRS=builtins.h nodes.h token.h nodenames.h 13 SRCS= ${SHSRCS} ${GENSRCS} 14 15 DPSRCS+=${GENHDRS} 16 17 LDADD+= -ll -ledit -lterminfo 18 DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMINFO} 19 20 # Environment for scripts executed during build. 21 SCRIPT_ENV= \ 22 AWK=${TOOL_AWK:Q} \ 23 SED=${TOOL_SED:Q} 24 25 CPPFLAGS+=-DSHELL -I. -I${.CURDIR} 26 #XXX: For testing only. 27 #CPPFLAGS+=-DDEBUG=2 28 #COPTS+=-g 29 #CFLAGS+=-funsigned-char 30 #TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char 31 32 # Reproducible build parameters ... export into sh for NETBSD_SHELL setting 33 .if ${MKREPRO_TIMESTAMP:Uno} != "no" 34 BUILD_DATE!= date -u -r "${MKREPRO_TIMESTAMP}" "+%Y%m%d%H%M%S" 35 # These are (should be) equivalent, but the 2nd is easier to understand 36 #CPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:C/([^0]0?)(00)*$/\1/}Z"' 37 CPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:S/00$//:S/00$//:S/00//}Z"' 38 .endif 39 40 .ifdef SMALLPROG 41 CPPFLAGS+=-DSMALL 42 .endif 43 .ifdef TINYPROG 44 CPPFLAGS+=-DTINY 45 .else 46 SRCS+=printf.c 47 .endif 48 49 .PATH: ${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \ 50 ${NETBSDSRCDIR}/usr.bin/printf \ 51 ${NETBSDSRCDIR}/bin/kill 52 53 CLEANFILES+= ${GENSRCS} ${GENHDRS} sh.html1 54 CLEANFILES+= trace.* 55 56 token.h: mktokens 57 ${_MKTARGET_CREATE} 58 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 59 60 .ORDER: builtins.h builtins.c 61 builtins.h builtins.c: mkbuiltins shell.h builtins.def 62 ${_MKTARGET_CREATE} 63 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 64 [ -f builtins.h ] 65 66 init.c: mkinit.sh ${SHSRCS} 67 ${_MKTARGET_CREATE} 68 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 69 70 .ORDER: nodes.h nodes.c 71 nodes.c nodes.h: mknodes.sh nodetypes nodes.c.pat 72 ${_MKTARGET_CREATE} 73 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 74 [ -f nodes.h ] 75 76 nodenames.h: mknodenames.sh nodes.h 77 ${_MKTARGET_CREATE} 78 ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} > ${.TARGET} 79 80 .if ${USETOOLS} == "yes" 81 NBCOMPATLIB= -L${TOOLDIR}/lib -lnbcompat 82 .endif 83 84 SUBDIR+=USD.doc 85 86 COPTS.printf.c = -Wno-format-nonliteral 87 COPTS.jobs.c = -Wno-format-nonliteral 88 89 .include <bsd.prog.mk> 90 .include <bsd.subdir.mk> 91