Makefile revision 1.108
11.108Skre#	$NetBSD: Makefile,v 1.108 2017/05/28 00:38:01 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.83Sapb	SED=${TOOL_SED:Q}
241.82Sapb
251.86SchristosCPPFLAGS+=-DSHELL -I. -I${.CURDIR}
261.62Schristos#XXX: For testing only.
271.94Schristos#CPPFLAGS+=-DDEBUG=2
281.94Schristos#COPTS+=-g
291.62Schristos#CFLAGS+=-funsigned-char
301.62Schristos#TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char
311.54Slukem
321.105Skre# Reproducible build parameters ... export into sh for NETBSD_SHELL setting
331.105Skre.if ${MKREPRO_TIMESTAMP:Uno} != "no"
341.105SkreBUILD_DATE!=	date -u -r "${MKREPRO_TIMESTAMP}" "+%Y%m%d%H%M%S"
351.105Skre# These are (should be) equivalent, but the 2nd is easier to understand
361.105Skre#CPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:C/([^0]0?)(00)*$/\1/}Z"'
371.106SkreCPPFLAGS+= -DBUILD_DATE='"${BUILD_DATE:S/00$//:S/00$//:S/00$//}Z"'
381.105Skre.endif
391.105Skre
401.54Slukem.ifdef SMALLPROG
411.54SlukemCPPFLAGS+=-DSMALL
421.101Sjoerg.endif
431.101Sjoerg.ifdef TINYPROG
441.101SjoergCPPFLAGS+=-DTINY
451.78Schristos.else
461.78SchristosSRCS+=printf.c
471.54Slukem.endif
481.24Schristos
491.61Schristos.PATH:	${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \
501.61Schristos	${NETBSDSRCDIR}/usr.bin/printf \
511.61Schristos	${NETBSDSRCDIR}/bin/kill
521.1Scgd
531.104SkreCLEANFILES+= ${GENSRCS} ${GENHDRS} sh.html1
541.103SkreCLEANFILES+= trace.*
551.24Schristos
561.24Schristostoken.h: mktokens
571.72Slukem	${_MKTARGET_CREATE}
581.82Sapb	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC}
591.1Scgd
601.89Schristos.ORDER: builtins.h builtins.c
611.89Schristosbuiltins.h builtins.c: mkbuiltins shell.h builtins.def
621.72Slukem	${_MKTARGET_CREATE}
631.89Schristos	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR}
641.89Schristos	[ -f builtins.h ]
651.1Scgd
661.75Sdslinit.c: mkinit.sh ${SHSRCS}
671.72Slukem	${_MKTARGET_CREATE}
681.82Sapb	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC}
691.10Sjtc
701.89Schristos.ORDER: nodes.h nodes.c
711.88Suebayasinodes.c nodes.h: mknodes.sh nodetypes nodes.c.pat
721.88Suebayasi	${_MKTARGET_CREATE}
731.89Schristos	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.OBJDIR}
741.89Schristos	[ -f nodes.h ]
751.87Suebayasi
761.102Schristosnodenames.h: mknodenames.sh nodes.h
771.102Schristos	${_MKTARGET_CREATE}
781.102Schristos	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} > ${.TARGET}
791.102Schristos
801.108Skreoptinit.h: mkoptions.sh option.list
811.108Skre	${_MKTARGET_CREATE}
821.108Skre	${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} ${.TARGET} ${.OBJDIR}
831.108Skre
841.68Slukem.if ${USETOOLS} == "yes"
851.99SapbNBCOMPATLIB=   -L${TOOLDIR}/lib -lnbcompat
861.68Slukem.endif
871.68Slukem
881.92SperrySUBDIR+=USD.doc
891.92Sperry
901.97SchristosCOPTS.printf.c = -Wno-format-nonliteral
911.98SchristosCOPTS.jobs.c = -Wno-format-nonliteral
921.97Schristos
931.43Scgd.include <bsd.prog.mk>
941.93Sperry.include <bsd.subdir.mk>
95