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