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