Makefile revision 1.37
11.37Schristos#	$NetBSD: Makefile,v 1.37 2013/01/25 14:20:57 christos Exp $
21.9Scgd#	@(#)Makefile	8.1 (Berkeley) 5/31/93
31.6Smycroft#
41.1Scgd# C Shell with process control; VM/UNIX VAX Makefile
51.1Scgd# Bill Joy UC Berkeley; Jim Kulp IIASA, Austria
61.1Scgd#
71.19Slukem# To profile, put -DPROF in DFLAGS and -pg in COPTS, and recompile.
81.1Scgd
91.20Slukem.include <bsd.own.mk>
101.20Slukem
111.1ScgdPROG=	csh
121.6SmycroftDFLAGS=-DBUILTIN -DFILEC -DNLS -DSHORT_STRINGS
131.36Schristos# - Editor history not always aligned with shell history,
141.36Schristos#   should implement internally
151.34Schristos# - Does not handle escaped prompts.
161.34Schristos# - Does not do completion
171.37Schristos.ifndef SMALLPROG
181.36SchristosDFLAGS+=-DEDIT
191.37Schristos.endif
201.15SchristosCPPFLAGS+=-I${.CURDIR} -I. ${DFLAGS}
211.1ScgdSRCS=	alloc.c char.c const.c csh.c dir.c dol.c err.c exec.c exp.c file.c \
221.6Smycroft	func.c glob.c hist.c init.c lex.c misc.c parse.c printf.c proc.c \
231.33Schristos	sem.c set.c str.c time.c
241.20Slukem.PATH:	${NETBSDSRCDIR}/usr.bin/printf
251.1Scgd
261.1ScgdMLINKS=	csh.1 limit.1 csh.1 alias.1 csh.1 bg.1 csh.1 dirs.1 csh.1 fg.1 \
271.1Scgd	csh.1 foreach.1 csh.1 history.1 csh.1 jobs.1 csh.1 popd.1 \
281.1Scgd	csh.1 pushd.1 csh.1 rehash.1 csh.1 repeat.1 csh.1 suspend.1 \
291.1Scgd	csh.1 stop.1 csh.1 source.1
301.1Scgd
311.23SlukemDPSRCS+=	errnum.h const.h
321.23SlukemCLEANFILES+=	errnum.h const.h
331.1Scgd
341.13Schristoserrnum.h: err.c
351.26Slukem	${_MKTARGET_CREATE}
361.24Slukem	rm -f ${.TARGET}
371.24Slukem	(\
381.24Slukem	echo '/* Do not edit this file, make creates it. */' ;\
391.24Slukem	echo '#ifndef _h_sh_errnum' ;\
401.24Slukem	echo '#define _h_sh_errnum' ;\
411.24Slukem	egrep 'ERR_' ${.ALLSRC} | egrep '^#define' ;\
421.24Slukem	echo '#endif /* _h_sh_errnum */' ;\
431.24Slukem	) > ${.TARGET}
441.1Scgd
451.24Slukemconst.c: errnum.h
461.1Scgdconst.h: const.c
471.26Slukem	${_MKTARGET_CREATE}
481.24Slukem	rm -f ${.TARGET}
491.24Slukem	echo '/* Do not edit this file, make creates it. */' > ${.TARGET}
501.15Schristos	${CC} -E ${CPPFLAGS} ${.ALLSRC} | egrep 'Char STR' | \
511.29Sapb	    ${TOOL_SED} -e 's/Char \([a-zA-Z0-9_]*\)\(.*\)/extern Char \1[];/' | \
521.13Schristos	    sort >> ${.TARGET}
531.1Scgd
541.7Scgd.if make(install)
551.16SmycroftSUBDIR+=USD.doc
561.7Scgd.endif
571.1Scgd
581.30Smrg# XXX Only GCC 4.1 problem
591.28Sgmcgarry.if defined(HAVE_GCC) && ${HAVE_GCC} == 4 && ${MACHINE_ARCH} == "vax"
601.27SmrgCOPTS.parse.c+=	-O0
611.27Smrg.endif
621.32SjoergCOPTS.err.c = -Wno-format-nonliteral
631.31SchristosCOPTS.printf.c = -Wno-format-nonliteral
641.31SchristosCOPTS.proc.c = -Wno-format-nonliteral
651.33Schristos
661.36Schristos.if !empty(DFLAGS:M*EDIT)
671.35SchristosLDADD+=-ledit -lutil
681.35SchristosDPADD+=${LIBEDIT} ${LIBUTIL}
691.35Schristos.else
701.33SchristosLDADD+=-lutil
711.33SchristosDPADD+=${LIBUTIL}
721.34Schristos.endif
731.27Smrg
741.1Scgd.include <bsd.prog.mk>
751.16Smycroft.include <bsd.subdir.mk>
76