Makefile revision 1.109
11.109Skre#	$NetBSD: Makefile,v 1.109 2017/05/28 14:14:22 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.86SchristosCPPFLAGS+=-DSHELL -I. -I${.CURDIR}
271.62Schristos#XXX: For testing only.
281.94Schristos#CPPFLAGS+=-DDEBUG=2
291.94Schristos#COPTS+=-g
301.62Schristos#CFLAGS+=-funsigned-char
311.62Schristos#TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char
321.54Slukem
331.105Skre# Reproducible build parameters ... export into sh for NETBSD_SHELL setting
341.105Skre.if ${MKREPRO_TIMESTAMP:Uno} != "no"
351.105SkreBUILD_DATE!=	date -u -r "${MKREPRO_TIMESTAMP}" "+%Y%m%d%H%M%S"
361.105Skre# These are (should be) equivalent, but the 2nd is easier to understand
371.105Skre#CPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:C/([^0]0?)(00)*$/\1/}Z"'
381.106SkreCPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:S/00$//:S/00$//:S/00$//}Z"'
391.105Skre.endif
401.105Skre
411.54Slukem.ifdef SMALLPROG
421.54SlukemCPPFLAGS+=-DSMALL
431.101Sjoerg.endif
441.101Sjoerg.ifdef TINYPROG
451.101SjoergCPPFLAGS+=-DTINY
461.78Schristos.else
471.78SchristosSRCS+=printf.c
481.54Slukem.endif
491.24Schristos
501.61Schristos.PATH:	${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \
511.61Schristos	${NETBSDSRCDIR}/usr.bin/printf \
521.61Schristos	${NETBSDSRCDIR}/bin/kill
531.1Scgd
541.104SkreCLEANFILES+= ${GENSRCS} ${GENHDRS} sh.html1
551.103SkreCLEANFILES+= trace.*
561.24Schristos
571.24Schristostoken.h: mktokens
581.72Slukem	${_MKTARGET_CREATE}
591.82Sapb	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC}
601.1Scgd
611.89Schristos.ORDER: builtins.h builtins.c
621.89Schristosbuiltins.h builtins.c: mkbuiltins shell.h builtins.def
631.72Slukem	${_MKTARGET_CREATE}
641.89Schristos	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR}
651.89Schristos	[ -f builtins.h ]
661.1Scgd
671.75Sdslinit.c: mkinit.sh ${SHSRCS}
681.72Slukem	${_MKTARGET_CREATE}
691.82Sapb	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC}
701.10Sjtc
711.89Schristos.ORDER: nodes.h nodes.c
721.88Suebayasinodes.c nodes.h: mknodes.sh nodetypes nodes.c.pat
731.88Suebayasi	${_MKTARGET_CREATE}
741.89Schristos	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR}
751.89Schristos	[ -f nodes.h ]
761.87Suebayasi
771.102Schristosnodenames.h: mknodenames.sh nodes.h
781.102Schristos	${_MKTARGET_CREATE}
791.102Schristos	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} > ${.TARGET}
801.102Schristos
811.108Skreoptinit.h: mkoptions.sh option.list
821.108Skre	${_MKTARGET_CREATE}
831.108Skre	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.TARGET} ${.OBJDIR}
841.108Skre
851.68Slukem.if ${USETOOLS} == "yes"
861.99SapbNBCOMPATLIB=   -L${TOOLDIR}/lib -lnbcompat
871.68Slukem.endif
881.68Slukem
891.92SperrySUBDIR+=USD.doc
901.92Sperry
911.97SchristosCOPTS.printf.c = -Wno-format-nonliteral
921.98SchristosCOPTS.jobs.c = -Wno-format-nonliteral
931.97Schristos
941.43Scgd.include <bsd.prog.mk>
951.93Sperry.include <bsd.subdir.mk>
96