Makefile revision 1.74
11.74Srillig# $NetBSD: Makefile,v 1.74 2020/07/26 07:15:26 rillig Exp $ 21.8Schristos# @(#)Makefile 5.2 (Berkeley) 12/28/90 31.1Scgd 41.1ScgdPROG= make 51.74SrilligSRCS= arch.c buf.c compat.c cond.c dir.c for.c hash.c job.c lst.c main.c 61.70SrilligSRCS+= make.c make_malloc.c metachar.c parse.c 71.72SrilligSRCS+= str.c strlist.c suff.c targ.c trace.c var.c util.c 81.40Sdsl 91.73SrilligUSE_COVERAGE?= no # works only with gcc; clang9 fails to link 101.73Srillig.if ${USE_COVERAGE} == "yes" 111.73SrilligCOPTS= --coverage -O0 -ggdb 121.73SrilligLDADD= --coverage 131.73SrilligCLEANFILES+= ${SRCS:.c=.gcda} ${SRCS:.c=.gcno} ${SRCS:=.gcov} 141.73Srillig.endif 151.73Srillig 161.71SrilligUSE_META?= yes 171.51Ssjg.if ${USE_META:tl} != "no" 181.68Sriastrad 191.71SrilligSRCS+= meta.c 201.71SrilligCPPFLAGS+= -DUSE_META 211.68Sriastrad 221.71SrilligUSE_FILEMON?= ktrace 231.72Srillig. if ${USE_FILEMON:tl} != "no" 241.68Sriastrad 251.67Sriastrad.PATH: ${.CURDIR}/filemon 261.71SrilligSRCS+= filemon_${USE_FILEMON}.c 271.71SrilligCPPFLAGS+= -DUSE_FILEMON 281.71SrilligCPPFLAGS+= -DUSE_FILEMON_${USE_FILEMON:tu} 291.68Sriastrad 301.72Srillig. if ${USE_FILEMON} == "dev" 311.71SrilligFILEMON_H?= /usr/include/dev/filemon/filemon.h 321.72Srillig. if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" 331.71SrilligCOPTS.filemon_dev.c+= \ 341.71Srillig -DHAVE_FILEMON_H -I${FILEMON_H:H} 351.72Srillig. endif 361.72Srillig. endif 371.72Srillig. endif 381.65Smaxv.endif 391.51Ssjg 401.14Sgwr.PATH: ${.CURDIR}/lst.lib 411.60SchristosSUBDIR.roff+= PSD.doc 421.29Ssjg.if make(obj) || make(clean) 431.71SrilligSUBDIR+= unit-tests 441.29Ssjg.endif 451.1Scgd 461.1Scgd.include <bsd.prog.mk> 471.16Smycroft.include <bsd.subdir.mk> 481.24Ssjg 491.71SrilligCPPFLAGS+= -DMAKE_NATIVE 501.71SrilligCOPTS.var.c+= -Wno-cast-qual 511.71SrilligCOPTS.job.c+= -Wno-format-nonliteral 521.71SrilligCOPTS.parse.c+= -Wno-format-nonliteral 531.71SrilligCOPTS.var.c+= -Wno-format-nonliteral 541.29Ssjg 551.72Srillig.if defined(TOOLDIR) 561.71Srillig# This is a native NetBSD build, use libutil rather than the local emalloc etc. 571.71SrilligCPPFLAGS+= -DUSE_EMALLOC 581.71SrilligLDADD+= -lutil 591.71SrilligDPADD+= ${LIBUTIL} 601.38Schristos.endif 611.37Schristos 621.63SmrgCOPTS.arch.c+= ${GCC_NO_FORMAT_TRUNCATION} 631.63SmrgCOPTS.dir.c+= ${GCC_NO_FORMAT_TRUNCATION} 641.63SmrgCOPTS.main.c+= ${GCC_NO_FORMAT_TRUNCATION} ${GCC_NO_STRINGOP_TRUNCATION} 651.63SmrgCOPTS.meta.c+= ${GCC_NO_FORMAT_TRUNCATION} 661.63SmrgCOPTS.parse.c+= ${GCC_NO_FORMAT_TRUNCATION} 671.61Smrg 681.29Ssjg# A simple unit-test driver to help catch regressions 691.73Srilligtest: .MAKE 701.73Srillig cd ${.CURDIR}/unit-tests \ 711.73Srillig && MAKEFLAGS= ${.MAKE} -r -m / TEST_MAKE=${TEST_MAKE:U${.OBJDIR}/${PROG:T}} ${.TARGET} 721.73Srillig.if ${USE_COVERAGE} == yes 731.73Srillig gcov ${SRCS} 741.73Srillig.endif 751.73Srillig 761.73Srilligaccept: .MAKE 771.73Srillig cd ${.CURDIR}/unit-tests && ${.MAKE} ${.TARGET} 78