Makefile revision 1.104
11.104Srillig# $NetBSD: Makefile,v 1.104 2024/03/01 19:39:28 rillig Exp $ 21.17Sthorpej 31.17Sthorpej.include <bsd.own.mk> 41.1Scgd 51.21StvPROG= lint1 61.66SrilligSRCS= cgram.y \ 71.104Srillig ckbool.c ckctype.c ckgetopt.c cksnprintb.c debug.c \ 81.66Srillig decl.c emit.c emit1.c err.c func.c init.c inittyp.c lex.c \ 91.80Srillig main1.c mem.c mem1.c oper.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.69SrilligLOBJS.${PROG}+= ${SRCS:M*.y:.y=.ln} 201.76SrilligLOBJS.${PROG}+= ${SRCS:M*.l:.l=.ln} 211.95SrilligLINTFLAGS.cgram.c+= -X 351 # 'extern' declaration in .c file 221.84SrilligLINTFLAGS.scan.c+= -X 107,126,330,331,332,333 # strict bool mode 231.86SrilligLINTFLAGS.scan.c+= -X 192,214 # due to suppressed bool errors 241.86SrilligLINTFLAGS.scan.c+= -X 307 # static variable unused 251.95SrilligLINTFLAGS.scan.c+= -X 351 # 'extern' declaration in .c file 261.53Sjoerg 271.67SrilligCPPFLAGS+= -DIS_LINT1 281.88SroyCPPFLAGS+= -I${.CURDIR} -I${.OBJDIR} 291.81SrilligCPPFLAGS+= ${DEBUG:D-DDEBUG -DYYDEBUG} 301.99SrilligCPPFLAGS+= ${DEBUG_MEM:D-DDEBUG_MEM} 311.17Sthorpej 321.70SrilligCOPTS.err.c+= ${${ACTIVE_CC} == "clang":? -Wno-format-nonliteral :} 331.70Srillig 341.21StvBINDIR= /usr/libexec 351.9Schristos 361.85SrilligCLEANFILES+= ${MAN} ${MAN}.date 371.22Stv 381.85Srillig${MAN}.date: err.c 391.100Slukem ${_MKTARGET_CREATE} 401.100Slukem ${TOOL_SED} -E \ 411.85Srillig -e 's,.*(....)/([0-9]{2})/0?([0-9]+).*,\2 \3\, \1,' \ 421.85Srillig -e 's,^01,January,' \ 431.85Srillig -e 's,^02,February,' \ 441.85Srillig -e 's,^03,March,' \ 451.85Srillig -e 's,^04,April,' \ 461.85Srillig -e 's,^05,May,' \ 471.85Srillig -e 's,^06,June,' \ 481.85Srillig -e 's,^07,July,' \ 491.85Srillig -e 's,^08,August,' \ 501.85Srillig -e 's,^09,September,' \ 511.85Srillig -e 's,^10,October,' \ 521.85Srillig -e 's,^11,November,' \ 531.85Srillig -e 's,^12,December,' \ 541.85Srillig -e 1q \ 551.85Srillig ${.ALLSRC} > ${.TARGET} 561.85Srillig 571.95Srillig# Extra -UYYDEBUG for lint's strict bool mode, since cgram.c contains 'int 581.95Srillig# yydebug; if (yydebug)'. 591.89Srilligcgram.ln: cgram.c 601.95Srillig ${LINT} ${LINTFLAGS} ${LINTFLAGS.${.IMPSRC}} \ 611.89Srillig ${CPPFLAGS:C/-([IDUW]) */-\1/Wg:M-[IDUW]*} \ 621.89Srillig -i -UYYDEBUG ${.IMPSRC} 631.89Srillig 641.92Srillig${MAN}: makeman err.c Makefile ${MAN}.date 651.34Slukem ${_MKTARGET_CREATE} 661.100Slukem SED=${TOOL_SED:Q} ${HOST_SH} ${.ALLSRC:M*makeman} \ 671.92Srillig "$$(cat ${.ALLSRC:M*.date})" ${.ALLSRC:M*err.c} \ 681.92Srillig >${.TARGET} 691.1Scgd 701.26SlukemLDADD+= -lm 711.27Sdbj.ifndef HOSTPROG 721.26SlukemDPADD+= ${LIBM} 731.26Slukem 741.26SlukemLDADD+= -ll 751.26SlukemDPADD+= ${LIBL} 761.28Slukem.endif 771.24Stv 781.93Srilligerr-msgs.h: err.c 791.93Srillig ${_MKTARGET_CREATE} 801.93Srillig sp='[[:space:]]*'; \ 811.103Srillig from="^$$sp\(\"[^\"].*\"\)\,$$sp// \(Q*[0-9][0-9]*\)\$$"; \ 821.93Srillig ${TOOL_SED} -n -e "s,$$from,#define MSG_\2 \1,p" < ${.ALLSRC:M*err.c} > ${.TARGET}.tmp 831.93Srillig mv -f ${.TARGET}.tmp ${.TARGET} 841.93Srillig 851.93SrilligCLEANFILES+= err-msgs.h 861.93SrilligDPSRCS+= err-msgs.h 871.93SrilligCPPFLAGS+= -I. 881.93Srillig 891.58Srilligadd-test: .PHONY 901.58Srillig @set -eu; \ 911.58Srillig test=${NAME:Q}; \ 921.58Srillig [ "$$test" ] || { \ 931.58Srillig echo "usage: ${MAKE} add-test NAME=<name>"; \ 941.58Srillig exit; \ 951.58Srillig }; \ 961.58Srillig \ 971.58Srillig cd '../../../tests/usr.bin/xlint/lint1'; \ 981.58Srillig if [ -f "$$test.c" ]; then \ 991.58Srillig echo "error: test $$test already exists in $$PWD."; \ 1001.58Srillig exit 1; \ 1011.58Srillig fi; \ 1021.58Srillig \ 1031.58Srillig echo "=> Adding test $$test"; \ 1041.58Srillig printf '%s\n' \ 1051.58Srillig '/* $$''NetBSD$$ */' \ 1061.58Srillig "# 3 \"$$test.c\"" \ 1071.58Srillig '' \ 1081.58Srillig '/*' \ 1091.58Srillig ' * TODO: Explain the purpose of the test.' \ 1101.64Srillig ' */' \ 1111.58Srillig '' \ 1121.79Srillig '/* lint1-extra-flags: -Z */' \ 1131.79Srillig '/* lint1-flags: -Z */' \ 1141.79Srillig '/* lint1-only-if: schar uchar ilp32 lp64 int long */' \ 1151.96Srillig '/* lint1-skip-if: ldbl64 ldbl96 ldbl128 */' \ 1161.58Srillig '' \ 1171.58Srillig '// TODO: Add some code that passes.' \ 1181.58Srillig '// TODO: Add some code that fails.' \ 1191.58Srillig > "$$test.c"; \ 1201.91Srillig cvs add "$$test.c"; \ 1211.75Srillig ${MAKE} sync-mi 1221.58Srillig 1231.1Scgd.include <bsd.prog.mk> 124