1# $NetBSD: bsd.clang-analyze.mk,v 1.1 2011/08/27 18:35:20 joerg Exp $ 2 3.ifndef CLANG_ANALYZE_SRCS 4 5CLANG_ANALYZE_FLAGS+= --analyze 6 7.SUFFIXES: .c .cc .cpp .cxx .C .clang-analyzer 8 9CLANG_ANALYZE_CFLAGS= ${CFLAGS:N-Wa,--fatal-warnings} 10CLANG_ANALYZE_CXXFLAGS= ${CXXFLAGS:N-Wa,--fatal-warnings} 11 12.c.clang-analyzer: 13 ${TOOL_CC.clang} ${CLANG_ANALYZE_FLAGS} \ 14 ${CLANG_ANALYZE_CFLAGS} ${CPPFLAGS} \ 15 ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \ 16 ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} 17.cc.clang-analyzer .cpp.clang-analyzer .cxx.clang-analyzer .C.clang-analyzer: 18 ${TOOL_CXX.clang} ${CLANG_ANALYZE_FLAGS} \ 19 ${CLANG_ANALYZE_CXXFLAGS} ${CPPFLAGS} \ 20 ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \ 21 ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} 22 23CLANG_ANALYZE_SRCS= \ 24 ${SRCS:M*.[cC]} ${SRCS:M*.cc} \ 25 ${SRCS:M*.cpp} ${SRCS:M*.cxx} \ 26 ${DPSRCS:M*.[cC]} ${DPSRCS:M*.cc} \ 27 ${DPSRCS:M*.cpp} ${DPSRCS:M*.cxx} 28.if !empty(CLANG_ANALYZE_SRCS) 29CLANG_ANALYZE_OUTPUT= ${CLANG_ANALYZE_SRCS:R:S,$,.clang-analyzer,} 30.endif 31 32analyze: ${CLANG_ANALYZE_OUTPUT} 33 34.endif 35