11.124Skre# $NetBSD: Makefile,v 1.124 2024/10/14 08:13:23 kre Exp $ 21.20Schristos# @(#)Makefile 8.4 (Berkeley) 5/5/95 31.1Scgd 41.52Sbjh21.include <bsd.own.mk> 51.52Sbjh21 61.1ScgdPROG= sh 71.104SkreSHSRCS= alias.c arith_token.c arithmetic.c cd.c echo.c error.c eval.c exec.c \ 81.104Skre expand.c histedit.c input.c jobs.c mail.c main.c memalloc.c \ 91.104Skre miscbltin.c mystring.c options.c parser.c redir.c show.c trap.c \ 101.104Skre output.c var.c test.c kill.c syntax.c 111.104SkreGENSRCS=builtins.c init.c nodes.c 121.108SkreGENHDRS=builtins.h nodes.h token.h nodenames.h optinit.h 131.29SmycroftSRCS= ${SHSRCS} ${GENSRCS} 141.24Schristos 151.69SlukemDPSRCS+=${GENHDRS} 161.69Slukem 171.107SkreLDADD+= -ledit -lterminfo 181.107SkreDPADD+= ${LIBEDIT} ${LIBTERMINFO} 191.24Schristos 201.82Sapb# Environment for scripts executed during build. 211.82SapbSCRIPT_ENV= \ 221.82Sapb AWK=${TOOL_AWK:Q} \ 231.109Skre MKTEMP=${TOOL_MKTEMP:Q} \ 241.83Sapb SED=${TOOL_SED:Q} 251.82Sapb 261.117SchristosCPPFLAGS+=-DSHELL -I. -I${.CURDIR} -I${NETBSDSRCDIR}/lib/libedit 271.113SkreCPPFLAGS+= -DUSE_LRAND48 281.124SkreCPPFLAGS+= -DREJECT_NULS 291.124Skre 301.62Schristos#XXX: For testing only. 311.115Skre#CPPFLAGS+=-DDEBUG=1 321.112Skre#COPTS+=-g 331.62Schristos#CFLAGS+=-funsigned-char 341.62Schristos#TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char 351.54Slukem 361.105Skre# Reproducible build parameters ... export into sh for NETBSD_SHELL setting 371.105Skre.if ${MKREPRO_TIMESTAMP:Uno} != "no" 381.116SchristosBUILD_DATE!= ${TOOL_DATE} -u -r "${MKREPRO_TIMESTAMP}" "+%Y%m%d%H%M%S" 391.105Skre# These are (should be) equivalent, but the 2nd is easier to understand 401.105Skre#CPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:C/([^0]0?)(00)*$/\1/}Z"' 411.106SkreCPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:S/00$//:S/00$//:S/00$//}Z"' 421.105Skre.endif 431.105Skre 441.54Slukem.ifdef SMALLPROG 451.54SlukemCPPFLAGS+=-DSMALL 461.101Sjoerg.endif 471.101Sjoerg.ifdef TINYPROG 481.101SjoergCPPFLAGS+=-DTINY 491.78Schristos.else 501.78SchristosSRCS+=printf.c 511.54Slukem.endif 521.24Schristos 531.61Schristos.PATH: ${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \ 541.61Schristos ${NETBSDSRCDIR}/usr.bin/printf \ 551.61Schristos ${NETBSDSRCDIR}/bin/kill 561.1Scgd 571.104SkreCLEANFILES+= ${GENSRCS} ${GENHDRS} sh.html1 581.103SkreCLEANFILES+= trace.* 591.24Schristos 601.24Schristostoken.h: mktokens 611.72Slukem ${_MKTARGET_CREATE} 621.82Sapb ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 631.1Scgd 641.89Schristos.ORDER: builtins.h builtins.c 651.89Schristosbuiltins.h builtins.c: mkbuiltins shell.h builtins.def 661.72Slukem ${_MKTARGET_CREATE} 671.89Schristos ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 681.89Schristos [ -f builtins.h ] 691.1Scgd 701.75Sdslinit.c: mkinit.sh ${SHSRCS} 711.72Slukem ${_MKTARGET_CREATE} 721.82Sapb ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} 731.10Sjtc 741.89Schristos.ORDER: nodes.h nodes.c 751.88Suebayasinodes.c nodes.h: mknodes.sh nodetypes nodes.c.pat 761.88Suebayasi ${_MKTARGET_CREATE} 771.89Schristos ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 781.89Schristos [ -f nodes.h ] 791.87Suebayasi 801.102Schristosnodenames.h: mknodenames.sh nodes.h 811.102Schristos ${_MKTARGET_CREATE} 821.102Schristos ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} > ${.TARGET} 831.102Schristos 841.108Skreoptinit.h: mkoptions.sh option.list 851.108Skre ${_MKTARGET_CREATE} 861.108Skre ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.TARGET} ${.OBJDIR} 871.108Skre 881.68Slukem.if ${USETOOLS} == "yes" 891.99SapbNBCOMPATLIB= -L${TOOLDIR}/lib -lnbcompat 901.68Slukem.endif 911.68Slukem 921.114SchristosSUBDIR.roff+=USD.doc 931.92Sperry 941.97SchristosCOPTS.printf.c = -Wno-format-nonliteral 951.98SchristosCOPTS.jobs.c = -Wno-format-nonliteral 961.113SkreCOPTS.var.c = -Wno-format-nonliteral 971.97Schristos 981.121Smrg# XXXGCC12 - only on some targets 991.123SmrgCOPTS.parser.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 12:? -Wno-error=clobbered :} 1001.121Smrg 1011.43Scgd.include <bsd.prog.mk> 1021.93Sperry.include <bsd.subdir.mk> 1031.124Skre 1041.124Skre${OBJS}: Makefile 105