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