1 # Makefile to build sysstat commands
2 # (C) 1999-2019 Sebastien GODARD (sysstat <at> orange.fr)
4 # Version and package name
5 VERSION = @PACKAGE_VERSION@
6 PACKAGE = @PACKAGE_NAME@
8 PACKAGE_TARNAME = $(PACKAGE)-$(VERSION)
18 # Full path to prevent from using aliases
21 CHKCONFIG = @PATH_CHKCONFIG@
23 INSTALL_DATA = @INSTALL_DATA@
24 INSTALL_BIN = @INSTALL_BIN@
26 HAVE_SENSORS = @HAVE_SENSORS@
29 ifeq ($(HAVE_SENSORS),y)
30 LFSENSORS = @LFSENSORS@
31 DFSENSORS = @DFSENSORS@
47 DESTDIR = $(RPM_BUILD_ROOT)
49 # These two variables are needed by other ones (eg bindir)
51 exec_prefix = @exec_prefix@
52 datarootdir = @datarootdir@
55 SA_LIB_DIR = @SA_LIB_DIR@
57 SADC_PATH = $(SA_LIB_DIR)/sadc
64 # With recent versions of autoconf, mandir defaults to ${datarootdir}/man
65 # (i.e. $prefix/share/man)
68 MAN1_DIR = $(MAN_DIR)/man1
69 MAN5_DIR = $(MAN_DIR)/man5
70 MAN8_DIR = $(MAN_DIR)/man8
76 NLS_DIR = $(PREFIX)/share/locale
77 SYSCONFIG_DIR = @SYSCONFIG_DIR@
80 CFLAGS = @CFLAGS@ -Wall -Wstrict-prototypes -pipe -O2
83 DFLAGS += -DSA_DIR=\"$(SA_DIR)\" -DSADC_PATH=\"$(SADC_PATH)\"
84 DFLAGS += $(DFSENSORS)
102 SYSMACROS = @SYSMACROS@
103 ifeq ($(SYSMACROS),y)
104 DFLAGS += -DHAVE_SYS_SYSMACROS_H
106 SYSPARAM = @SYSPARAM@
108 DFLAGS += -DHAVE_SYS_PARAM_H
112 REQUIRE_NLS = -DUSE_NLS -DPACKAGE=\"$(PACKAGE)\" -DLOCALEDIR=\"$(NLS_DIR)\"
115 DFLAGS += $(REQUIRE_NLS)
117 INSTALL_CRON = @INSTALL_CRON@
118 CRON_OWNER = @CRON_OWNER@
120 MAN_GROUP = @MAN_GROUP@
121 ifndef IGNORE_FILE_ATTRIBUTES
122 IGNORE_FILE_ATTRIBUTES = @IGNORE_FILE_ATTRIBUTES@
124 ifeq ($(IGNORE_FILE_ATTRIBUTES),y)
127 MANGRPARG = -g $(MAN_GROUP)
130 CLEAN_SA_DIR = @CLEAN_SA_DIR@
132 ifndef COMPRESS_MANPG
133 COMPRESS_MANPG = @COMPRESS_MANPG@
136 INSTALL_DOC = @INSTALL_DOC@
139 COPY_ONLY = @COPY_ONLY@
143 SYSTEMCTL = @SYSTEMCTL@
144 SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
146 # Run-command directories
150 RC0_DIR = $(RC_DIR)/rc0.d
151 RC1_DIR = $(RC_DIR)/rc1.d
152 RC2_DIR = $(RC_DIR)/rc2.d
153 RC3_DIR = $(RC_DIR)/rc3.d
154 RC4_DIR = $(RC_DIR)/rc4.d
155 RC5_DIR = $(RC_DIR)/rc5.d
156 RC6_DIR = $(RC_DIR)/rc6.d
158 INIT_DIR = @INIT_DIR@
161 INITD_DIR = @INITD_DIR@
164 SOURCE_CODE= $(wildcard *.c *.h)
166 NLSPO= $(wildcard nls/*.po)
167 NLSGMO= $(NLSPO:.po=.gmo)
168 NLSPOT= $(NLSPO:.po=.pot)
174 $(MSGMERGE) -U $< nls/sysstat.pot
177 $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
180 $(CC) -o $@ $(CFLAGS) $^ $(LFLAGS)
182 all: sadc sar sadf iostat tapestat mpstat pidstat cifsiostat locales
184 common_sadc.o: common.c version.h common.h
185 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
187 common.o: common.c version.h common.h
189 sa_common_sadc.o: sa_common.c version.h sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h
190 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
192 sa_common.o: sa_common.c version.h sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h
194 ioconf.o: ioconf.c ioconf.h common.h sysconfig.h
196 act_sadc.o: activity.c sa.h common.h rd_stats.h rd_sensors.h
197 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
199 act_sar.o: activity.c sa.h common.h rd_stats.h rd_sensors.h pr_stats.h
200 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
202 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
203 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADF $(DFLAGS) $<
205 rd_stats.o: rd_stats.c common.h rd_stats.h
206 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
208 rd_stats_light.o: rd_stats.c common.h rd_stats.h ioconf.h sysconfig.h
209 $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
211 count.o: count.c common.h rd_stats.h
212 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
214 count_light.o: count.c common.h rd_stats.h
215 $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
217 rd_sensors.o: rd_sensors.c common.h rd_sensors.h rd_stats.h
219 pr_stats.o: pr_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h pr_stats.h
221 rndr_stats.o: rndr_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h rndr_stats.h
223 xml_stats.o: xml_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h xml_stats.h
225 json_stats.o: json_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h json_stats.h
227 svg_stats.o: svg_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h svg_stats.h
229 raw_stats.o: raw_stats.c sa.h common.h rd_stats.h rd_sensors.h ioconf.h sysconfig.h raw_stats.h
231 pcp_stats.o: pcp_stats.c sa.h pcp_stats.h
233 sa_wrap.o: sa_wrap.c sa.h common.h rd_stats.h count.h rd_sensors.h
234 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
236 format_sadf.o: format.c sadf.h sa.h common.h rd_stats.h rd_sensors.h
237 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADF $(DFLAGS) $<
239 format_sar.o: format.c sa.h common.h rd_stats.h rd_sensors.h
240 $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
242 sadf_misc.o: sadf_misc.c sadf.h sa.h common.h rd_stats.h rd_sensors.h
244 sa_conv.o: sa_conv.c version.h sadf.h sa.h common.h rd_stats.h rd_sensors.h sa_conv.h
246 # Explicit rules needed to prevent possible file corruption
247 # when using parallel execution.
248 libsyscom.a: common.o ioconf.o
252 librdstats.a: rd_stats.o count.o
255 librdstats_light.a: rd_stats_light.o count_light.o
258 # librdsensors.a: librdsensors.a(rd_sensors.o)
259 librdsensors.a: rd_sensors.o
262 sadc.o: sadc.c sa.h version.h common.h rd_stats.h rd_sensors.h
264 sadc: LFLAGS += $(LFSENSORS)
266 sadc: sadc.o act_sadc.o sa_wrap.o sa_common_sadc.o common_sadc.o librdstats.a librdsensors.a
268 sar.o: sar.c sa.h version.h common.h rd_stats.h rd_sensors.h
270 sar: sar.o act_sar.o format_sar.o sa_common.o pr_stats.o librdstats_light.a libsyscom.a
272 sadf.o: sadf.c sadf.h version.h sa.h common.h rd_stats.h rd_sensors.h
274 sadf: LFLAGS += $(LFPCP)
276 sadf: sadf.o act_sadf.o format_sadf.o sadf_misc.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
278 iostat.o: iostat.c iostat.h version.h common.h ioconf.h sysconfig.h rd_stats.h count.h
280 iostat: iostat.o librdstats_light.a libsyscom.a
282 tapestat.o: tapestat.c tapestat.h version.h common.h count.h rd_stats.h
284 tapestat: tapestat.o librdstats_light.a libsyscom.a
286 pidstat.o: pidstat.c pidstat.h version.h common.h rd_stats.h count.h
288 pidstat: pidstat.o librdstats_light.a libsyscom.a
290 mpstat.o: mpstat.c mpstat.h version.h common.h rd_stats.h count.h
292 mpstat: mpstat.o librdstats_light.a libsyscom.a
294 cifsiostat.o: cifsiostat.c cifsiostat.h count.h rd_stats.h version.h common.h
296 cifsiostat: cifsiostat.o librdstats_light.a libsyscom.a
304 nls/sysstat.pot: $(wildcard *.c)
305 $(XGETTEXT) -o $@ -k_ --msgid-bugs-address="sysstat <at> orange.fr" $^
308 .PHONY: clean distclean install install_base install_all uninstall \
309 uninstall_base uninstall_all dist bdist xdist gitdist squeeze test
311 install_man: man/sadc.8 man/sar.1 man/sadf.1 man/sa1.8 man/sa2.8 man/sysstat.5
312 ifeq ($(INSTALL_DOC),y)
313 mkdir -p $(DESTDIR)$(MAN1_DIR)
314 mkdir -p $(DESTDIR)$(MAN5_DIR)
315 mkdir -p $(DESTDIR)$(MAN8_DIR)
316 rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8*
317 $(INSTALL_DATA) $(MANGRPARG) man/sa1.8 $(DESTDIR)$(MAN8_DIR)
318 rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8*
319 $(INSTALL_DATA) $(MANGRPARG) man/sa2.8 $(DESTDIR)$(MAN8_DIR)
320 rm -f $(DESTDIR)$(MAN8_DIR)/sadc.8*
321 $(INSTALL_DATA) $(MANGRPARG) man/sadc.8 $(DESTDIR)$(MAN8_DIR)
322 rm -f $(DESTDIR)$(MAN1_DIR)/sar.1*
323 $(INSTALL_DATA) $(MANGRPARG) man/sar.1 $(DESTDIR)$(MAN1_DIR)
324 rm -f $(DESTDIR)$(MAN1_DIR)/sadf.1*
325 $(INSTALL_DATA) $(MANGRPARG) man/sadf.1 $(DESTDIR)$(MAN1_DIR)
326 rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
327 $(INSTALL_DATA) $(MANGRPARG) man/sysstat.5 $(DESTDIR)$(MAN5_DIR)
328 rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1*
329 $(INSTALL_DATA) $(MANGRPARG) man/iostat.1 $(DESTDIR)$(MAN1_DIR)
330 rm -f $(DESTDIR)$(MAN1_DIR)/tapestat.1*
331 $(INSTALL_DATA) $(MANGRPARG) man/tapestat.1 $(DESTDIR)$(MAN1_DIR)
332 rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1*
333 $(INSTALL_DATA) $(MANGRPARG) man/mpstat.1 $(DESTDIR)$(MAN1_DIR)
334 rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
335 $(INSTALL_DATA) $(MANGRPARG) man/pidstat.1 $(DESTDIR)$(MAN1_DIR)
336 rm -f $(DESTDIR)$(MAN1_DIR)/cifsiostat.1*
337 $(INSTALL_DATA) $(MANGRPARG) man/cifsiostat.1 $(DESTDIR)$(MAN1_DIR)
338 ifeq ($(COMPRESS_MANPG),y)
339 $(ZIP) $(DESTDIR)$(MAN8_DIR)/sa1.8
340 $(ZIP) $(DESTDIR)$(MAN8_DIR)/sa2.8
341 $(ZIP) $(DESTDIR)$(MAN8_DIR)/sadc.8
342 $(ZIP) $(DESTDIR)$(MAN1_DIR)/sar.1
343 $(ZIP) $(DESTDIR)$(MAN1_DIR)/sadf.1
344 $(ZIP) $(DESTDIR)$(MAN5_DIR)/sysstat.5
345 $(ZIP) $(DESTDIR)$(MAN1_DIR)/iostat.1
346 $(ZIP) $(DESTDIR)$(MAN1_DIR)/tapestat.1
347 $(ZIP) $(DESTDIR)$(MAN1_DIR)/mpstat.1
348 $(ZIP) $(DESTDIR)$(MAN1_DIR)/pidstat.1
349 $(ZIP) $(DESTDIR)$(MAN1_DIR)/cifsiostat.1
354 catalogs="$(SOURCE_CODE)"; \
355 for c in $$catalogs; do \
356 echo "Squeezing file: $$c"; \
357 sed 's/[\t ]*$$//g' $$c > squeeze.tmp; \
358 mv squeeze.tmp $$c; \
363 catalogs='$(NLSGMO)'; \
364 for c in $$catalogs; do \
366 c=`echo $$c | sed 's/\.gmo$$//'`; \
367 mkdir -p $(DESTDIR)$(NLS_DIR)/$$c/LC_MESSAGES; \
368 echo "NLS: Installing $$c file..." ; \
369 $(INSTALL_DATA) nls/$$c.gmo $(DESTDIR)$(NLS_DIR)/$$c/LC_MESSAGES/$(PACKAGE).mo; \
373 install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls
374 mkdir -p $(DESTDIR)$(SA_LIB_DIR)
375 mkdir -p $(DESTDIR)$(SA_DIR)
376 ifeq ($(CLEAN_SA_DIR),y)
377 find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \
379 -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)/[0-9]?????
381 mkdir -p $(DESTDIR)$(BIN_DIR)
382 mkdir -p $(DESTDIR)$(DOC_DIR)
383 mkdir -p $(DESTDIR)$(SYSCONFIG_DIR)
384 $(INSTALL_BIN) sa1 $(DESTDIR)$(SA_LIB_DIR)
385 $(INSTALL_BIN) sa2 $(DESTDIR)$(SA_LIB_DIR)
386 $(INSTALL_BIN) sadc $(DESTDIR)$(SA_LIB_DIR)
387 $(INSTALL_BIN) sar $(DESTDIR)$(BIN_DIR)
388 $(INSTALL_BIN) sadf $(DESTDIR)$(BIN_DIR)
389 $(INSTALL_BIN) iostat $(DESTDIR)$(BIN_DIR)
390 $(INSTALL_BIN) tapestat $(DESTDIR)$(BIN_DIR)
391 $(INSTALL_BIN) mpstat $(DESTDIR)$(BIN_DIR)
392 $(INSTALL_BIN) pidstat $(DESTDIR)$(BIN_DIR)
393 $(INSTALL_BIN) cifsiostat $(DESTDIR)$(BIN_DIR)
394 $(INSTALL_DATA) sysstat.ioconf $(DESTDIR)$(SYSCONFIG_DIR)
395 $(INSTALL_DATA) sysstat.sysconfig $(DESTDIR)$(SYSCONFIG_DIR)/sysstat
396 ifeq ($(INSTALL_DOC),y)
397 $(INSTALL_DATA) CHANGES $(DESTDIR)$(DOC_DIR)
398 $(INSTALL_DATA) COPYING $(DESTDIR)$(DOC_DIR)
399 $(INSTALL_DATA) CREDITS $(DESTDIR)$(DOC_DIR)
400 $(INSTALL_DATA) README.md $(DESTDIR)$(DOC_DIR)
401 $(INSTALL_DATA) FAQ.md $(DESTDIR)$(DOC_DIR)
402 $(INSTALL_DATA) *.lsm $(DESTDIR)$(DOC_DIR)
405 install_all: install_base cron/crontab sysstat \
406 cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly
407 ifneq ($(IGNORE_FILE_ATTRIBUTES),y)
408 $(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
410 ifdef SYSTEMD_UNIT_DIR
411 mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR)
413 if [ -d /etc/cron.d ]; then \
414 mkdir -p $(DESTDIR)/etc/cron.d; \
415 elif [ -d /etc/cron.hourly -a -d /etc/cron.daily ]; then \
416 mkdir -p $(DESTDIR)/etc/cron.hourly $(DESTDIR)/etc/cron.daily; \
418 if [ -d $(INIT_DIR) ]; then \
419 mkdir -p $(DESTDIR)$(INIT_DIR); \
420 elif [ -d $(RC_DIR) ]; then \
421 mkdir -p $(DESTDIR)$(RC_DIR); \
424 if [ -z "$(SYSTEMD_UNIT_DIR)" -o ! -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" ]; then \
425 if [ -d $(DESTDIR)/etc/cron.d ]; then \
426 $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
427 elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \
428 $(INSTALL_BIN) cron/sysstat.cron.hourly $(DESTDIR)/etc/cron.hourly/sysstat; \
429 $(INSTALL_BIN) cron/sysstat.cron.daily $(DESTDIR)/etc/cron.daily/sysstat; \
432 ifeq ($(COPY_ONLY),n)
433 if [ \( -z "$(SYSTEMD_UNIT_DIR)" -o ! -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" \) -a ! -d $(DESTDIR)/etc/cron.d ]; then \
434 if [ ! -d $(DESTDIR)/etc/cron.hourly -o ! -d $(DESTDIR)/etc/cron.daily ]; then \
435 su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).save"; \
436 $(CP) -a /tmp/crontab-$(CRON_OWNER).save ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.save; \
437 echo "USER'S PREVIOUS CRONTAB SAVED IN CURRENT DIRECTORY (USING .save SUFFIX)."; \
438 su $(CRON_OWNER) -c "crontab cron/crontab"; \
442 if [ -n "$(SYSTEMD_UNIT_DIR)" -a -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" ]; then \
443 $(INSTALL_DATA) sysstat.service $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
444 $(INSTALL_DATA) cron/sysstat-collect.service $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
445 $(INSTALL_DATA) cron/sysstat-collect.timer $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
446 $(INSTALL_DATA) cron/sysstat-summary.service $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
447 $(INSTALL_DATA) cron/sysstat-summary.timer $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
448 elif [ -d $(DESTDIR)$(INIT_DIR) ]; then \
449 $(INSTALL_BIN) sysstat $(DESTDIR)$(INIT_DIR)/sysstat; \
450 if [ "$(COPY_ONLY)" = "n" ]; then \
451 if [ -x "$(CHKCONFIG)" ]; then \
452 cd $(DESTDIR)$(INIT_DIR) && $(CHKCONFIG) --add sysstat; \
454 [ -d $(DESTDIR)$(RC2_DIR) ] || mkdir -p $(DESTDIR)$(RC2_DIR); \
455 [ -d $(DESTDIR)$(RC3_DIR) ] || mkdir -p $(DESTDIR)$(RC3_DIR); \
456 [ -d $(DESTDIR)$(RC5_DIR) ] || mkdir -p $(DESTDIR)$(RC5_DIR); \
457 cd $(DESTDIR)$(RC2_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
458 cd $(DESTDIR)$(RC3_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
459 cd $(DESTDIR)$(RC5_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
462 elif [ -d $(DESTDIR)$(RC_DIR) ]; then \
463 $(INSTALL_BIN) sysstat $(DESTDIR)$(RC_DIR)/rc.sysstat; \
464 if [ "$(COPY_ONLY)" = "n" ]; then \
465 if [ -x "$(CHKCONFIG)" ]; then \
466 cd $(DESTDIR)$(RC_DIR) && $(CHKCONFIG) --add rc.sysstat; \
468 [ -d $(DESTDIR)$(RC2_DIR) ] || mkdir -p $(DESTDIR)$(RC2_DIR); \
469 [ -d $(DESTDIR)$(RC3_DIR) ] || mkdir -p $(DESTDIR)$(RC3_DIR); \
470 [ -d $(DESTDIR)$(RC5_DIR) ] || mkdir -p $(DESTDIR)$(RC5_DIR); \
471 cd $(DESTDIR)$(RC2_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
472 cd $(DESTDIR)$(RC3_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
473 cd $(DESTDIR)$(RC5_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
477 ifeq ($(COPY_ONLY),n)
478 if [ -x "$(SYSTEMCTL)" ]; then \
479 $(SYSTEMCTL) enable sysstat.service; \
484 ifeq ($(INSTALL_DOC),y)
485 rm -f $(DESTDIR)$(MAN8_DIR)/sadc.8*
486 rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8*
487 rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8*
488 rm -f $(DESTDIR)$(MAN1_DIR)/sar.1*
489 rm -f $(DESTDIR)$(MAN1_DIR)/sadf.1*
490 rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
491 rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1*
492 rm -f $(DESTDIR)$(MAN1_DIR)/tapestat.1*
493 rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1*
494 rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
495 rm -f $(DESTDIR)$(MAN1_DIR)/cifsiostat.1*
500 -catalogs='$(NLSGMO)'; \
501 for c in $$catalogs; do \
503 c=`echo $$c | sed 's/\.gmo$$//'`; \
504 rm -f $(DESTDIR)$(PREFIX)/share/locale/$$c/LC_MESSAGES/$(PACKAGE).mo; \
505 rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/$$c/LC_MESSAGES 2>/dev/null; \
506 rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/$$c 2>/dev/null; \
510 uninstall_base: uninstall_man uninstall_nls
511 rm -f $(DESTDIR)$(SA_LIB_DIR)/sadc
512 rm -f $(DESTDIR)$(SA_LIB_DIR)/sa1
513 rm -f $(DESTDIR)$(SA_LIB_DIR)/sa2
514 rm -f $(DESTDIR)$(BIN_DIR)/sar
515 rm -f $(DESTDIR)$(BIN_DIR)/sadf
516 rm -f $(DESTDIR)$(BIN_DIR)/iostat
517 rm -f $(DESTDIR)$(BIN_DIR)/tapestat
518 rm -f $(DESTDIR)$(BIN_DIR)/mpstat
519 rm -f $(DESTDIR)$(BIN_DIR)/pidstat
520 rm -f $(DESTDIR)$(BIN_DIR)/cifsiostat
521 -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_LIB_DIR)
522 -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)/[0-9]?????
523 -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)
524 # No need to keep sysstat scripts, config files and links since
525 # the binaries have been deleted.
526 rm -f $(DESTDIR)$(INIT_DIR)/sysstat
527 rm -f $(DESTDIR)$(RC_DIR)/rc.sysstat
528 rm -f $(DESTDIR)$(SYSCONFIG_DIR)/sysstat
529 rm -f $(DESTDIR)$(SYSCONFIG_DIR)/sysstat.ioconf
530 rm -f $(DESTDIR)$(RC2_DIR)/S??sysstat
531 rm -f $(DESTDIR)$(RC2_DIR)/S??rc.sysstat
532 rm -f $(DESTDIR)$(RC3_DIR)/S??sysstat
533 rm -f $(DESTDIR)$(RC3_DIR)/S??rc.sysstat
534 rm -f $(DESTDIR)$(RC5_DIR)/S??sysstat
535 rm -f $(DESTDIR)$(RC5_DIR)/S??rc.sysstat
536 # Delete possible kill entries installed by chkconfig
537 rm -f $(DESTDIR)$(RC0_DIR)/K??sysstat
538 rm -f $(DESTDIR)$(RC0_DIR)/K??rc.sysstat
539 rm -f $(DESTDIR)$(RC1_DIR)/K??sysstat
540 rm -f $(DESTDIR)$(RC1_DIR)/K??rc.sysstat
541 rm -f $(DESTDIR)$(RC4_DIR)/K??sysstat
542 rm -f $(DESTDIR)$(RC4_DIR)/K??rc.sysstat
543 rm -f $(DESTDIR)$(RC6_DIR)/K??sysstat
544 rm -f $(DESTDIR)$(RC6_DIR)/K??rc.sysstat
545 # Vixie cron entries also can be safely deleted here
546 rm -f $(DESTDIR)/etc/cron.d/sysstat
547 # Id. for Slackware cron entries
548 rm -f $(DESTDIR)/etc/cron.hourly/sysstat
549 rm -f $(DESTDIR)/etc/cron.daily/sysstat
550 ifeq ($(INSTALL_DOC),y)
551 rm -f $(DESTDIR)$(DOC_DIR)/*
552 -rmdir $(DESTDIR)$(DOC_DIR)
554 @echo "Please ignore the errors above, if any."
556 uninstall_all: uninstall_base
557 ifeq ($(COPY_ONLY),n)
558 if [ -z "$(SYSTEMD_UNIT_DIR)" -o ! -d $(DESTDIR)$(SYSTEMD_UNIT_DIR) ]; then \
559 -su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).old" ; \
560 -$(CP) -a /tmp/crontab-$(CRON_OWNER).old ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.old ; \
561 @echo "USER'S CRONTAB SAVED IN CURRENT DIRECTORY (USING .old SUFFIX)." ; \
562 -su $(CRON_OWNER) -c "crontab -r" ; \
564 if [ -x $(SYSTEMCTL) ]; then \
565 $(SYSTEMCTL) disable sysstat.service; \
568 if [ -n "$(SYSTEMD_UNIT_DIR)" -a -d $(DESTDIR)$(SYSTEMD_UNIT_DIR) ]; then \
569 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat.service; \
570 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-collect.service; \
571 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-collect.timer; \
572 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-summary.service; \
573 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-summary.timer; \
576 ifeq ($(INSTALL_CRON),y)
577 uninstall: uninstall_all
579 uninstall: uninstall_base
582 ifeq ($(INSTALL_CRON),y)
585 install: install_base
589 po-files: nls/sysstat.pot $(NLSPOT)
596 TESTLIST:=$(shell ls $(TESTDIR) | egrep '^[0-9]+$$' | sort -n)
600 @cat $(TESTDIR)/$(X) | $(TESTRUN)
603 @$(foreach x, $(TESTLIST), $(MAKE) X=$x unit || exit;)
606 rm -f sadc sar sadf iostat tapestat mpstat pidstat cifsiostat *.o *.a core TAGS tests/*.tmp
607 rm -f nfsiostat* man/nfsiostat*
608 find nls -name "*.gmo" -exec rm -f {} \;
610 almost-distclean: clean nls/sysstat.pot
611 rm -f sa1 sa2 sysstat cron/crontab version.h sysconfig.h
612 rm -f sysstat.sysconfig cron/sysstat.crond cron/sysstat.cron.daily sysstat.service
613 rm -f cron/sysstat-collect.service cron/sysstat-collect.timer cron/sysstat-summary.service cron/sysstat-summary.timer
614 rm -f cron/sysstat.cron.hourly cron/sysstat.crond.sample cron/sysstat.crond.sample.in
615 rm -f man/sa1.8 man/sa2.8 man/sadc.8 man/sadf.1 man/sar.1 man/iostat.1 man/sysstat.5
616 rm -f tests/0230 tests/0231 tests/0232 tests/0240 tests/0250
617 rm -f man/cifsiostat.1
618 rm -f *.log config.status
619 rm -rf autom4te.cache
620 rm -f *.save *.old .*.swp data
621 find . -name "*~" -exec rm -f {} \;
623 distclean: almost-distclean
626 maintainer-clean: distclean
629 dist: almost-distclean
630 cd .. && (tar --exclude=Makefile --exclude=.git --dereference -cvf - sysstat-$(VERSION) | gzip -v9 > sysstat-$(VERSION).tar.gz)
632 bdist: almost-distclean
633 cd .. && (tar --exclude=Makefile --exclude=.git --dereference -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION).tar.bz2)
635 xdist: almost-distclean
636 cd .. && (tar --exclude=Makefile --exclude=.git --dereference -cvf - sysstat-$(VERSION) | xz > sysstat-$(VERSION).tar.xz)
638 gitdist: almost-distclean
639 cd .. && (tar --exclude=Makefile --dereference -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION)-git.tar.bz2)