Makefile revision 1.58
11.58Srillig#	$NetBSD: Makefile,v 1.58 2021/01/10 12:05:07 rillig Exp $
21.17Sthorpej
31.17Sthorpej.include <bsd.own.mk>
41.1Scgd
51.21StvPROG=		lint1
61.50SchristosSRCS=		cgram.y decl.c emit.c emit1.c err.c func.c init.c inittyp.c \
71.57Srillig		main1.c mem.c mem1.c oper.c print.c scan.l tree.c tyname.c
81.48Schristos
91.21StvMAN=		lint.7
101.21StvYHEADER=
111.47Schristos#DBG=-g
121.43Schristos#CPPFLAGS+=-DYYDEBUG=1
131.47Schristos#YFLAGS+=-v
141.51Schristos#LFLAGS+=-d
151.19Sthorpej
161.53SjoergCWARNFLAGS.clang+=	-Wno-error=implicit-int-float-conversion
171.53Sjoerg
181.35SchristosCPPFLAGS+=	-I${.CURDIR} -I. -DPASS=\"${PROG}.h\"
191.17Sthorpej
201.21StvBINDIR=		/usr/libexec
211.9Schristos
221.21StvCLEANFILES+=	${MAN}
231.22Stv
241.22Stv.if ${USETOOLS} == "yes"
251.22StvLINT1=		${TOOLDIR}/libexec/${MACHINE_GNU_PLATFORM}-lint1
261.22Stv.endif
271.22StvLINT1?=		./${PROG}
281.22Stv
291.22Stv${MAN}:		makeman ${LINT1:C/^\.\///} Makefile
301.34Slukem	${_MKTARGET_CREATE}
311.33Slukem	${HOST_SH} ${.ALLSRC:M*makeman} ${LINT1} -m >${.TARGET}
321.1Scgd
331.26SlukemLDADD+=		-lm
341.27Sdbj.ifndef HOSTPROG
351.26SlukemDPADD+=		${LIBM}
361.26Slukem
371.26SlukemLDADD+=		-ll
381.26SlukemDPADD+=		${LIBL}
391.28Slukem.endif
401.24Stv
411.57Srilligoper.o: ops.def
421.56Srillig
431.55Srillig.include "Makefile.err-msgs-h"
441.56Srillig${SRCS:Nerr.c}: err-msgs.h
451.46Schristos
461.58Srilligadd-test: .PHONY
471.58Srillig	@set -eu; \
481.58Srillig	test=${NAME:Q}; \
491.58Srillig	[ "$$test" ] || { \
501.58Srillig		echo "usage: ${MAKE} add-test NAME=<name>"; \
511.58Srillig		exit; \
521.58Srillig	}; \
531.58Srillig	\
541.58Srillig	cd '../../../tests/usr.bin/xlint/lint1'; \
551.58Srillig	if [ -f "$$test.c" ]; then \
561.58Srillig		echo "error: test $$test already exists in $$PWD."; \
571.58Srillig		exit 1; \
581.58Srillig	fi; \
591.58Srillig	\
601.58Srillig	echo "=> Adding test $$test"; \
611.58Srillig	printf '%s\n' \
621.58Srillig		'/*	$$''NetBSD$$	*/' \
631.58Srillig		"# 3 \"$$test.c\"" \
641.58Srillig		'' \
651.58Srillig		'/*' \
661.58Srillig		' * TODO: Explain the purpose of the test.' \
671.58Srillig		'*/' \
681.58Srillig		'' \
691.58Srillig		'/* lint1-extra-flags: -p */' \
701.58Srillig		'' \
711.58Srillig		'// TODO: Add some code that passes.' \
721.58Srillig		'// TODO: Add some code that fails.' \
731.58Srillig	> "$$test.c"; \
741.58Srillig	> "$$test.exp"; \
751.58Srillig	cvs add "$$test.c" "$$test.exp"; \
761.58Srillig	printf '%s\n' \
771.58Srillig		'/^FILES+=/i' \
781.58Srillig		"FILES+=		$$test.c" \
791.58Srillig		"FILES+=		$$test.exp" \
801.58Srillig		'.' 'w' 'q' \
811.58Srillig	| ed Makefile; \
821.58Srillig	${MAKE} sync-mi; \
831.58Srillig	printf '%s\n' '/^test_case /i' "test_case $$test" '.' 'w' 'q' \
841.58Srillig	| ed t_integration.sh
851.58Srillig
861.1Scgd.include <bsd.prog.mk>
87