1 1.84 rillig # $NetBSD: Makefile,v 1.84 2021/08/22 22:24:12 rillig Exp $ 2 1.17 thorpej 3 1.17 thorpej .include <bsd.own.mk> 4 1.1 cgd 5 1.21 tv PROG= lint1 6 1.66 rillig SRCS= cgram.y \ 7 1.82 rillig ckbool.c ckctype.c ckgetopt.c debug.c \ 8 1.66 rillig decl.c emit.c emit1.c err.c func.c init.c inittyp.c lex.c \ 9 1.80 rillig main1.c mem.c mem1.c oper.c scan.l tree.c tyname.c 10 1.48 christos 11 1.21 tv MAN= lint.7 12 1.21 tv YHEADER= 13 1.69 rillig #DBG= -g 14 1.69 rillig #CPPFLAGS+= -DYYDEBUG=1 15 1.69 rillig #YFLAGS+= -v 16 1.69 rillig #LFLAGS+= -d 17 1.19 thorpej 18 1.53 joerg CWARNFLAGS.clang+= -Wno-error=implicit-int-float-conversion 19 1.63 rillig LINTFLAGS+= -T 20 1.69 rillig LOBJS.${PROG}+= ${SRCS:M*.y:.y=.ln} 21 1.76 rillig LOBJS.${PROG}+= ${SRCS:M*.l:.l=.ln} 22 1.84 rillig LINTFLAGS.scan.c+= -X 107,126,330,331,332,333 # strict bool mode 23 1.53 joerg 24 1.67 rillig CPPFLAGS+= -DIS_LINT1 25 1.67 rillig CPPFLAGS+= -I${.CURDIR} 26 1.81 rillig CPPFLAGS+= ${DEBUG:D-DDEBUG -DYYDEBUG} 27 1.17 thorpej 28 1.70 rillig COPTS.err.c+= ${${ACTIVE_CC} == "clang":? -Wno-format-nonliteral :} 29 1.70 rillig 30 1.21 tv BINDIR= /usr/libexec 31 1.9 christos 32 1.21 tv CLEANFILES+= ${MAN} 33 1.22 tv 34 1.22 tv .if ${USETOOLS} == "yes" 35 1.22 tv LINT1= ${TOOLDIR}/libexec/${MACHINE_GNU_PLATFORM}-lint1 36 1.22 tv .endif 37 1.22 tv LINT1?= ./${PROG} 38 1.22 tv 39 1.22 tv ${MAN}: makeman ${LINT1:C/^\.\///} Makefile 40 1.34 lukem ${_MKTARGET_CREATE} 41 1.33 lukem ${HOST_SH} ${.ALLSRC:M*makeman} ${LINT1} -m >${.TARGET} 42 1.1 cgd 43 1.26 lukem LDADD+= -lm 44 1.27 dbj .ifndef HOSTPROG 45 1.26 lukem DPADD+= ${LIBM} 46 1.26 lukem 47 1.26 lukem LDADD+= -ll 48 1.26 lukem DPADD+= ${LIBL} 49 1.28 lukem .endif 50 1.24 tv 51 1.55 rillig .include "Makefile.err-msgs-h" 52 1.56 rillig ${SRCS:Nerr.c}: err-msgs.h 53 1.46 christos 54 1.58 rillig add-test: .PHONY 55 1.58 rillig @set -eu; \ 56 1.58 rillig test=${NAME:Q}; \ 57 1.58 rillig [ "$$test" ] || { \ 58 1.58 rillig echo "usage: ${MAKE} add-test NAME=<name>"; \ 59 1.58 rillig exit; \ 60 1.58 rillig }; \ 61 1.58 rillig \ 62 1.58 rillig cd '../../../tests/usr.bin/xlint/lint1'; \ 63 1.58 rillig if [ -f "$$test.c" ]; then \ 64 1.58 rillig echo "error: test $$test already exists in $$PWD."; \ 65 1.58 rillig exit 1; \ 66 1.58 rillig fi; \ 67 1.58 rillig \ 68 1.58 rillig echo "=> Adding test $$test"; \ 69 1.58 rillig printf '%s\n' \ 70 1.58 rillig '/* $$''NetBSD$$ */' \ 71 1.58 rillig "# 3 \"$$test.c\"" \ 72 1.58 rillig '' \ 73 1.58 rillig '/*' \ 74 1.58 rillig ' * TODO: Explain the purpose of the test.' \ 75 1.64 rillig ' */' \ 76 1.58 rillig '' \ 77 1.79 rillig '/* lint1-extra-flags: -Z */' \ 78 1.79 rillig '/* lint1-flags: -Z */' \ 79 1.79 rillig '/* lint1-only-if: schar uchar ilp32 lp64 int long */' \ 80 1.79 rillig '/* lint1-skip-if: ldbl-64 ldbl-96 ldbl-128 */' \ 81 1.58 rillig '' \ 82 1.58 rillig '// TODO: Add some code that passes.' \ 83 1.58 rillig '// TODO: Add some code that fails.' \ 84 1.58 rillig > "$$test.c"; \ 85 1.58 rillig > "$$test.exp"; \ 86 1.58 rillig cvs add "$$test.c" "$$test.exp"; \ 87 1.58 rillig printf '%s\n' \ 88 1.58 rillig '/^FILES+=/i' \ 89 1.58 rillig "FILES+= $$test.c" \ 90 1.58 rillig "FILES+= $$test.exp" \ 91 1.58 rillig '.' 'w' 'q' \ 92 1.58 rillig | ed Makefile; \ 93 1.75 rillig ${MAKE} sync-mi 94 1.58 rillig 95 1.1 cgd .include <bsd.prog.mk> 96