1 1.111 kre # $NetBSD: Makefile,v 1.111 2017/06/08 02:23:51 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.110 kre #CPPFLAGS+=-DDEBUG=3 29 1.111 kre CPPFLAGS+=-DDEBUG=1 30 1.111 kre COPTS+=-g 31 1.62 christos #CFLAGS+=-funsigned-char 32 1.62 christos #TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char 33 1.111 kre CFLAGS+=-Wall 34 1.54 lukem 35 1.105 kre # Reproducible build parameters ... export into sh for NETBSD_SHELL setting 36 1.105 kre .if ${MKREPRO_TIMESTAMP:Uno} != "no" 37 1.105 kre BUILD_DATE!= date -u -r "${MKREPRO_TIMESTAMP}" "+%Y%m%d%H%M%S" 38 1.105 kre # These are (should be) equivalent, but the 2nd is easier to understand 39 1.105 kre #CPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:C/([^0]0?)(00)*$/\1/}Z"' 40 1.106 kre CPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:S/00$//:S/00$//:S/00$//}Z"' 41 1.105 kre .endif 42 1.105 kre 43 1.54 lukem .ifdef SMALLPROG 44 1.54 lukem CPPFLAGS+=-DSMALL 45 1.101 joerg .endif 46 1.101 joerg .ifdef TINYPROG 47 1.101 joerg CPPFLAGS+=-DTINY 48 1.78 christos .else 49 1.78 christos SRCS+=printf.c 50 1.54 lukem .endif 51 1.24 christos 52 1.61 christos .PATH: ${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \ 53 1.61 christos ${NETBSDSRCDIR}/usr.bin/printf \ 54 1.61 christos ${NETBSDSRCDIR}/bin/kill 55 1.1 cgd 56 1.104 kre CLEANFILES+= ${GENSRCS} ${GENHDRS} sh.html1 57 1.103 kre CLEANFILES+= trace.* 58 1.24 christos 59 1.24 christos token.h: mktokens 60 1.72 lukem ${_MKTARGET_CREATE} 61 1.82 apb ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 62 1.1 cgd 63 1.89 christos .ORDER: builtins.h builtins.c 64 1.89 christos builtins.h builtins.c: mkbuiltins shell.h builtins.def 65 1.72 lukem ${_MKTARGET_CREATE} 66 1.89 christos ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 67 1.89 christos [ -f builtins.h ] 68 1.1 cgd 69 1.75 dsl init.c: mkinit.sh ${SHSRCS} 70 1.72 lukem ${_MKTARGET_CREATE} 71 1.82 apb ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 72 1.10 jtc 73 1.89 christos .ORDER: nodes.h nodes.c 74 1.88 uebayasi nodes.c nodes.h: mknodes.sh nodetypes nodes.c.pat 75 1.88 uebayasi ${_MKTARGET_CREATE} 76 1.89 christos ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 77 1.89 christos [ -f nodes.h ] 78 1.87 uebayasi 79 1.102 christos nodenames.h: mknodenames.sh nodes.h 80 1.102 christos ${_MKTARGET_CREATE} 81 1.102 christos ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} > ${.TARGET} 82 1.102 christos 83 1.108 kre optinit.h: mkoptions.sh option.list 84 1.108 kre ${_MKTARGET_CREATE} 85 1.108 kre ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.TARGET} ${.OBJDIR} 86 1.108 kre 87 1.68 lukem .if ${USETOOLS} == "yes" 88 1.99 apb NBCOMPATLIB= -L${TOOLDIR}/lib -lnbcompat 89 1.68 lukem .endif 90 1.68 lukem 91 1.92 perry SUBDIR+=USD.doc 92 1.92 perry 93 1.97 christos COPTS.printf.c = -Wno-format-nonliteral 94 1.98 christos COPTS.jobs.c = -Wno-format-nonliteral 95 1.97 christos 96 1.43 cgd .include <bsd.prog.mk> 97 1.93 perry .include <bsd.subdir.mk> 98