]> granicus.if.org Git - sysstat/blob - Makefile.in
Merge pull request #346 from Kwstubbs/Kwstubbs/add-codeql-workflow
[sysstat] / Makefile.in
1 # Makefile to build sysstat commands
2 # (C) 1999-2021 Sebastien GODARD (sysstat <at> orange.fr)
3
4 # Version and package name
5 VERSION = @PACKAGE_VERSION@
6 PACKAGE = @PACKAGE_NAME@
7 # Needed by docdir
8 PACKAGE_TARNAME = $(PACKAGE)-$(VERSION)
9
10 # Compiler to use
11 CC = @CC@
12
13 # Other commands
14 CHMOD = @CHMOD@
15 CHOWN = @CHOWN@
16 LN_S = @LN_S@
17 AR = @AR@
18 # Full path to prevent from using aliases
19 CP = @PATH_CP@
20
21 CHKCONFIG = @PATH_CHKCONFIG@
22 INSTALL = @INSTALL@
23 INSTALL_DATA = @INSTALL_DATA@
24 INSTALL_BIN = @INSTALL_BIN@
25
26 ifndef HAVE_SENSORS
27 HAVE_SENSORS = @HAVE_SENSORS@
28 endif
29 LFSENSORS =
30 DFSENSORS =
31 ifeq ($(HAVE_SENSORS),y)
32 LFSENSORS = @LFSENSORS@
33 DFSENSORS = @DFSENSORS@
34 endif
35 ifndef HAVE_SENSORS32
36 HAVE_SENSORS32 = @HAVE_SENSORS32@
37 endif
38 LFSENSORS32 =
39 DFSENSORS32 =
40 ifeq ($(HAVE_SENSORS32),y)
41 LFSENSORS32 = @LFSENSORS32@
42 DFSENSORS32 = @DFSENSORS32@
43 endif
44
45 HAVE_PCP = @HAVE_PCP@
46 LFPCP =
47 DFPCP =
48 ifeq ($(HAVE_PCP),y)
49 LFPCP = @LFPCP@
50 DFPCP = @DFPCP@
51 endif
52
53 # Directories
54 ifndef PREFIX
55 PREFIX = @prefix@
56 endif
57 ifndef DESTDIR
58 DESTDIR = $(RPM_BUILD_ROOT)
59 endif
60 # These two variables are needed by other ones (eg bindir)
61 prefix = $(PREFIX)
62 exec_prefix = @exec_prefix@
63 datarootdir = @datarootdir@
64
65 ifndef SA_LIB_DIR
66 SA_LIB_DIR = @SA_LIB_DIR@
67 endif
68 SADC_PATH = $(SA_LIB_DIR)/sadc
69 ifndef SA_DIR
70 SA_DIR = @SA_DIR@
71 endif
72 BIN_DIR = @bindir@
73
74 ifndef MAN_DIR
75 # With recent versions of autoconf, mandir defaults to ${datarootdir}/man
76 # (i.e. $prefix/share/man)
77 MAN_DIR = @mandir@
78 endif
79 MAN1_DIR = $(MAN_DIR)/man1
80 MAN5_DIR = $(MAN_DIR)/man5
81 MAN8_DIR = $(MAN_DIR)/man8
82
83 ifndef DOC_DIR
84 DOC_DIR = @docdir@
85 endif
86
87 NLS_DIR = $(PREFIX)/share/locale
88
89 ifndef SYSCONFIG_DIR
90 SYSCONFIG_DIR = @SYSCONFIG_DIR@
91 endif
92 ifndef SYSCONFIG_FILE
93 SYSCONFIG_FILE = @SYSCONFIG_FILE@
94 endif
95
96 # Compiler flags
97 ifndef CFLAGS
98 CFLAGS = @CFLAGS@
99 endif
100 CFLAGS += -Wall -Wstrict-prototypes -pipe -O2 -fno-tree-slp-vectorize
101
102 ifndef DFLAGS
103 DFLAGS = @DFLAGS@
104 endif
105 DFLAGS += -DSA_DIR=\"$(SA_DIR)\" -DSADC_PATH=\"$(SADC_PATH)\"
106 DFLAGS += $(DFSENSORS) $(DFSENSORS32)
107 DFLAGS += $(DFPCP)
108 ifdef TFLAGS
109 DFLAGS += $(TFLAGS)
110 endif
111
112 ifndef LFLAGS
113 LFLAGS = @STRIP@ @LDFLAGS@
114 endif
115
116 # Commands
117 ifndef MSGFMT
118 MSGFMT = @MSGFMT@
119 endif
120 ifndef XGETTEXT
121 XGETTEXT = @XGETTEXT@
122 endif
123 ifndef MSGMERGE
124 MSGMERGE = @MSGMERGE@
125 endif
126 ifndef ZIP
127 ZIP = @ZIP@
128 endif
129
130 # Settings
131 SYSMACROS = @SYSMACROS@
132 ifeq ($(SYSMACROS),y)
133         DFLAGS += -DHAVE_SYS_SYSMACROS_H
134 endif
135 LINUX_SCHED = @LINUX_SCHED@
136 ifeq ($(LINUX_SCHED),y)
137         DFLAGS += -DHAVE_LINUX_SCHED_H
138 endif
139 PCP_IMPL = @PCP_IMPL@
140 ifeq ($(PCP_IMPL),y)
141         DFLAGS += -DHAVE_PCP_IMPL_H
142 endif
143 SYSPARAM = @SYSPARAM@
144 ifeq ($(SYSPARAM),y)
145         DFLAGS += -DHAVE_SYS_PARAM_H
146 endif
147
148 ifndef TGLIB32
149 TGLIB32 = @TGLIB32@
150 endif
151
152 ifndef NLS
153 NLS = @NLS@
154 endif
155 LFLAGS += @LFINTL@
156 ifeq ($(NLS),y)
157 REQUIRE_NLS = -DUSE_NLS -DPACKAGE=\"$(PACKAGE)\" -DLOCALEDIR=\"$(NLS_DIR)\"
158 endif
159 ifdef REQUIRE_NLS
160         DFLAGS += $(REQUIRE_NLS)
161 endif
162
163 ifndef LTO
164 LTO = @LTO@
165 endif
166 ifndef GCC_AR
167 GCC_AR = @GCC_AR@
168 endif
169 ifeq ($(LTO),y)
170 AR = $(GCC_AR)
171 CFLAGS += -flto
172 LD = gcc
173 LDFLAGS += $(CFLAGS)
174 endif
175
176 ifndef INSTALL_CRON
177 INSTALL_CRON = @INSTALL_CRON@
178 endif
179 ifndef CRON_OWNER
180 CRON_OWNER = @CRON_OWNER@
181 endif
182
183 MAN_GROUP = @MAN_GROUP@
184 ifndef IGNORE_FILE_ATTRIBUTES
185 IGNORE_FILE_ATTRIBUTES = @IGNORE_FILE_ATTRIBUTES@
186 endif
187 ifeq ($(IGNORE_FILE_ATTRIBUTES),y)
188 MANGRPARG =
189 else
190 MANGRPARG = -g $(MAN_GROUP)
191 endif
192 ifndef CLEAN_SA_DIR
193 CLEAN_SA_DIR = @CLEAN_SA_DIR@
194 endif
195 ifndef COMPRESS_MANPG
196 COMPRESS_MANPG = @COMPRESS_MANPG@
197 endif
198 ifndef INSTALL_DOC
199 INSTALL_DOC = @INSTALL_DOC@
200 endif
201 ifndef COPY_ONLY
202 COPY_ONLY = @COPY_ONLY@
203 endif
204
205 # Systemd
206 SYSTEMCTL = @SYSTEMCTL@
207 SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
208 SYSTEMD_SLEEP_DIR = @SYSTEMD_SLEEP_DIR@
209
210 ifndef USE_CROND
211 USE_CROND = @USE_CROND@
212 endif
213 ifeq ($(USE_CROND),y)
214 SYSTEMD_UNIT_DIR =
215 endif
216
217 # Run-command directories
218 ifndef RC_DIR
219 RC_DIR = @RC_DIR@
220 endif
221 RC0_DIR = $(RC_DIR)/rc0.d
222 RC1_DIR = $(RC_DIR)/rc1.d
223 RC2_DIR = $(RC_DIR)/rc2.d
224 RC3_DIR = $(RC_DIR)/rc3.d
225 RC4_DIR = $(RC_DIR)/rc4.d
226 RC5_DIR = $(RC_DIR)/rc5.d
227 RC6_DIR = $(RC_DIR)/rc6.d
228 ifndef INIT_DIR
229 INIT_DIR = @INIT_DIR@
230 endif
231 ifndef INITD_DIR
232 INITD_DIR = @INITD_DIR@
233 endif
234
235 SOURCE_CODE= $(wildcard *.c *.h)
236
237 NLSPO= $(wildcard nls/*.po)
238 NLSGMO= $(NLSPO:.po=.gmo)
239 NLSPOT= $(NLSPO:.po=.pot)
240
241 %.gmo: %.po
242         $(MSGFMT) -o $@ $<
243
244 %.pot: %.po
245         $(MSGMERGE) -U $< nls/sysstat.pot
246
247 %.o: %.c
248         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
249
250 % : %.o
251         $(CC) -o $@ $(CFLAGS) $^ $(LFLAGS)
252
253 all: sadc sar sadf iostat tapestat mpstat pidstat cifsiostat locales
254
255 common_light.o: common.c version.h common.h
256         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
257
258 common.o: common.c version.h common.h
259
260 systest.o: systest.c systest.h
261
262 sa_common_light.o: sa_common.c version.h sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h
263         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
264
265 sa_common.o: sa_common.c version.h sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h
266
267 ioconf.o: ioconf.c ioconf.h common.h sysconfig.h
268
269 act_sadc.o: activity.c sa.h common.h rd_stats.h rd_sensors.h
270         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
271
272 act_sar.o: activity.c sa.h common.h rd_stats.h rd_sensors.h pr_stats.h
273         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
274
275 act_sadf.o: activity.c sa.h common.h rd_stats.h rd_sensors.h rndr_stats.h xml_stats.h json_stats.h svg_stats.h raw_stats.h pcp_stats.h
276         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADF $(DFLAGS) $<
277
278 rd_stats.o: rd_stats.c common.h rd_stats.h
279         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
280
281 rd_stats_light.o: rd_stats.c common.h rd_stats.h ioconf.h sysconfig.h
282         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
283
284 count.o: count.c common.h rd_stats.h
285         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
286
287 count_light.o: count.c common.h rd_stats.h
288         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
289
290 rd_sensors.o: rd_sensors.c common.h rd_sensors.h rd_stats.h
291
292 pr_stats.o: pr_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h pr_stats.h
293
294 rndr_stats.o: rndr_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h rndr_stats.h
295
296 xml_stats.o: xml_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h xml_stats.h
297
298 json_stats.o: json_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h json_stats.h
299
300 svg_stats.o: svg_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h svg_stats.h
301
302 raw_stats.o: raw_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h raw_stats.h
303
304 pcp_stats.o: pcp_stats.c sa.h pcp_stats.h
305
306 sa_wrap.o: sa_wrap.c sa.h common.h rd_stats.h count.h rd_sensors.h
307         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
308
309 format_sadf.o: format.c sadf.h sa.h common.h rd_stats.h rd_sensors.h
310         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADF $(DFLAGS) $<
311
312 format_sar.o: format.c sa.h common.h rd_stats.h rd_sensors.h
313         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
314
315 pcp_def_metrics.o: pcp_def_metrics.c
316
317 sadf_misc.o: sadf_misc.c sadf.h pcp_def_metrics.h sa.h common.h rd_stats.h rd_sensors.h
318
319 sa_conv.o: sa_conv.c version.h sadf.h sa.h common.h rd_stats.h rd_sensors.h sa_conv.h
320
321 # Explicit rules needed to prevent possible file corruption
322 # when using parallel execution.
323 libsyscom.a: common.o ioconf.o systest.o
324         $(AR) rvs $@ $?
325
326 # Ditto
327 librdstats.a: rd_stats.o count.o
328         $(AR) rvs $@ $?
329
330 librdstats_light.a: rd_stats_light.o count_light.o
331         $(AR) rvs $@ $?
332
333 # librdsensors.a: librdsensors.a(rd_sensors.o)
334 librdsensors.a: rd_sensors.o
335         $(AR) rvs $@ $?
336
337 sadc.o: sadc.c sa.h version.h common.h rd_stats.h rd_sensors.h
338
339 sadc: LFLAGS += $(LFSENSORS)
340
341 sadc: sadc.o act_sadc.o sa_wrap.o sa_common_light.o common_light.o systest.o librdstats.a librdsensors.a libsyscom.a
342
343 sar.o: sar.c sa.h version.h common.h rd_stats.h rd_sensors.h
344
345 sar: sar.o act_sar.o format_sar.o sa_common.o pr_stats.o librdstats_light.a libsyscom.a
346
347 sadf.o: sadf.c sadf.h version.h sa.h common.h rd_stats.h rd_sensors.h
348
349 sadf: LFLAGS += $(LFPCP)
350
351 sadf: sadf.o act_sadf.o format_sadf.o sadf_misc.o pcp_def_metrics.o sa_conv.o rndr_stats.o xml_stats.o json_stats.o svg_stats.o raw_stats.o pcp_stats.o sa_common.o librdstats_light.a libsyscom.a
352
353 iostat.o: iostat.c iostat.h version.h common.h ioconf.h sysconfig.h rd_stats.h count.h
354
355 iostat: iostat.o librdstats_light.a libsyscom.a
356
357 tapestat.o: tapestat.c tapestat.h version.h common.h count.h rd_stats.h
358
359 tapestat: tapestat.o librdstats_light.a libsyscom.a
360
361 pidstat.o: pidstat.c pidstat.h version.h common.h rd_stats.h count.h
362
363 pidstat: pidstat.o librdstats_light.a libsyscom.a
364
365 mpstat.o: mpstat.c mpstat.h version.h common.h rd_stats.h count.h
366
367 mpstat: mpstat.o librdstats_light.a libsyscom.a
368
369 cifsiostat.o: cifsiostat.c cifsiostat.h count.h rd_stats.h version.h common.h
370
371 cifsiostat: cifsiostat.o librdstats_light.a libsyscom.a
372
373 # inisar: Old sar version
374
375 tests/ini/sa_common.o: tests/ini/sa_common.c tests/ini/iniversion.h tests/ini/sa.h tests/ini/common.h tests/ini/rd_stats.h tests/ini/rd_sensors.h tests/ini/ioconf.h tests/ini/inisysconfig.h
376
377 tests/ini/act_sar.o: tests/ini/activity.c tests/ini/sa.h tests/ini/common.h tests/ini/rd_stats.h tests/ini/rd_sensors.h tests/ini/pr_stats.h
378         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
379
380 tests/ini/rd_stats_light.o: tests/ini/rd_stats.c tests/ini/common.h tests/ini/rd_stats.h tests/ini/ioconf.h tests/ini/inisysconfig.h
381         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
382
383 tests/ini/count_light.o: tests/ini/count.c tests/ini/common.h tests/ini/rd_stats.h
384         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
385
386 tests/ini/libsyscom.a: tests/ini/common.o tests/ini/ioconf.o
387         $(AR) rvs $@ $?
388
389 tests/ini/format_sar.o: tests/ini/format.c tests/ini/sa.h tests/ini/common.h tests/ini/rd_stats.h tests/ini/rd_sensors.h
390         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
391
392 tests/ini/pr_stats.o: tests/ini/pr_stats.c tests/ini/sa.h tests/ini/common.h tests/ini/rd_stats.h tests/ini/rd_sensors.h tests/ini/ioconf.h tests/ini/inisysconfig.h tests/ini/pr_stats.h
393
394 tests/ini/librdstats_light.a: tests/ini/rd_stats_light.o tests/ini/count_light.o
395         $(AR) rvs $@ $?
396
397 tests/ini/inisar.o: tests/ini/inisar.c tests/ini/sa.h tests/ini/iniversion.h tests/ini/common.h tests/ini/rd_stats.h tests/ini/rd_sensors.h
398
399 tests/ini/inisar: tests/ini/inisar.o tests/ini/act_sar.o tests/ini/format_sar.o tests/ini/sa_common.o tests/ini/pr_stats.o tests/ini/librdstats_light.a tests/ini/libsyscom.a
400
401 # sar32/sadc32: 32-bit versions of sar/sadc
402 tests/32bits/sadc32.o: sadc.c sa.h version.h common.h rd_stats.h rd_sensors.h
403         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
404
405 tests/32bits/sar32.o: sar.c sa.h version.h common.h rd_stats.h rd_sensors.h
406         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
407
408 tests/32bits/act_sadc32.o: activity.c sa.h common.h rd_stats.h rd_sensors.h
409         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
410
411 tests/32bits/act_sar32.o: activity.c sa.h common.h rd_stats.h rd_sensors.h pr_stats.h
412         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
413
414 tests/32bits/sa_wrap32.o: sa_wrap.c sa.h common.h rd_stats.h count.h rd_sensors.h
415         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
416
417 tests/32bits/sa_common_light32.o: sa_common.c version.h sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h
418         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
419
420 tests/32bits/sa_common32.o: sa_common.c version.h sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h
421         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
422
423 tests/32bits/common_light32.o: common.c version.h common.h
424         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
425
426 tests/32bits/systest32.o: systest.c systest.h
427         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
428
429 tests/32bits/libsyscom32.a: tests/32bits/common32.o tests/32bits/ioconf32.o tests/32bits/systest32.o
430         $(AR) rvs $@ $?
431
432 tests/32bits/librdstats32.a: tests/32bits/rd_stats32.o tests/32bits/count32.o
433         $(AR) rvs $@ $?
434
435 tests/32bits/librdstats_light32.a: tests/32bits/rd_stats_light32.o tests/32bits/count_light32.o
436         $(AR) rvs $@ $?
437
438 tests/32bits/librdsensors32.a: tests/32bits/rd_sensors32.o
439         $(AR) rvs $@ $?
440
441 tests/32bits/rd_stats32.o: rd_stats.c common.h rd_stats.h
442         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
443
444 tests/32bits/rd_stats_light32.o: rd_stats.c common.h rd_stats.h ioconf.h sysconfig.h
445         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
446
447 tests/32bits/count32.o: count.c common.h rd_stats.h
448         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
449
450 tests/32bits/count_light32.o: count.c common.h rd_stats.h
451         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
452
453 tests/32bits/format_sar32.o: format.c sa.h common.h rd_stats.h rd_sensors.h
454         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
455
456 tests/32bits/pr_stats32.o: pr_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h pr_stats.h
457         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
458
459 tests/32bits/common32.o: common.c version.h common.h
460         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
461
462 tests/32bits/ioconf32.o: ioconf.c ioconf.h common.h sysconfig.h
463         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
464
465 tests/32bits/rd_sensors32.o: rd_sensors.c common.h rd_sensors.h rd_stats.h
466         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
467
468 tests/32bits/sadc32: LFLAGS += $(LFSENSORS32)
469
470 tests/32bits/sadc32: tests/32bits/sadc32.o tests/32bits/act_sadc32.o tests/32bits/sa_wrap32.o tests/32bits/sa_common_light32.o tests/32bits/common_light32.o tests/32bits/systest32.o tests/32bits/librdstats32.a tests/32bits/librdsensors32.a
471
472 tests/32bits/sar32: tests/32bits/sar32.o tests/32bits/act_sar32.o tests/32bits/format_sar32.o tests/32bits/sa_common32.o tests/32bits/pr_stats32.o tests/32bits/librdstats_light32.a tests/32bits/libsyscom32.a
473
474 ifdef REQUIRE_NLS
475 locales: $(NLSGMO)
476 else
477 locales:
478 endif
479
480 nls/sysstat.pot: $(wildcard *.c)
481         $(XGETTEXT) -o $@ -k_ --msgid-bugs-address="sysstat <at> orange.fr" $^
482
483 # Phony targets
484 .PHONY: clean distclean install install_base install_all uninstall copyyear \
485         uninstall_base uninstall_all dist bdist xdist gitdist squeeze simtest extratest
486
487 install_man: man/sadc.8 man/sar.1 man/sadf.1 man/sa1.8 man/sa2.8 man/sysstat.5
488 ifeq ($(INSTALL_DOC),y)
489         mkdir -p $(DESTDIR)$(MAN1_DIR)
490         mkdir -p $(DESTDIR)$(MAN5_DIR)
491         mkdir -p $(DESTDIR)$(MAN8_DIR)
492         rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8*
493         $(INSTALL_DATA) $(MANGRPARG) man/sa1.8 $(DESTDIR)$(MAN8_DIR)
494         rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8*
495         $(INSTALL_DATA) $(MANGRPARG) man/sa2.8 $(DESTDIR)$(MAN8_DIR)
496         rm -f $(DESTDIR)$(MAN8_DIR)/sadc.8*
497         $(INSTALL_DATA) $(MANGRPARG) man/sadc.8 $(DESTDIR)$(MAN8_DIR)
498         rm -f $(DESTDIR)$(MAN1_DIR)/sar.1*
499         $(INSTALL_DATA) $(MANGRPARG) man/sar.1 $(DESTDIR)$(MAN1_DIR)
500         rm -f $(DESTDIR)$(MAN1_DIR)/sadf.1*
501         $(INSTALL_DATA) $(MANGRPARG) man/sadf.1 $(DESTDIR)$(MAN1_DIR)
502         rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
503         $(INSTALL_DATA) $(MANGRPARG) man/sysstat.5 $(DESTDIR)$(MAN5_DIR)
504         rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1*
505         $(INSTALL_DATA) $(MANGRPARG) man/iostat.1 $(DESTDIR)$(MAN1_DIR)
506         rm -f $(DESTDIR)$(MAN1_DIR)/tapestat.1*
507         $(INSTALL_DATA) $(MANGRPARG) man/tapestat.1 $(DESTDIR)$(MAN1_DIR)
508         rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1*
509         $(INSTALL_DATA) $(MANGRPARG) man/mpstat.1 $(DESTDIR)$(MAN1_DIR)
510         rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
511         $(INSTALL_DATA) $(MANGRPARG) man/pidstat.1 $(DESTDIR)$(MAN1_DIR)
512         rm -f $(DESTDIR)$(MAN1_DIR)/cifsiostat.1*
513         $(INSTALL_DATA) $(MANGRPARG) man/cifsiostat.1 $(DESTDIR)$(MAN1_DIR)
514 ifeq ($(COMPRESS_MANPG),y)
515         $(ZIP) $(DESTDIR)$(MAN8_DIR)/sa1.8
516         $(ZIP) $(DESTDIR)$(MAN8_DIR)/sa2.8
517         $(ZIP) $(DESTDIR)$(MAN8_DIR)/sadc.8
518         $(ZIP) $(DESTDIR)$(MAN1_DIR)/sar.1
519         $(ZIP) $(DESTDIR)$(MAN1_DIR)/sadf.1
520         $(ZIP) $(DESTDIR)$(MAN5_DIR)/sysstat.5
521         $(ZIP) $(DESTDIR)$(MAN1_DIR)/iostat.1
522         $(ZIP) $(DESTDIR)$(MAN1_DIR)/tapestat.1
523         $(ZIP) $(DESTDIR)$(MAN1_DIR)/mpstat.1
524         $(ZIP) $(DESTDIR)$(MAN1_DIR)/pidstat.1
525         $(ZIP) $(DESTDIR)$(MAN1_DIR)/cifsiostat.1
526 endif
527 endif
528
529 squeeze:
530         catalogs="$(SOURCE_CODE)"; \
531         for c in $$catalogs; do \
532                 echo "Squeezing file: $$c"; \
533                 sed 's/[\t ]*$$//g' $$c > squeeze.tmp; \
534                 mv squeeze.tmp $$c; \
535         done
536
537 # Update Makefile.in by hand - Restore mode for iconfig.
538 copyyear:
539         catalogs="$(SOURCE_CODE) iconfig README.md sa1.in sa2.in sysconfig.in sysstat.in version.in"; \
540         for c in $$catalogs; do \
541                 echo "Updating file: $$c"; \
542                 sed 's/-2021/-2022/g' $$c > copyyear.tmp; \
543                 mv copyyear.tmp $$c; \
544         done
545
546 install_nls: locales
547 ifdef REQUIRE_NLS
548         catalogs='$(NLSGMO)'; \
549         for c in $$catalogs; do \
550                 c=`basename $$c`; \
551                 c=`echo $$c | sed 's/\.gmo$$//'`; \
552                 mkdir -p $(DESTDIR)$(NLS_DIR)/$$c/LC_MESSAGES; \
553                 echo "NLS: Installing $$c file..." ; \
554                 $(INSTALL_DATA) nls/$$c.gmo $(DESTDIR)$(NLS_DIR)/$$c/LC_MESSAGES/$(PACKAGE).mo; \
555         done
556 endif
557
558 install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls
559         mkdir -p $(DESTDIR)$(SA_LIB_DIR)
560         mkdir -p $(DESTDIR)$(SA_DIR)
561 ifeq ($(CLEAN_SA_DIR),y)
562         find $(DESTDIR)$(SA_DIR) -type f | grep -E "/sar?[0-9]{2,8}(\.(Z|gz|bz2|xz|lz|lzo))?$$" | xargs rm -f
563         find $(DESTDIR)$(SA_DIR) -type f | grep -E "/sar?[0-9]{2,8}$$" | xargs rm -f
564 endif
565         mkdir -p $(DESTDIR)$(BIN_DIR)
566         mkdir -p $(DESTDIR)$(DOC_DIR)
567         mkdir -p $(DESTDIR)$(SYSCONFIG_DIR)
568         $(INSTALL_BIN) sa1 $(DESTDIR)$(SA_LIB_DIR)
569         $(INSTALL_BIN) sa2 $(DESTDIR)$(SA_LIB_DIR)
570         $(INSTALL_BIN) sadc $(DESTDIR)$(SA_LIB_DIR)
571         $(INSTALL_BIN) sar $(DESTDIR)$(BIN_DIR)
572         $(INSTALL_BIN) sadf $(DESTDIR)$(BIN_DIR)
573         $(INSTALL_BIN) iostat $(DESTDIR)$(BIN_DIR)
574         $(INSTALL_BIN) tapestat $(DESTDIR)$(BIN_DIR)
575         $(INSTALL_BIN) mpstat $(DESTDIR)$(BIN_DIR)
576         $(INSTALL_BIN) pidstat $(DESTDIR)$(BIN_DIR)
577         $(INSTALL_BIN) cifsiostat $(DESTDIR)$(BIN_DIR)
578         $(INSTALL_DATA) sysstat.ioconf $(DESTDIR)$(SYSCONFIG_DIR)
579         $(INSTALL_DATA) sysstat.sysconfig $(DESTDIR)$(SYSCONFIG_DIR)/$(SYSCONFIG_FILE)
580 ifeq ($(INSTALL_DOC),y)
581         $(INSTALL_DATA) CHANGES $(DESTDIR)$(DOC_DIR)
582         $(INSTALL_DATA) COPYING $(DESTDIR)$(DOC_DIR)
583         $(INSTALL_DATA) CREDITS $(DESTDIR)$(DOC_DIR)
584         $(INSTALL_DATA) README.md $(DESTDIR)$(DOC_DIR)
585         $(INSTALL_DATA) FAQ.md $(DESTDIR)$(DOC_DIR)
586         $(INSTALL_DATA) *.lsm $(DESTDIR)$(DOC_DIR)
587 endif
588
589 ifdef SYSTEMD_UNIT_DIR
590 install_all: install_base cron/sysstat-collect.service cron/sysstat-collect.timer \
591         cron/sysstat.sleep cron/sysstat-summary.service cron/sysstat-summary.timer
592 else
593 install_all: install_base cron/crontab sysstat \
594         cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly
595 endif
596
597 ifneq ($(IGNORE_FILE_ATTRIBUTES),y)
598         $(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
599 endif
600 ifdef SYSTEMD_UNIT_DIR
601         mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR)
602 else
603         if [ -d /etc/cron.d ]; then \
604                 mkdir -p $(DESTDIR)/etc/cron.d; \
605         elif [ -d /etc/cron.hourly -a -d /etc/cron.daily ]; then \
606                 mkdir -p $(DESTDIR)/etc/cron.hourly $(DESTDIR)/etc/cron.daily; \
607         fi
608         if [ -d $(INIT_DIR) ]; then \
609                 mkdir -p $(DESTDIR)$(INIT_DIR); \
610         elif [ -d $(RC_DIR) ]; then \
611                 mkdir -p $(DESTDIR)$(RC_DIR); \
612         fi
613 endif
614
615 ifdef SYSTEMD_SLEEP_DIR
616         mkdir -p $(DESTDIR)$(SYSTEMD_SLEEP_DIR)
617 endif
618
619         if [ -z "$(SYSTEMD_UNIT_DIR)" -o ! -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" ]; then \
620                 if [ -d $(DESTDIR)/etc/cron.d ]; then \
621                         $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
622                 elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \
623                         $(INSTALL_BIN) cron/sysstat.cron.hourly $(DESTDIR)/etc/cron.hourly/sysstat; \
624                         $(INSTALL_BIN) cron/sysstat.cron.daily $(DESTDIR)/etc/cron.daily/sysstat; \
625                 fi \
626         fi
627 ifeq ($(COPY_ONLY),n)
628         if [ \( -z "$(SYSTEMD_UNIT_DIR)" -o ! -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" \) -a ! -d $(DESTDIR)/etc/cron.d ]; then \
629                 if [ ! -d $(DESTDIR)/etc/cron.hourly -o ! -d $(DESTDIR)/etc/cron.daily ]; then \
630                         su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).save"; \
631                         $(CP) -a /tmp/crontab-$(CRON_OWNER).save ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.save; \
632                         echo "USER'S PREVIOUS CRONTAB SAVED IN CURRENT DIRECTORY (USING .save SUFFIX)."; \
633                         su $(CRON_OWNER) -c "crontab cron/crontab"; \
634                 fi \
635         fi
636 endif
637         if [ -n "$(SYSTEMD_UNIT_DIR)" -a -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" ]; then \
638                 $(INSTALL_DATA) sysstat.service $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
639                 $(INSTALL_DATA) cron/sysstat-collect.service $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
640                 $(INSTALL_DATA) cron/sysstat-collect.timer $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
641                 $(INSTALL_DATA) cron/sysstat-summary.service $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
642                 $(INSTALL_DATA) cron/sysstat-summary.timer $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
643         elif [ -d $(DESTDIR)$(INIT_DIR) ]; then \
644                 $(INSTALL_BIN) sysstat $(DESTDIR)$(INIT_DIR)/sysstat; \
645                 if [ "$(COPY_ONLY)" = "n" ]; then \
646                         if [ -x "$(CHKCONFIG)" ]; then \
647                                 cd $(DESTDIR)$(INIT_DIR) && $(CHKCONFIG) --add sysstat; \
648                         else \
649                                 [ -d $(DESTDIR)$(RC2_DIR) ] || mkdir -p $(DESTDIR)$(RC2_DIR); \
650                                 [ -d $(DESTDIR)$(RC3_DIR) ] || mkdir -p $(DESTDIR)$(RC3_DIR); \
651                                 [ -d $(DESTDIR)$(RC5_DIR) ] || mkdir -p $(DESTDIR)$(RC5_DIR); \
652                                 cd $(DESTDIR)$(RC2_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
653                                 cd $(DESTDIR)$(RC3_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
654                                 cd $(DESTDIR)$(RC5_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
655                         fi \
656                 fi \
657         elif [ -d $(DESTDIR)$(RC_DIR) ]; then \
658                 $(INSTALL_BIN) sysstat $(DESTDIR)$(RC_DIR)/rc.sysstat; \
659                 if [ "$(COPY_ONLY)" = "n" ]; then \
660                         if [ -x "$(CHKCONFIG)" ]; then \
661                                 cd $(DESTDIR)$(RC_DIR) && $(CHKCONFIG) --add rc.sysstat; \
662                         else \
663                                 [ -d $(DESTDIR)$(RC2_DIR) ] || mkdir -p $(DESTDIR)$(RC2_DIR); \
664                                 [ -d $(DESTDIR)$(RC3_DIR) ] || mkdir -p $(DESTDIR)$(RC3_DIR); \
665                                 [ -d $(DESTDIR)$(RC5_DIR) ] || mkdir -p $(DESTDIR)$(RC5_DIR); \
666                                 cd $(DESTDIR)$(RC2_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
667                                 cd $(DESTDIR)$(RC3_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
668                                 cd $(DESTDIR)$(RC5_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
669                         fi \
670                 fi \
671         fi
672         if [ -n "$(SYSTEMD_UNIT_DIR)" -a -n "$(SYSTEMD_SLEEP_DIR)" -a -d "$(DESTDIR)$(SYSTEMD_SLEEP_DIR)" ]; then \
673                 $(INSTALL_BIN) cron/sysstat.sleep $(DESTDIR)$(SYSTEMD_SLEEP_DIR); \
674         fi
675
676 ifeq ($(COPY_ONLY),n)
677         if [ -n "$(SYSTEMD_UNIT_DIR)" -a -x "$(SYSTEMCTL)" ]; then \
678                 $(SYSTEMCTL) enable sysstat.service; \
679         fi
680 endif
681
682 uninstall_man:
683 ifeq ($(INSTALL_DOC),y)
684         rm -f $(DESTDIR)$(MAN8_DIR)/sadc.8*
685         rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8*
686         rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8*
687         rm -f $(DESTDIR)$(MAN1_DIR)/sar.1*
688         rm -f $(DESTDIR)$(MAN1_DIR)/sadf.1*
689         rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
690         rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1*
691         rm -f $(DESTDIR)$(MAN1_DIR)/tapestat.1*
692         rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1*
693         rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
694         rm -f $(DESTDIR)$(MAN1_DIR)/cifsiostat.1*
695 endif
696
697 uninstall_nls:
698 ifdef REQUIRE_NLS
699         -catalogs='$(NLSGMO)'; \
700         for c in $$catalogs; do \
701                 c=`basename $$c`; \
702                 c=`echo $$c | sed 's/\.gmo$$//'`; \
703                 rm -f $(DESTDIR)$(PREFIX)/share/locale/$$c/LC_MESSAGES/$(PACKAGE).mo; \
704                 rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/$$c/LC_MESSAGES 2>/dev/null; \
705                 rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/$$c 2>/dev/null; \
706         done
707 endif
708
709 uninstall_base: uninstall_man uninstall_nls
710         rm -f $(DESTDIR)$(SA_LIB_DIR)/sadc
711         rm -f $(DESTDIR)$(SA_LIB_DIR)/sa1
712         rm -f $(DESTDIR)$(SA_LIB_DIR)/sa2
713         rm -f $(DESTDIR)$(BIN_DIR)/sar
714         rm -f $(DESTDIR)$(BIN_DIR)/sadf
715         rm -f $(DESTDIR)$(BIN_DIR)/iostat
716         rm -f $(DESTDIR)$(BIN_DIR)/tapestat
717         rm -f $(DESTDIR)$(BIN_DIR)/mpstat
718         rm -f $(DESTDIR)$(BIN_DIR)/pidstat
719         rm -f $(DESTDIR)$(BIN_DIR)/cifsiostat
720         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_LIB_DIR)
721         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)/[0-9]?????
722         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)
723 #               No need to keep sysstat scripts, config files and links since
724 #               the binaries have been deleted.
725         rm -f $(DESTDIR)$(INIT_DIR)/sysstat
726         rm -f $(DESTDIR)$(RC_DIR)/rc.sysstat
727         rm -f $(DESTDIR)$(SYSCONFIG_DIR)/$(SYSCONFIG_FILE)
728         rm -f $(DESTDIR)$(SYSCONFIG_DIR)/sysstat.ioconf
729         rm -f $(DESTDIR)$(RC2_DIR)/S??sysstat
730         rm -f $(DESTDIR)$(RC2_DIR)/S??rc.sysstat
731         rm -f $(DESTDIR)$(RC3_DIR)/S??sysstat
732         rm -f $(DESTDIR)$(RC3_DIR)/S??rc.sysstat
733         rm -f $(DESTDIR)$(RC5_DIR)/S??sysstat
734         rm -f $(DESTDIR)$(RC5_DIR)/S??rc.sysstat
735 #               Delete possible kill entries installed by chkconfig
736         rm -f $(DESTDIR)$(RC0_DIR)/K??sysstat
737         rm -f $(DESTDIR)$(RC0_DIR)/K??rc.sysstat
738         rm -f $(DESTDIR)$(RC1_DIR)/K??sysstat
739         rm -f $(DESTDIR)$(RC1_DIR)/K??rc.sysstat
740         rm -f $(DESTDIR)$(RC4_DIR)/K??sysstat
741         rm -f $(DESTDIR)$(RC4_DIR)/K??rc.sysstat
742         rm -f $(DESTDIR)$(RC6_DIR)/K??sysstat
743         rm -f $(DESTDIR)$(RC6_DIR)/K??rc.sysstat
744 #               Vixie cron entries also can be safely deleted here
745         rm -f $(DESTDIR)/etc/cron.d/sysstat
746 #               Id. for Slackware cron entries
747         rm -f $(DESTDIR)/etc/cron.hourly/sysstat
748         rm -f $(DESTDIR)/etc/cron.daily/sysstat
749 ifeq ($(INSTALL_DOC),y)
750         rm -f $(DESTDIR)$(DOC_DIR)/*
751         -rmdir $(DESTDIR)$(DOC_DIR)
752 endif
753         @echo "Please ignore the errors above, if any."
754
755 uninstall_all: uninstall_base
756 ifeq ($(COPY_ONLY),n)
757         -if [ -z "$(SYSTEMD_UNIT_DIR)" -o ! -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" ]; then \
758                 su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).old" ; \
759                 $(CP) -a /tmp/crontab-$(CRON_OWNER).old ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.old ; \
760                 echo "USER'S CRONTAB SAVED IN CURRENT DIRECTORY (USING .old SUFFIX)." ; \
761                 su $(CRON_OWNER) -c "crontab -r" ; \
762         fi
763         -if [ -n "$(SYSTEMD_UNIT_DIR)" -a -x "$(SYSTEMCTL)" ]; then \
764                 $(SYSTEMCTL) disable sysstat.service; \
765         fi
766 endif
767         if [ -n "$(SYSTEMD_UNIT_DIR)" -a -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" ]; then \
768                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat.service; \
769                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-collect.service; \
770                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-collect.timer; \
771                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-summary.service; \
772                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-summary.timer; \
773         fi
774         if [ -n "$(SYSTEMD_UNIT_DIR)" -a -n "$(SYSTEMD_SLEEP_DIR)" -a -d "$(DESTDIR)$(SYSTEMD_SLEEP_DIR)" ]; then \
775                 rm -f $(DESTDIR)$(SYSTEMD_SLEEP_DIR)/sysstat.sleep; \
776         fi
777
778 ifeq ($(INSTALL_CRON),y)
779 uninstall: uninstall_all
780 else
781 uninstall: uninstall_base
782 endif
783
784 ifeq ($(INSTALL_CRON),y)
785 install: install_all
786 else
787 install: install_base
788 endif
789
790 ifdef REQUIRE_NLS
791 po-files: nls/sysstat.pot $(NLSPOT)
792 else
793 po-files:
794 endif
795
796 TESTDIR="tests"
797 TESTRUN="/bin/sh"
798 TESTLIST:=$(shell ls $(TESTDIR) | grep -E '^[0-9]+$$' | sort -n)
799 EXTRADIR="tests/extra"
800 EXTRALIST:=$(shell ls $(EXTRADIR) | grep -E '^[0-9]+$$' | sort -n)
801
802 testcomp: tests/ini/inisar sa32bit
803
804 ifeq ($(TGLIB32),yes)
805 sa32bit: DFLAGS += -DARCH32
806
807 sa32bit: CFLAGS += -m32
808
809 sa32bit: tests/32bits/sadc32 tests/32bits/sar32
810 else
811 sa32bit:
812 endif
813
814 unit:
815         @echo $(X) 2>&1
816         @cat $(TESTDIR)/$(X) | $(TESTRUN)
817
818 extraunit:
819         @echo $(X) 2>&1
820         @cat $(EXTRADIR)/$(X) | $(TESTRUN)
821
822 # Use "do_test" script to make the following targets
823 simtest: DFLAGS += -DTEST
824
825 simtest: all testcomp
826         @$(foreach x, $(TESTLIST), $(MAKE) X=$x unit || exit;)
827         rm -f tests/root
828         ln -s root1 tests/root
829         @echo Simulation tests: Success!
830
831 extratest: DFLAGS += -DTEST
832
833 extratest: all
834         @$(foreach x, $(EXTRALIST), $(MAKE) X=$x extraunit || exit;)
835         rm -f tests/root
836         ln -s root1 tests/root
837         @echo Extra simulation tests: Success!
838
839 clean:
840         rm -f sadc sar sadf iostat tapestat mpstat pidstat cifsiostat *.o *.a core TAGS tests/*.tmp tests/extra/*.tmp
841         rm -f nfsiostat* man/nfsiostat*
842         rm -f tests/sa[0123]*
843         rm -f tests/root
844         ln -s root1 tests/root
845         rm -f tests/ini/inisar tests/32bits/sadc32 tests/32bits/sar32
846         rm -f tests/ini/*.o tests/ini/*.a tests/ini/core tests/pcpar.* tests/extra/pcpar-ssr.*
847         rm -f tests/32bits/*.o tests/32bits/*.a tests/32bits/core
848         find nls -name "*.gmo" -exec rm -f {} \;
849
850 almost-distclean: clean nls/sysstat.pot
851         rm -f sa1 sa2 sysstat cron/crontab version.h sysconfig.h
852         rm -f sysstat.sysconfig cron/sysstat.crond cron/sysstat.cron.daily sysstat.service
853         rm -f cron/sysstat-collect.service cron/sysstat-collect.timer
854         rm -f cron/sysstat-summary.service cron/sysstat-summary.timer cron/sysstat.sleep
855         rm -f cron/sysstat.cron.hourly cron/sysstat.crond.sample cron/sysstat.crond.sample.in
856         rm -f man/sa1.8 man/sa2.8 man/sadc.8 man/sadf.1 man/sar.1 man/iostat.1 man/sysstat.5
857         rm -f tests/variables tests/data
858         rm -f man/cifsiostat.1
859         rm -f *.log config.status
860         rm -rf autom4te.cache
861         rm -f *.save *.old .*.swp data
862         find . -name "*~" -exec rm -f {} \;
863
864 distclean: almost-distclean
865         rm -f Makefile
866
867 maintainer-clean: distclean
868         rm -f configure
869
870 dist: almost-distclean
871         cd .. && (tar --exclude=Makefile --exclude=.git -cvf - sysstat-$(VERSION) | gzip -v9 > sysstat-$(VERSION).tar.gz)
872
873 bdist: almost-distclean
874         cd .. && (tar --exclude=Makefile --exclude=.git -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION).tar.bz2)
875
876 xdist: almost-distclean
877         cd .. && (tar --exclude=Makefile --exclude=.git -cvf - sysstat-$(VERSION) | xz > sysstat-$(VERSION).tar.xz)
878
879 gitdist: almost-distclean
880         cd .. && (tar --exclude=Makefile -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION)-git.tar.bz2)
881
882 tags:
883         etags ./*.[hc]
884