summaryrefslogtreecommitdiff
path: root/qa/src/GNUlocaldefs
diff options
context:
space:
mode:
Diffstat (limited to 'qa/src/GNUlocaldefs')
-rw-r--r--qa/src/GNUlocaldefs787
1 files changed, 787 insertions, 0 deletions
diff --git a/qa/src/GNUlocaldefs b/qa/src/GNUlocaldefs
new file mode 100644
index 0000000..98f85f4
--- /dev/null
+++ b/qa/src/GNUlocaldefs
@@ -0,0 +1,787 @@
+#
+# Copyright (c) 2012-2014 Red Hat.
+# Copyright (c) 2009 Aconex. All Rights Reserved.
+# Copyright (c) 1997-2002 Silicon Graphics, Inc. All Rights Reserved.
+#
+
+PMLOGGER = $(PCP_BINADM_DIR)/pmlogger
+PMLOGEXTRACT = $(PCP_BINADM_DIR)/pmlogextract
+
+#DBG = -DPCP_DEBUG -DDEBUG -DMALLOC_AUDIT -g
+DBG = -DPCP_DEBUG -DDEBUG -g
+
+DEBUG = $(DBG)
+
+HAVE_64 = $(shell test `uname -m | sed -e 's/.*64/64/g'` = "64" && echo 1 || echo 0)
+
+SRCARCH = mirage.0 moomba.client.0 \
+ babylon.percpu.0 babylon.percpu_v2.0 \
+ omen.client.0 bozo.client.0 bozo.client_v2.0 \
+ late.0 ok-bigbin.0 ok-mv-bigbin.0 ok-truncbin.0 \
+ babylon.pmview.0 babylon.pmview_v2.0 ok-foo.0 ok-mv-foo.0 \
+ bug.0 bug_v2.0 ace.0 ace_v2.0 bigace.0 bigace_v2.0 \
+ 951127.23.01.0 951127.23.01_v2.0 960624.08.17.0 960624.08.17_v2.0 \
+ rattle.0 mark-bug.0 arch_a.0 arch_b.0 \
+ err_v1.0 changeinst.0 19970807.09.54.0 19970807.09.59.0 \
+ binning.0 wrap.0 573184.0 xbug1.0 pcpcmd.0 markmerge.0 \
+ sample-secs.0 gmt-boring.0 kenj-pc-1.0 kenj-pc-2.0 \
+ reduce-1.0 reduce-2.0 kenj-pc-diskstat.0 snort-disks.0 \
+ vldb-disks.0 moomba.pmkstat.0 fcsw_indom.0 \
+ uwrap.0 20041125.0 ac15.0 conn20070309.0 logsummary-bug.0 \
+ tzchange-10-a.0 tzchange-10-b.0 tzchange-11-a.0 tzchange-11-b.0 \
+ tzchange-12-a.0 tzchange-12-b.0 sample_expr.0 \
+ mirage-1.0 mirage-2.0 eventrec-old.0 eventrec.0 \
+ badlen-0.0 badlen-1.0 badlen-2.0 badlen-3.0 badlen-4.0 \
+ badlen-5.0 badlen-6.0 badlen-7.0 badlen-8.0 badlen-9.0 \
+ badlen-10.0 badlen-11.0 \
+ 540117-short.0 541380.0 541380_v2.0 573184.0 20101004-trunc.0 \
+ bozo.client_v2.meta.bad.1 bozo.client_v2.meta.bad.2 \
+ rewrite.0 proc.0 section-a.0 section-b.0 section-c.0 section-d.0 \
+ interpmark.0 all-irix-6.5.25.0 all-sles9-sp1.0 naslog.0 \
+ multi-vm00.0 multi-vm01.0 multi-vm02.0 multi-vm03.0 pmatop-log.0 \
+ new_mysql.0 new_snmp.0 old_xfs.0 node_archive.0 count-mark.0 \
+ pyapi.0 pcp-free.0 pcp-uptime.0 pcp-numastat-1-node.0 numa.0 \
+ slow.0 bug1057.0
+
+SRCARCHPART = ok-noti-bigbin.0 pmatop-log.folio \
+ 20130706.0.bz2 20130706.index 20130706.meta
+
+MKARCH = foo.0 mv-foo.0 noti-foo.0 bar.0 mv-bar.0 noti-bar.0 \
+ bigbin.0 mv-bigbin.0 noti-bigbin.0 truncbin.0 null.0 \
+ interp.0 mv-interp.0 noti-interp.0 noti-ok-foo.0 gap.0 gap2.0 \
+ dodgey-some.0 dodgey-all.0 dodgey-mixed.0 reduce-gap.0
+
+CFILES = disk_test.c exercise.c context_test.c chkoptfetch.c \
+ xval.c xxx.c chkopenlog.c chkconnect.c t_fetch.c \
+ hp-mib.c agenttimeout.c chkctx2.c pmcdgone.c chkhelp.c \
+ scale.c chktrim.c store.c torture_api.c logcontrol.c xlog.c \
+ hex2nbo.c chknumval.c xarch.c eofarch.c defctx.c chkacc1.c chkacc2.c \
+ chkacc3.c storepast.c pmdashutdown.c exertz.c badpmcdpmid.c \
+ permfetch.c archinst.c pmlcmacro.c whichtimezone.c eol.c \
+ interp0.c interp1.c interp2.c interp3.c interp4.c \
+ pcp_lite_crash.c compare.c mkfiles.c nameall.c nullinst.c \
+ storepdu.c fetchpdu.c badloglabel.c interp_bug2.c interp_bug.c \
+ xmktime.c descreqX2.c recon.c torture_indom.c \
+ fetchrate.c stripmark.c pmnsinarchives.c \
+ endian.c chk_memleak.c chk_metric_types.c mark-bug.c \
+ pmnsunload.c parsemetricspec.c parseinterval.c \
+ pducheck.c pducrash.c pdu-server.c \
+ pmprintf.c pmsocks_objstyle.c numberstr.c \
+ read-bf.c write-bf.c slow_af.c indom.c tztest.c \
+ multifetch.c pmconvscale.c torture-eol.c \
+ crashpmcd.c dumb_pmda.c torture_cache.c wrap_int.c \
+ matchInstanceName.c torture_pmns.c \
+ mmv_genstats.c mmv_instances.c mmv_poke.c mmv_noinit.c mmv_nostats.c \
+ record.c record-setarg.c clientid.c killparent.c grind_ctx.c \
+ pmdacache.c check_import.c unpack.c hrunpack.c aggrstore.c atomstr.c \
+ grind_conv.c getconfig.c err.c torture_logmeta.c keycache.c \
+ keycache2.c pmdaqueue.c drain-server.c template.c anon-sa.c \
+ username.c rtimetest.c getcontexthost.c badpmda.c chkputlogresult.c \
+ churnctx.c
+
+ifeq ($(shell test -f ../localconfig && echo 1), 1)
+include ../localconfig
+else
+ifeq ($(shell cd ..; ( $(MAKE) localconfig >/dev/null && echo 1 )), 1)
+include ../localconfig
+else
+$(error Cannot make qa/localconfig)
+endif
+endif
+
+ifeq ($(shell test $(PCP_VER) -ge 3600 && echo 1), 1)
+CFILES += multithread0.c multithread1.c multithread2.c multithread3.c \
+ multithread4.c multithread5.c multithread6.c multithread7.c \
+ multithread8.c multithread9.c \
+ exerlock.c
+else
+MYFILES += multithread0.c multithread1.c multithread2.c multithread3.c \
+ multithread4.c multithread5.c multithread6.c multithread7.c \
+ multithread8.c multithread9.c \
+ exerlock.c
+LDIRT += multithread0 multithread1 multithread2 multithread3 \
+ multithread4 multithread5 multithread6 multithread7 \
+ multithread8 multithread9 \
+ exerlock
+endif
+
+ifeq ($(shell test $(PCP_VER) -ge 3700 && echo 1), 1)
+CFILES += hashwalk.c
+else
+MYFILES += hashwalk.c
+LDIRT += hashwalk
+endif
+
+ifeq ($(shell test $(PCP_VER) -ge 3800 && echo 1), 1)
+CFILES += parsehostattrs.c parsehostspec.c check_import_name.c
+else
+MYFILES += parsehostattrs.c parsehostspec.c check_import_name.c
+LDIRT += parsehostattrs parsehostspec check_import_name
+endif
+
+ifeq ($(shell test $(PCP_VER) -ge 3802 && echo 1), 1)
+CFILES += chkacc4.c
+else
+MYFILES += chkacc4.c
+LDIRT += chkacc4
+endif
+
+ifeq ($(shell test $(PCP_VER) -ge 3901 && echo 1), 1)
+CFILES += getoptions.c
+else
+MYFILES += getoptions.c
+LDIRT += getoptions
+endif
+
+ifeq ($(shell test $(PCP_VER) -ge 3811 && echo 1), 1)
+CONFIG_INTERP = config2.interp
+else
+CONFIG_INTERP = config1.interp
+endif
+
+ifeq ($(shell test -f /usr/include/pcp/fault.h && echo 1), 1)
+# only make these ones if the fault injection version of libpcp
+# appears to have been installed (assumes PCP >= 3.5), and then
+# only for the setup target (so not in the build)
+#
+XTRATARGETS += check_fault_injection exercise_fault
+endif
+MYFILES += check_fault_injection.c exercise_fault.c
+LDIRT += check_fault_injection exercise_fault
+
+POSIXFILES = \
+ ipc.c proc_test.c context_fd_leak.c arch_maxfd.c torture_trace.c \
+ 779246.c
+
+TRACEFILES = \
+ obs.c tstate.c tabort.c
+
+PERLFILES = \
+ batch_import.perl check_import.perl import_limit_test.perl
+# not installed:
+PLFILES = $(shell echo $(PERLFILES) | sed -e 's/\.perl/.pl/g')
+
+PYTHONFILES = \
+ test_pcp.python test_pmcc.python \
+ test_pmi.python check_import.python \
+ test_mmv.python test_webapi.python \
+ test_pcp_options.python test_pcp_getopts.python \
+ test_pcp_time.python
+# not installed:
+PYFILES = $(shell echo $(PYTHONFILES) | sed -e 's/\.python/.py/g')
+
+ifneq "$(TARGET_OS)" "mingw"
+CFILES += $(POSIXFILES) $(TRACEFILES)
+else
+MYFILES += $(POSIXFILES) $(TRACEFILES)
+endif
+
+MYFILES += $(SRCARCH) \
+ $(patsubst %.0,%.meta,$(SRCARCH)) $(patsubst %.0,%.index,$(SRCARCH)) \
+ ok-mv-bigbin.[1-9] ok-mv-foo.[12] \
+ $(SRCARCHPART) \
+ ok-noti-bigbin.meta err_v1.dump \
+ bigace.pmns \
+ config.bar config.bigbin config.dodgey-all config.dodgey-mixed \
+ config.dodgey-some config.foo config1.interp config2.interp \
+ kenj-pc-2.config reduce.config uwrap.config wrap.config \
+ root_irix root_pmns tiny.pmns sgi.bf versiondefs \
+ simple.csv simple.ods simple-resave.csv simple-resave.xlsx \
+ simple.sxc simple.xls simple.xlsx \
+ iostat iostat-c iostat-d iostat-d-k iostat-d-m iostat-p-ALL \
+ iostat-t iostat-t.ISO iostat-x iostat-z iostat-z-p-ALL \
+ pthread_barrier.h pv.c qa_test.c qa_timezone.c \
+ sa-sysstat-9.0.4 sa-sysstat-9.0.6 sa-sysstat-9.0.6.1 \
+ sa-sysstat-10.0.1 sa-sysstat-10.0.5 sa-sysstat-10.2.0 \
+ permslist
+
+MYSCRIPTS = grind-tools ipcs_clear make.dodgey mkarch-all mkbadlen \
+ mkeventrec mkinterpmark mkmirage mkproc mkrewrite mksample_expr \
+ mksa-sysstat mktzchange show-args mkbig1 fixhosts mkpermslist \
+ memcachestats.pl
+
+PSCRIPTS = $(PERLFILES) $(PYTHONFILES)
+
+CFILES_TARGETS = $(CFILES)
+
+TARGETS = $(subst broken_pmda,,$(basename $(CFILES_TARGETS))) \
+ chkctx2_lite template \
+ fetchrate_lite pv
+
+ifeq ($(HAVE_64), 1)
+TARGETS += pv64
+endif
+
+LCFLAGS = -DHAVE_TRACE
+LLDLIBS = $(PCPLIB) $(LDFLAGS)
+
+ifneq ($(NVIDIAQALIB),)
+LIBTARGET = true
+MYCFILES += nvidia-ml.c
+LCFLAGS += $(NVIDIACFLAGS)
+TARGETS += $(NVIDIAQALIB)
+endif
+
+# libpcp_trace is ready
+TRACELIB = -lpcp_trace $(LLDLIBS)
+
+# all archives, except the ones checked into the source tree,
+# then add executables beyond $(TARGETS)
+#
+LDIRT += *.log domain.h help.pag help.dir \
+ foo.0 foo.index foo.meta \
+ mv-foo.[0-9] mv-foo.index mv-foo.meta \
+ noti-foo.0 noti-foo.meta \
+ bar.0 bar.index bar.meta \
+ big[0-2].[0-2] big[0-2].index big[0-2].meta \
+ mv-bar.[0-9] mv-bar.index mv-bar.meta \
+ noti-bar.0 noti-bar.meta \
+ bigbin.0 bigbin.index bigbin.meta \
+ mv-bigbin.[0-9] mv-bigbin.index mv-bigbin.meta \
+ noti-bigbin.0 noti-bigbin.meta \
+ truncbin.0 truncbin.index truncbin.meta \
+ null.0 null.index null.meta \
+ interp.0 interp.index interp.meta \
+ mv-interp.[0-9] mv-interp.index mv-interp.meta \
+ noti-interp.0 noti-interp.meta \
+ noti-ok-foo.0 noti-ok-foo.meta \
+ gap.0 gap.index gap.meta \
+ gap2.0 gap2.index gap2.meta \
+ dodgey-some.0 dodgey-some.index dodgey-some.meta \
+ dodgey-all.0 dodgey-all.index dodgey-all.meta \
+ dodgey-mixed.0 dodgey-mixed.index dodgey-mixed.meta \
+ reduce-gap.0 reduce-gap.index reduce-gap.meta \
+ chkctx2_lite.c fetchrate_lite.c \
+ localconfig.h gmon.out \
+ $(TARGETS)
+
+.ORDER: torture_api \
+ chkctx2 fetchrate
+
+default default_pcp: \
+ $(CFILES_TARGETS) $(TARGETS) \
+ $(SRCARCH) $(SRCARCHPART) \
+ $(PLFILES) $(PYFILES) \
+ ipcs_clear
+
+setup: default $(MKARCH) $(XTRATARGETS)
+
+$(TARGETS):
+
+include $(BUILDRULES)
+
+# remove just the binaries, not the archives
+#
+clean-exec:
+ rm -f $(TARGETS)
+ rm -f $(OBJECTS)
+ rm -f pv64
+
+# remake just the archives, not the binaries
+#
+clean-arch:
+ rm -f $(MKARCH) $(subst 0,meta,$(MKARCH)) $(subst 0,index,$(MKARCH))
+
+OBJECTS = $(shell echo $(CFILES) | sed -e 's/\.c/.o/g')
+
+# make just the archives, not the binaries
+#
+arch: $(SRCARCH) $(SRCARCHPART) $(MKARCH)
+
+# --- do NOT need libpcp
+#
+
+pause: pause.c
+ $(CCF) $(CDEFS) -o pause pause.c
+
+errmap: errmap.c
+ $(CCF) $(CDEFS) -o errmap errmap.c
+
+cpuload: cpuload.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ cpuload.c
+
+load_o2000: load_o2000.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ load_o2000.c
+
+chain: chain.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ chain.c
+
+syscall: syscall.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ syscall.c
+
+getpagesize: getpagesize.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ getpagesize.c
+
+rdwr: rdwr.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ rdwr.c
+
+spawn: spawn.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ spawn.c
+
+diowr: diowr.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ diowr.c
+
+endian: endian.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ endian.c
+
+pmlcmacro: pmlcmacro.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ pmlcmacro.c
+
+sys5_ipc: sys5_ipc.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ sys5_ipc.c
+
+stripmark: stripmark.c
+ $(CCF) $(CDEFS) -o $@ stripmark.c
+
+anon-sa: anon-sa.c
+ $(CCF) $(CDEFS) -o $@ anon-sa.c
+
+# --- need libpcp
+#
+
+template: template.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ template.c $(LDLIBS)
+
+exercise: exercise.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ exercise.c $(LDLIBS)
+
+chkacc1: chkacc1.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ chkacc1.c $(LDLIBS)
+
+chkacc2: chkacc2.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ chkacc2.c $(LDLIBS)
+
+chkacc3: chkacc3.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ chkacc3.c $(LDLIBS)
+
+ipc: ipc.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ ipc.c $(LDLIBS)
+
+chk_memleak: chk_memleak.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ chk_memleak.c $(LDLIBS)
+
+chknumval: chknumval.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ chknumval.c $(LDLIBS)
+
+logcontrol: logcontrol.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ logcontrol.c $(LDLIBS)
+
+numberstr: numberstr.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ numberstr.c $(LDLIBS)
+
+pmcdgone: pmcdgone.c localconfig.h
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ pmcdgone.c $(LDLIBS)
+
+slow_af: slow_af.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ slow_af.c $(LDLIBS)
+
+mmv_poke: mmv_poke.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ mmv_poke.c $(LDLIBS)
+
+# --- need libpcp but also PM_CONTEXT_LOCAL
+#
+
+fetchrate_lite: fetchrate_lite.c
+ rm -f $@
+ $(CCF) $(CDEFS) -DLITE=1 -o $@ fetchrate_lite.c $(LDLIBS)
+
+fetchrate_lite.c: fetchrate.c
+ rm -f $@
+ ln -s fetchrate.c fetchrate_lite.c
+
+chkctx2_lite: chkctx2_lite.c
+ rm -f $@
+ $(CCF) $(CDEFS) -DLITE=1 -o $@ chkctx2_lite.c $(LDLIBS)
+
+chkctx2_lite.c: chkctx2.c
+ rm -f $@
+ ln -s chkctx2.c chkctx2_lite.c
+
+hp-mib: hp-mib.c
+ rm -f $@
+ $(CCF) $(CDEFS) -DLITE=1 -o $@ hp-mib.c $(LDLIBS)
+
+pcp_lite_crash: pcp_lite_crash.c
+ rm -f $@
+ $(CCF) $(CDEFS) -DLITE=1 -o $@ pcp_lite_crash.c $(LDLIBS)
+
+store: store.c
+ rm -f $@
+ $(CCF) $(CDEFS) -DLITE=1 -o $@ store.c $(LDLIBS)
+
+# --- need libpcp_pmda
+#
+
+domain.h: $(PCP_VAR_DIR)/pmns/stdpmid
+ rm -f $@
+ echo "/*" >domain.h
+ echo " * built from $(PCP_VAR_DIR)/pmns/stdpmid on `date`" >>domain.h
+ echo " */" >>domain.h
+ sed -n -e 's/[ ]*$$//' -e '/define[ ]BROKEN[ ]/s/.*[ ]/#define BROKEN /p' $(PCP_VAR_DIR)/pmns/stdpmid >>domain.h
+ sed -n -e 's/[ ]*$$//' -e '/define[ ]DYNAMIC[ ]/s/.*[ ]/#define DYNAMIC /p' $(PCP_VAR_DIR)/pmns/stdpmid >>domain.h
+
+pmdashutdown: pmdashutdown.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ pmdashutdown.c -lpcp_pmda $(LDLIBS)
+
+dumb_pmda: dumb_pmda.c
+ $(CCF) $(LCDEFS) $(LCOPTS) -o $@ $@.c -lpcp_pmda $(LDLIBS)
+
+pmdacache: pmdacache.c
+ $(CCF) $(LCDEFS) $(LCOPTS) -o $@ $@.c -lpcp_pmda $(LDLIBS)
+
+pmdaqueue: pmdaqueue.c
+ $(CCF) $(LCDEFS) $(LCOPTS) -o $@ $@.c -lpcp_pmda $(LDLIBS)
+
+atomstr: atomstr.c
+ $(CCF) $(LCDEFS) $(LCOPTS) -o $@ $@.c -lpcp_pmda $(LDLIBS)
+
+keycache: keycache.c
+ $(CCF) $(LCDEFS) $(LCOPTS) -o $@ $@.c -lpcp_pmda $(LDLIBS)
+
+keycache2: keycache2.c
+ $(CCF) $(LCDEFS) $(LCOPTS) -o $@ $@.c -lpcp_pmda $(LDLIBS)
+
+badpmda: badpmda.c
+ $(CCF) $(LCDEFS) $(LCOPTS) -o $@ $@.c -lpcp_pmda $(LDLIBS)
+
+# --- need libpcp_gui
+#
+
+record: record.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c -lpcp_gui $(LDLIBS)
+
+record-setarg: record-setarg.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c -lpcp_gui $(LDLIBS)
+
+# --- need libpcp_mmv
+#
+mmv_genstats: mmv_genstats.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c -lpcp_mmv $(LDLIBS)
+
+mmv_instances: mmv_instances.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c -lpcp_mmv $(LDLIBS)
+
+mmv_noinit: mmv_noinit.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c -lpcp_mmv $(LDLIBS)
+
+mmv_nostats: mmv_nostats.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c -lpcp_mmv $(LDLIBS)
+
+pducheck: pducheck.o
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ pducheck.o $(TRACELIB) -lpcp_pmda $(LDLIBS)
+
+pducrash: pducrash.o
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ pducrash.o $(TRACELIB) $(LDLIBS)
+
+pdu-server: pdu-server.o
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ pdu-server.o $(TRACELIB) $(LIBSOL) $(LDLIBS)
+
+torture_cache: torture_cache.o
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ torture_cache.o -lpcp_pmda $(LDLIBS)
+
+obs: obs.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ obs.c $(TRACELIB)
+
+torture_trace: torture_trace.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ torture_trace.c $(LIB_FOR_PTHREADS) $(TRACELIB)
+
+tstate: tstate.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ tstate.c $(TRACELIB)
+
+tabort: tabort.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ tabort.c $(TRACELIB)
+
+# --- need libpcp_import
+#
+
+check_import: check_import.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c -lpcp_import $(LDLIBS)
+
+check_import_name: check_import_name.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c -lpcp_import $(LDLIBS)
+
+# --- need libpcp_fault
+#
+
+check_fault_injection: check_fault_injection.c
+ rm -f $@
+ $(CCF) $(CDEFS) -DPM_FAULT_INJECTION=1 -o $@ $@.c -lpcp_fault -lpcp -lpcp_pmda
+
+exercise_fault: exercise_fault.c
+ rm -f $@
+ $(CCF) $(CDEFS) -DPM_FAULT_INJECTION=1 -o $@ $@.c -lpcp_fault -lpcp -lpcp_pmda
+
+# --- need lib for pthreads
+#
+
+multithread0: multithread0.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+multithread1: multithread1.c
+ rm -f $@
+ifeq "$(TARGET_OS)" "darwin"
+ @# see comments in multithread1.c to explain this crock
+ $(CCF) $(CDEFS) -Ddarwin_hack=1 -o $@ $@.c $(LIB_FOR_PTHREADS) -framework CoreFoundation $(LDLIBS)
+else
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+endif
+
+multithread2: multithread2.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+multithread3: multithread3.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+multithread4: multithread4.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+multithread5: multithread5.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+multithread6: multithread6.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+multithread7: multithread7.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+multithread8: multithread8.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+multithread9: multithread9.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+exerlock: exerlock.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS)
+
+# --- binary format dependencies
+#
+
+ifeq ($(HAVE_64), 1)
+pv64: pv.c
+ $(CCF) $(CDEFS) -o $@ pv.c $(LDLIBS)
+endif
+
+# -- archives
+#
+
+foo.0: config.foo
+ rm -f foo.index foo.meta foo.0
+ $(PMLOGGER) -c config.foo -s 8 foo
+
+mv-foo.0: config.foo
+ rm -f mv-foo.index mv-foo.meta mv-foo.?
+ $(PMLOGGER) -c config.foo -s 8 -v 3 mv-foo
+
+noti-foo.0: foo.0
+ cp foo.0 noti-foo.0
+ cp foo.meta noti-foo.meta
+
+noti-ok-foo.0: ok-foo.0
+ cp ok-foo.0 noti-ok-foo.0
+ cp ok-foo.meta noti-ok-foo.meta
+
+bar.0: config.bar
+ rm -f bar.index bar.meta bar.0
+ $(PMLOGGER) -c config.bar -s 70 bar
+
+mv-bar.0: config.bar
+ rm -f mv-bar.index mv-bar.meta mv-bar.?
+ $(PMLOGGER) -c config.bar -s 70 -v 20 mv-bar
+
+noti-bar.0: bar.0
+ cp bar.0 noti-bar.0
+ cp bar.meta noti-bar.meta
+
+mirage.0:
+ rm -f mirage.index mirage.meta mirage.0
+ $(PMLOGGER) -c config.mirage -s 20 mirage
+
+dodgey-some.0: make.dodgey config.dodgey-some
+ ./make.dodgey some 50
+
+dodgey-all.0: make.dodgey config.dodgey-all
+ ./make.dodgey all 50
+
+dodgey-mixed.0: make.dodgey config.dodgey-mixed
+ ./make.dodgey mixed 150
+
+bigbin.0: config.bigbin
+ rm -f bigbin.index bigbin.meta bigbin.0
+ sync
+ sleep 3
+ $(PMLOGGER) -c config.bigbin -s 1000 bigbin
+
+mv-bigbin.0: config.bigbin
+ rm -f mv-bigbin.index mv-bigbin.meta mv-bigbin.?
+ sync
+ sleep 3
+ $(PMLOGGER) -c config.bigbin -s 1000 -v 101 mv-bigbin
+
+noti-bigbin.0: bigbin.0
+ cp bigbin.0 noti-bigbin.0
+ cp bigbin.meta noti-bigbin.meta
+
+interp.0: $(CONFIG_INTERP)
+ rm -f interp.index interp.meta interp.0
+ $(PMLOGGER) -c $(CONFIG_INTERP) -s 30 interp
+
+mv-interp.0: $(CONFIG_INTERP)
+ rm -f mv-interp.index mv-interp.meta mv-interp.?
+ $(PMLOGGER) -c $(CONFIG_INTERP) -s 30 -v 10 mv-interp
+
+noti-interp.0: interp.0
+ cp interp.0 noti-interp.0
+ cp interp.meta noti-interp.meta
+
+truncbin.0: bigbin.0
+ rm -f truncbin.index truncbin.meta truncbin.0
+ ln bigbin.meta truncbin.meta
+ ln bigbin.index truncbin.index
+ dd ibs=1024 count=200 if=bigbin.0 of=truncbin.0
+
+# just the label record
+null.0: foo.0
+ rm -f null.index null.meta null.0
+ ln foo.meta null.meta
+ ln foo.index null.index
+ dd ibs=132 count=1 if=foo.0 of=null.0
+
+# 4 secs, 3 sec gap, 4 secs, 3 sec gap, 4 secs
+# and indom changes ... checked in, this is the recipe that was
+# used
+#
+changeinst.0:
+ rm -rf tmp
+ mkdir tmp
+ echo 'log mandatory on once { hinv.ncpu }' >tmp/A.config
+ echo 'log mandatory on 1sec {' >>tmp/A.config
+ echo ' sample.seconds,hinv.ncpu,sample.bin["bin-100","bin-200","bin-400"]' >>tmp/A.config
+ echo ' sample.drift' >>tmp/A.config
+ echo ' irix.network.interface.total.packets["lo0","ec0"]' >>tmp/A.config
+ echo '}' >>tmp/A.config
+ echo 'log mandatory on once { sample.bin["bin-500"] }' >tmp/B.config
+ echo 'log mandatory on 1sec {' >>tmp/B.config
+ echo ' sample.seconds,sample.milliseconds,sample.bin["bin-100","bin-300","bin-400"]' >>tmp/B.config
+ echo '}' >>tmp/B.config
+ echo 'log mandatory on once { hinv.ncpu }' >tmp/C.config
+ echo 'log mandatory on 1sec {' >>tmp/C.config
+ echo ' sample.drift' >>tmp/C.config
+ echo ' sample.seconds,sample.bin["bin-200","bin-300","bin-400","bin-500"]' >>tmp/C.config
+ echo ' irix.network.interface.total.packets["ec2","lo0"]' >>tmp/C.config
+ echo '}' >>tmp/C.config
+ $(PMLOGGER) -s 5 -c tmp/A.config tmp/A
+ sleep 3
+ $(PMLOGGER) -s 5 -c tmp/B.config tmp/B
+ sleep 3
+ $(PMLOGGER) -s 5 -c tmp/C.config tmp/C
+ rm -f changeinst.index changeinst.meta changeinst.0
+ $(PMLOGEXTRACT) tmp/A tmp/B tmp/C changeinst
+ rm -rf tmp
+
+# gap: 10 sec data, 5 sec gap, 10 sec data
+# gap2: 10 sec data, 5 sec gap, 10 sec data, 5 sec gap, 10 sec data
+# sample.bin instances change across gaps
+#
+gap.0 gap2.0:
+ rm -rf tmp
+ mkdir tmp
+ echo 'log mandatory on 1sec { pmcd.pdu_in,pmcd.numagents,hinv.ncpu,sample.bin["bin-100","bin-200","bin-400"] }' >tmp/A.config
+ echo 'log mandatory on 1sec { pmcd.pdu_in,pmcd.numagents,hinv.ncpu,sample.bin["bin-100","bin-300","bin-400"] }' >tmp/B.config
+ echo 'log mandatory on 1sec { pmcd.pdu_in,pmcd.numagents,hinv.ncpu,sample.bin["bin-100","bin-400"] }' >tmp/C.config
+ $(PMLOGGER) -s 10 -c tmp/A.config tmp/A
+ sleep 5
+ $(PMLOGGER) -s 10 -c tmp/B.config tmp/B
+ sleep 5
+ $(PMLOGGER) -s 10 -c tmp/C.config tmp/C
+ rm -f gap.index gap.meta gap.0
+ $(PMLOGEXTRACT) tmp/A tmp/B gap
+ rm -f gap2.index gap2.meta gap2.0
+ $(PMLOGEXTRACT) tmp/A tmp/B tmp/C gap2
+ rm -rf tmp
+
+reduce-gap.0: reduce-1.0 reduce-2.0
+ rm -f reduce-gap.*
+ $(PMLOGEXTRACT) reduce-1 reduce-2 reduce-gap
+
+torture_indom: torture_indom.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ torture_indom.c $(LDLIBS)
+
+torture_pmns: torture_pmns.c
+ rm -f $@
+ $(CCF) $(CDEFS) -o $@ torture_pmns.c $(LDLIBS)
+
+# --- miscellaneous
+#
+qa_timezone.$(DSOSUFFIX): qa_timezone.o
+ $(LD) -shared -o $@ -nostdlib $<
+
+ifneq ($(NVIDIAQALIB),)
+$(NVIDIAQALIB): nvidia-ml.o
+ $(CC) $(LDFLAGS) $(_SHAREDOPTS) -o $@ $<
+endif
+
+arch_maxfd.o: localconfig.h
+scale.o: localconfig.h
+
+bozo:
+ @echo TARGETS=$(TARGETS)
+
+# Suffix rules to support transition for perl and python scripts
+%.py : %.python
+ $(LN_S) $< $@
+
+%.pl : %.perl
+ $(LN_S) $< $@
+