1 1.1.2.2 skrll # $NetBSD: lint.mk,v 1.1.2.2 2015/09/22 12:05:56 skrll Exp $ 2 1.1.2.2 skrll 3 1.1.2.2 skrll ## 4 1.1.2.2 skrll ## lint 5 1.1.2.2 skrll ## 6 1.1.2.2 skrll 7 1.1.2.2 skrll .if !target(lint) 8 1.1.2.2 skrll ALLSFILES?= ${MD_SFILES} ${SFILES} 9 1.1.2.2 skrll LINTSTUBS?= ${ALLSFILES:T:R:C/^.*$/LintStub_&.c/g} 10 1.1.2.2 skrll KERNLINTFLAGS?= -bcehnxzFS 11 1.1.2.2 skrll NORMAL_LN?= ${LINT} ${KERNLINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i $< -o $@ 12 1.1.2.2 skrll 13 1.1.2.2 skrll _lsrc=${CFILES} ${LINTSTUBS} ${MI_CFILES} ${MD_CFILES} 14 1.1.2.2 skrll LOBJS?= ${_lsrc:T:S/.c$/.ln/g} ${LIBKERNLN} ${SYSLIBCOMPATLN} 15 1.1.2.2 skrll 16 1.1.2.2 skrll .for _sfile in ${ALLSFILES} 17 1.1.2.2 skrll LintStub_${_sfile:T:R}.c: ${_sfile} assym.h 18 1.1.2.2 skrll ${_MKTARGET_COMPILE} 19 1.1.2.2 skrll ${CC} -E -C ${AFLAGS} ${CPPFLAGS} ${_sfile} | \ 20 1.1.2.2 skrll ${TOOL_AWK} -f $S/kern/genlintstub.awk >${.TARGET} 21 1.1.2.2 skrll .endfor 22 1.1.2.2 skrll 23 1.1.2.2 skrll .for _cfile in ${CFILES} ${LINTSTUBS} ${MI_CFILES} ${MD_CFILES} 24 1.1.2.2 skrll ${_cfile:T:R}.ln: ${_cfile} 25 1.1.2.2 skrll ${_MKTARGET_COMPILE} 26 1.1.2.2 skrll ${NORMAL_LN} 27 1.1.2.2 skrll .endfor 28 1.1.2.2 skrll 29 1.1.2.2 skrll lint: ${LOBJS} 30 1.1.2.2 skrll ${LINT} ${KERNLINTFLAGS} ${CPPFLAGS:M-[IDU]*} ${LOBJS} 31 1.1.2.2 skrll .endif 32 1.1.2.2 skrll 33 1.1.2.2 skrll # XXX who uses this? 34 1.1.2.2 skrll # Attempt to do a syntax-only compile of the entire kernel as one entity. 35 1.1.2.2 skrll # Alas, bugs in the GCC C frontend prevent this from completely effective 36 1.1.2.2 skrll # but information can be gleaned from the output. 37 1.1.2.2 skrll syntax-only: ${CFILES} ${MD_CFILES} 38 1.1.2.2 skrll ${CC} -fsyntax-only -combine ${CFLAGS} ${CPPFLAGS} \ 39 1.1.2.2 skrll ${CFILES} ${MD_CFILES} 40