Makefile revision 1.76
11.76Srillig# $NetBSD: Makefile,v 1.76 2021/07/04 08:49:41 rillig Exp $ 21.17Sthorpej 31.17Sthorpej.include <bsd.own.mk> 41.1Scgd 51.21StvPROG= lint1 61.66SrilligSRCS= cgram.y \ 71.66Srillig ckbool.c ckctype.c ckgetopt.c \ 81.66Srillig decl.c emit.c emit1.c err.c func.c init.c inittyp.c lex.c \ 91.57Srillig main1.c mem.c mem1.c oper.c print.c scan.l tree.c tyname.c 101.48Schristos 111.21StvMAN= lint.7 121.21StvYHEADER= 131.69Srillig#DBG= -g 141.69Srillig#CPPFLAGS+= -DYYDEBUG=1 151.69Srillig#YFLAGS+= -v 161.69Srillig#LFLAGS+= -d 171.19Sthorpej 181.53SjoergCWARNFLAGS.clang+= -Wno-error=implicit-int-float-conversion 191.63SrilligLINTFLAGS+= -T 201.69SrilligLOBJS.${PROG}+= ${SRCS:M*.y:.y=.ln} 211.76SrilligLOBJS.${PROG}+= ${SRCS:M*.l:.l=.ln} 221.76SrilligLINTFLAGS.scan.c= -X 107,126,330,331,332,333 231.53Sjoerg 241.67SrilligCPPFLAGS+= -DIS_LINT1 251.67SrilligCPPFLAGS+= -I${.CURDIR} 261.62SrilligCPPFLAGS+= ${DEBUG:D-DDEBUG} 271.17Sthorpej 281.70SrilligCOPTS.err.c+= ${${ACTIVE_CC} == "clang":? -Wno-format-nonliteral :} 291.70Srillig 301.72Srillig# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101177 311.74Smrg.if ${HAVE_GCC:U0} >= 9 && \ 321.71Smartin (${MACHINE_ARCH} == "sh3el" || ${MACHINE_ARCH} == "sh3eb") 331.71SmartinCOPTS.lex.c+= -O0 341.71Smartin.endif 351.71Smartin 361.21StvBINDIR= /usr/libexec 371.9Schristos 381.21StvCLEANFILES+= ${MAN} 391.61SrilligCLEANFILES+= *.gcno *.gcda *.gcov 401.22Stv 411.22Stv.if ${USETOOLS} == "yes" 421.22StvLINT1= ${TOOLDIR}/libexec/${MACHINE_GNU_PLATFORM}-lint1 431.22Stv.endif 441.22StvLINT1?= ./${PROG} 451.22Stv 461.22Stv${MAN}: makeman ${LINT1:C/^\.\///} Makefile 471.34Slukem ${_MKTARGET_CREATE} 481.33Slukem ${HOST_SH} ${.ALLSRC:M*makeman} ${LINT1} -m >${.TARGET} 491.1Scgd 501.26SlukemLDADD+= -lm 511.27Sdbj.ifndef HOSTPROG 521.26SlukemDPADD+= ${LIBM} 531.26Slukem 541.26SlukemLDADD+= -ll 551.26SlukemDPADD+= ${LIBL} 561.28Slukem.endif 571.24Stv 581.55Srillig.include "Makefile.err-msgs-h" 591.56Srillig${SRCS:Nerr.c}: err-msgs.h 601.46Schristos 611.58Srilligadd-test: .PHONY 621.58Srillig @set -eu; \ 631.58Srillig test=${NAME:Q}; \ 641.58Srillig [ "$$test" ] || { \ 651.58Srillig echo "usage: ${MAKE} add-test NAME=<name>"; \ 661.58Srillig exit; \ 671.58Srillig }; \ 681.58Srillig \ 691.58Srillig cd '../../../tests/usr.bin/xlint/lint1'; \ 701.58Srillig if [ -f "$$test.c" ]; then \ 711.58Srillig echo "error: test $$test already exists in $$PWD."; \ 721.58Srillig exit 1; \ 731.58Srillig fi; \ 741.58Srillig \ 751.58Srillig echo "=> Adding test $$test"; \ 761.58Srillig printf '%s\n' \ 771.58Srillig '/* $$''NetBSD$$ */' \ 781.58Srillig "# 3 \"$$test.c\"" \ 791.58Srillig '' \ 801.58Srillig '/*' \ 811.58Srillig ' * TODO: Explain the purpose of the test.' \ 821.64Srillig ' */' \ 831.58Srillig '' \ 841.58Srillig '/* lint1-extra-flags: -p */' \ 851.58Srillig '' \ 861.58Srillig '// TODO: Add some code that passes.' \ 871.58Srillig '// TODO: Add some code that fails.' \ 881.58Srillig > "$$test.c"; \ 891.58Srillig > "$$test.exp"; \ 901.58Srillig cvs add "$$test.c" "$$test.exp"; \ 911.58Srillig printf '%s\n' \ 921.58Srillig '/^FILES+=/i' \ 931.58Srillig "FILES+= $$test.c" \ 941.58Srillig "FILES+= $$test.exp" \ 951.58Srillig '.' 'w' 'q' \ 961.58Srillig | ed Makefile; \ 971.75Srillig ${MAKE} sync-mi 981.58Srillig 991.1Scgd.include <bsd.prog.mk> 100