]> granicus.if.org Git - sysstat/blob - Makefile.in
Split rd_stats.c and rd_stats.h files
[sysstat] / Makefile.in
1 # Makefile to build sysstat commands
2 # # (C) 1999-2012 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 HAVE_SENSORS = @HAVE_SENSORS@
27 LFSENSORS =
28 DFSENSORS =
29 ifeq ($(HAVE_SENSORS),y)
30 LFSENSORS = @LFSENSORS@
31 DFSENSORS = @DFSENSORS@
32 endif
33
34 # Directories
35 ifndef PREFIX
36 PREFIX = @prefix@
37 endif
38 ifndef DESTDIR
39 DESTDIR = $(RPM_BUILD_ROOT)
40 endif
41 # These two variables are needed by other ones (eg bindir)
42 prefix = $(PREFIX)
43 exec_prefix = @exec_prefix@
44 datarootdir = @datarootdir@
45
46 ifndef SA_LIB_DIR
47 SA_LIB_DIR = @SA_LIB_DIR@
48 endif
49 SADC_PATH = $(SA_LIB_DIR)/sadc
50 ifndef SA_DIR
51 SA_DIR = @SA_DIR@
52 endif
53 BIN_DIR = @bindir@
54
55 ifndef MAN_DIR
56 # With recent versions of autoconf, mandir defaults to ${datarootdir}/man
57 # (i.e. $prefix/share/man)
58 MAN_DIR = @mandir@
59 endif
60 MAN1_DIR = $(MAN_DIR)/man1
61 MAN5_DIR = $(MAN_DIR)/man5
62 MAN8_DIR = $(MAN_DIR)/man8
63
64 ifndef DOC_DIR
65 DOC_DIR = @docdir@
66 endif
67
68 NLS_DIR = $(PREFIX)/share/locale
69 SYSCONFIG_DIR = @SYSCONFIG_DIR@
70
71 # Compiler flags
72 CFLAGS = @CFLAGS@ -Wall -Wstrict-prototypes -pipe -O2
73 DFLAGS = @DFLAGS@
74 LFLAGS = @STRIP@
75 DFLAGS += -DSA_DIR=\"$(SA_DIR)\" -DSADC_PATH=\"$(SADC_PATH)\"
76 DFLAGS += $(DFSENSORS)
77
78 # Commands
79 ifndef MSGFMT
80 MSGFMT = @MSGFMT@
81 endif
82 ifndef XGETTEXT
83 XGETTEXT = @XGETTEXT@
84 endif
85 ifndef MSGMERGE
86 MSGMERGE = @MSGMERGE@
87 endif
88 ifndef ZIP
89 ZIP = @ZIP@
90 endif
91
92 # Settings 
93 NLS = @NLS@
94 ifeq ($(NLS),y)
95 REQUIRE_NLS = -DUSE_NLS -DPACKAGE=\"$(PACKAGE)\" -DLOCALEDIR=\"$(NLS_DIR)\"
96 endif
97 ifdef REQUIRE_NLS
98    DFLAGS += $(REQUIRE_NLS)
99 endif
100 INSTALL_CRON = @INSTALL_CRON@
101 CRON_OWNER = @CRON_OWNER@
102
103 MAN_GROUP = @MAN_GROUP@
104 ifndef IGNORE_MAN_GROUP
105 IGNORE_MAN_GROUP = @IGNORE_MAN_GROUP@
106 endif
107 ifeq ($(IGNORE_MAN_GROUP),y)
108 MANGRPARG =
109 else
110 MANGRPARG = -g $(MAN_GROUP)
111 endif
112 ifndef CLEAN_SA_DIR
113 CLEAN_SA_DIR = @CLEAN_SA_DIR@
114 endif
115 ifndef COMPRESS_MANPG
116 COMPRESS_MANPG = @COMPRESS_MANPG@
117 endif
118 ifndef INSTALL_ISAG
119 INSTALL_ISAG = @INSTALL_ISAG@
120 endif
121 ifndef INSTALL_DOC
122 INSTALL_DOC = @INSTALL_DOC@
123 endif
124
125 # Systemd
126 SYSTEMCTL = @SYSTEMCTL@
127 SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
128
129 # Run-command directories
130 ifndef RC_DIR
131 RC_DIR = @RC_DIR@
132 endif
133 RC0_DIR = $(RC_DIR)/rc0.d
134 RC1_DIR = $(RC_DIR)/rc1.d
135 RC2_DIR = $(RC_DIR)/rc2.d
136 RC3_DIR = $(RC_DIR)/rc3.d
137 RC4_DIR = $(RC_DIR)/rc4.d
138 RC5_DIR = $(RC_DIR)/rc5.d
139 RC6_DIR = $(RC_DIR)/rc6.d
140 ifndef INIT_DIR
141 INIT_DIR = @INIT_DIR@
142 endif
143 ifndef INITD_DIR
144 INITD_DIR = @INITD_DIR@
145 endif
146
147 NLSPO= $(wildcard nls/*.po)
148 NLSGMO= $(NLSPO:.po=.gmo)
149 NLSPOT= $(NLSPO:.po=.pot)
150
151 %.gmo: %.po
152         $(MSGFMT) -o $@ $<
153
154 %.pot: %.po
155         $(MSGMERGE) -U $< nls/sysstat.pot
156
157 %.o: %.c
158         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
159
160 % : %.o
161         $(CC) -o $@ $(CFLAGS) $^ $(LFLAGS)
162
163 all: sadc sar sadf iostat mpstat pidstat nfsiostat cifsiostat locales
164
165 common.o: common.c version.h common.h ioconf.h sysconfig.h
166
167 sa_common.o: sa_common.c sa.h common.h ioconf.h sysconfig.h rd_stats.h
168
169 ioconf.o: ioconf.c ioconf.h common.h sysconfig.h
170
171 act_sadc.o: activity.c sa.h rd_stats.h rd_sensors.h
172         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
173
174 act_sar.o: activity.c sa.h pr_stats.h
175         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
176
177 act_sadf.o: activity.c sa.h rndr_stats.h xml_stats.h json_stats.h
178         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADF $(DFLAGS) $<
179
180 rd_stats.o: rd_stats.c common.h rd_stats.h ioconf.h sysconfig.h
181
182 count.o: count.c common.h rd_stats.h
183
184 rd_sensors.o: rd_sensors.c common.h rd_sensors.h sysconfig.h
185
186 pr_stats.o: pr_stats.c sa.h ioconf.h sysconfig.h pr_stats.h
187
188 rndr_stats.o: rndr_stats.c sa.h ioconf.h sysconfig.h rndr_stats.h
189
190 xml_stats.o: xml_stats.c sa.h sadf.h ioconf.h sysconfig.h xml_stats.h
191
192 json_stats.o: json_stats.c sa.h sadf.h ioconf.h sysconfig.h json_stats.h
193
194 sa_wrap.o: sa_wrap.c sa.h rd_stats.h count.h rd_sensors.h
195
196 format.o: format.c sadf.h
197
198 sadf_misc.o: sadf_misc.c sadf.h sa.h
199
200 # Explicit rules needed to prevent possible file corruption
201 # when using parallel execution.
202 libsyscom.a: common.o ioconf.o
203         $(AR) rvs $@ $?
204
205 librdstats.a: librdstats.a(rd_stats.o count.o)
206
207 librdsensors.a: librdsensors.a(rd_sensors.o)
208
209 sadc.o: sadc.c sa.h version.h common.h ioconf.h sysconfig.h rd_stats.h rd_sensors.h
210
211 sadc: LFLAGS += $(LFSENSORS)
212 sadc: sadc.o act_sadc.o sa_wrap.o sa_common.o librdstats.a librdsensors.a libsyscom.a
213
214 sar.o: sar.c sa.h version.h common.h ioconf.h pr_stats.h sysconfig.h
215
216 sar: sar.o act_sar.o sa_common.o pr_stats.o libsyscom.a
217
218 sadf.o: sadf.c sadf.h version.h sa.h common.h ioconf.h sysconfig.h
219
220 sadf: sadf.o act_sadf.o format.o sadf_misc.o rndr_stats.o xml_stats.o json_stats.o sa_common.o libsyscom.a
221
222 iostat.o: iostat.c iostat.h version.h common.h ioconf.h sysconfig.h rd_stats.h count.h
223
224 iostat: iostat.o librdstats.a libsyscom.a
225
226 pidstat.o: pidstat.c pidstat.h version.h common.h rd_stats.h count.h
227
228 pidstat: pidstat.o librdstats.a libsyscom.a
229
230 mpstat.o: mpstat.c mpstat.h version.h common.h rd_stats.h count.h
231
232 mpstat: mpstat.o librdstats.a libsyscom.a
233
234 nfsiostat.o: nfsiostat.c nfsiostat.h count.h version.h common.h
235
236 nfsiostat: nfsiostat.o librdstats.a libsyscom.a
237
238 cifsiostat.o: cifsiostat.c cifsiostat.h count.h version.h common.h
239
240 cifsiostat: cifsiostat.o librdstats.a libsyscom.a
241
242 ifdef REQUIRE_NLS
243 locales: $(NLSGMO)
244 else
245 locales:
246 endif
247
248 nls/sysstat.pot: $(wildcard *.c)
249         $(XGETTEXT) -o $@ -k_ --msgid-bugs-address="sysstat <at> orange.fr" $^
250
251 # Phony targets
252 .PHONY: clean distclean install install_base install_all uninstall \
253         uninstall_base uninstall_all dist bdist gitdist
254
255 install_man: man/sadc.8 man/sar.1 man/sadf.1 man/sa1.8 man/sa2.8 man/sysstat.5
256 ifeq ($(INSTALL_DOC),y)
257         mkdir -p $(DESTDIR)$(MAN1_DIR)
258         mkdir -p $(DESTDIR)$(MAN5_DIR)
259         mkdir -p $(DESTDIR)$(MAN8_DIR)
260         rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8*
261         $(INSTALL_DATA) $(MANGRPARG) man/sa1.8 $(DESTDIR)$(MAN8_DIR)
262         rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8*
263         $(INSTALL_DATA) $(MANGRPARG) man/sa2.8 $(DESTDIR)$(MAN8_DIR)
264         rm -f $(DESTDIR)$(MAN8_DIR)/sadc.8*
265         $(INSTALL_DATA) $(MANGRPARG) man/sadc.8 $(DESTDIR)$(MAN8_DIR)
266         rm -f $(DESTDIR)$(MAN1_DIR)/sar.1*
267         $(INSTALL_DATA) $(MANGRPARG) man/sar.1 $(DESTDIR)$(MAN1_DIR)
268         rm -f $(DESTDIR)$(MAN1_DIR)/sadf.1*
269         $(INSTALL_DATA) $(MANGRPARG) man/sadf.1 $(DESTDIR)$(MAN1_DIR)
270         rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
271         $(INSTALL_DATA) $(MANGRPARG) man/sysstat.5 $(DESTDIR)$(MAN5_DIR)
272         rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1*
273         $(INSTALL_DATA) $(MANGRPARG) man/iostat.1 $(DESTDIR)$(MAN1_DIR)
274         rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1*
275         $(INSTALL_DATA) $(MANGRPARG) man/mpstat.1 $(DESTDIR)$(MAN1_DIR)
276         rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
277         $(INSTALL_DATA) $(MANGRPARG) man/pidstat.1 $(DESTDIR)$(MAN1_DIR)
278         rm -f $(DESTDIR)$(MAN1_DIR)/nfsiostat.1*
279         $(INSTALL_DATA) $(MANGRPARG) man/nfsiostat.1 $(DESTDIR)$(MAN1_DIR)
280         rm -f $(DESTDIR)$(MAN1_DIR)/cifsiostat.1*
281         $(INSTALL_DATA) $(MANGRPARG) man/cifsiostat.1 $(DESTDIR)$(MAN1_DIR)
282 ifeq ($(INSTALL_ISAG),y)
283         $(INSTALL_DATA) $(MANGRPARG) contrib/isag/isag.1 $(DESTDIR)$(MAN1_DIR)
284 endif
285 ifeq ($(COMPRESS_MANPG),y)
286         $(ZIP) $(DESTDIR)$(MAN8_DIR)/sa1.8
287         $(ZIP) $(DESTDIR)$(MAN8_DIR)/sa2.8
288         $(ZIP) $(DESTDIR)$(MAN8_DIR)/sadc.8
289         $(ZIP) $(DESTDIR)$(MAN1_DIR)/sar.1
290         $(ZIP) $(DESTDIR)$(MAN1_DIR)/sadf.1
291         $(ZIP) $(DESTDIR)$(MAN5_DIR)/sysstat.5
292         $(ZIP) $(DESTDIR)$(MAN1_DIR)/iostat.1
293         $(ZIP) $(DESTDIR)$(MAN1_DIR)/mpstat.1
294         $(ZIP) $(DESTDIR)$(MAN1_DIR)/pidstat.1
295         $(ZIP) $(DESTDIR)$(MAN1_DIR)/nfsiostat.1
296         $(ZIP) $(DESTDIR)$(MAN1_DIR)/cifsiostat.1
297 ifeq ($(INSTALL_ISAG),y)
298         $(ZIP) $(DESTDIR)$(MAN1_DIR)/isag.1
299 endif
300 endif
301 endif
302
303 install_nls: locales
304 ifdef REQUIRE_NLS
305         catalogs='$(NLSGMO)'; \
306         for c in $$catalogs; do \
307                 c=`basename $$c`; \
308                 c=`echo $$c | sed 's/\.gmo$$//'`; \
309                 mkdir -p $(DESTDIR)$(NLS_DIR)/$$c/LC_MESSAGES; \
310                 echo "NLS: Installing $$c file..." ; \
311                 $(INSTALL_DATA) nls/$$c.gmo $(DESTDIR)$(NLS_DIR)/$$c/LC_MESSAGES/$(PACKAGE).mo; \
312         done
313 endif
314
315 install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls \
316         contrib/isag/isag
317         mkdir -p $(DESTDIR)$(SA_LIB_DIR)
318         mkdir -p $(DESTDIR)$(SA_DIR)
319 ifeq ($(CLEAN_SA_DIR),y)
320         find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \
321                 -exec rm -f {} \;
322         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)/[0-9]?????
323 endif
324         mkdir -p $(DESTDIR)$(BIN_DIR)
325         mkdir -p $(DESTDIR)$(DOC_DIR)
326         mkdir -p $(DESTDIR)$(SYSCONFIG_DIR)
327         $(INSTALL_BIN) sa1 $(DESTDIR)$(SA_LIB_DIR)
328         $(INSTALL_BIN) sa2 $(DESTDIR)$(SA_LIB_DIR)
329         $(INSTALL_BIN) sadc $(DESTDIR)$(SA_LIB_DIR)
330         $(INSTALL_BIN) sar $(DESTDIR)$(BIN_DIR)
331         $(INSTALL_BIN) sadf $(DESTDIR)$(BIN_DIR)
332         $(INSTALL_BIN) iostat $(DESTDIR)$(BIN_DIR)
333         $(INSTALL_BIN) mpstat $(DESTDIR)$(BIN_DIR)
334         $(INSTALL_BIN) pidstat $(DESTDIR)$(BIN_DIR)
335         $(INSTALL_BIN) nfsiostat $(DESTDIR)$(BIN_DIR)
336         $(INSTALL_BIN) cifsiostat $(DESTDIR)$(BIN_DIR)
337 ifeq ($(INSTALL_ISAG),y)
338         $(INSTALL_BIN) contrib/isag/isag $(DESTDIR)$(BIN_DIR)
339 endif
340         $(INSTALL_DATA) sysstat.ioconf $(DESTDIR)$(SYSCONFIG_DIR)
341         $(INSTALL_DATA) sysstat.sysconfig $(DESTDIR)$(SYSCONFIG_DIR)/sysstat
342 ifeq ($(INSTALL_DOC),y)
343         $(INSTALL_DATA) CHANGES $(DESTDIR)$(DOC_DIR)
344         $(INSTALL_DATA) COPYING $(DESTDIR)$(DOC_DIR)
345         $(INSTALL_DATA) CREDITS $(DESTDIR)$(DOC_DIR)
346         $(INSTALL_DATA) README $(DESTDIR)$(DOC_DIR)
347         $(INSTALL_DATA) FAQ $(DESTDIR)$(DOC_DIR)
348         $(INSTALL_DATA) *.lsm $(DESTDIR)$(DOC_DIR)
349 endif
350
351 install_all: install_base cron/crontab sysstat \
352         cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly
353         $(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
354         if [ -d $(DESTDIR)/etc/cron.d ]; then \
355            $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
356         elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \
357            $(INSTALL_BIN) cron/sysstat.cron.hourly $(DESTDIR)/etc/cron.hourly/sysstat; \
358            $(INSTALL_BIN) cron/sysstat.cron.daily $(DESTDIR)/etc/cron.daily/sysstat; \
359         else \
360            su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).save"; \
361            $(CP) -a /tmp/crontab-$(CRON_OWNER).save ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.save; \
362            echo "USER'S PREVIOUS CRONTAB SAVED IN CURRENT DIRECTORY (USING .save SUFFIX)."; \
363            su $(CRON_OWNER) -c "crontab cron/crontab"; \
364         fi
365         if [ -x $(SYSTEMCTL) -a -d "$(SYSTEMD_UNIT_DIR)" ]; then \
366             $(INSTALL_DATA) sysstat.service $(SYSTEMD_UNIT_DIR); \
367             $(SYSTEMCTL) enable sysstat.service; \
368         elif [ -d $(DESTDIR)$(INIT_DIR) ]; then \
369            $(INSTALL_BIN) sysstat $(DESTDIR)$(INIT_DIR)/sysstat; \
370            if [ -x $(CHKCONFIG) ]; then \
371               cd $(DESTDIR)$(INIT_DIR) && $(CHKCONFIG) --add sysstat; \
372            else \
373               cd $(DESTDIR)$(RC2_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
374               cd $(DESTDIR)$(RC3_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
375               cd $(DESTDIR)$(RC5_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
376            fi \
377         elif [ -d $(DESTDIR)$(RC_DIR) ]; then \
378            $(INSTALL_BIN) sysstat $(DESTDIR)$(RC_DIR)/rc.sysstat; \
379            if [ -x $(CHKCONFIG) ]; then \
380               cd $(DESTDIR)$(RC_DIR) && $(CHKCONFIG) --add sysstat; \
381            else \
382               [ -d $(DESTDIR)$(RC2_DIR) ] || mkdir -p $(DESTDIR)$(RC2_DIR); \
383               [ -d $(DESTDIR)$(RC3_DIR) ] || mkdir -p $(DESTDIR)$(RC3_DIR); \
384               [ -d $(DESTDIR)$(RC5_DIR) ] || mkdir -p $(DESTDIR)$(RC5_DIR); \
385               cd $(DESTDIR)$(RC2_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
386               cd $(DESTDIR)$(RC3_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
387               cd $(DESTDIR)$(RC5_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
388            fi \
389         fi
390
391 uninstall_man:
392 ifeq ($(INSTALL_DOC),y)
393         rm -f $(DESTDIR)$(MAN8_DIR)/sadc.8*
394         rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8*
395         rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8*
396         rm -f $(DESTDIR)$(MAN1_DIR)/sar.1*
397         rm -f $(DESTDIR)$(MAN1_DIR)/sadf.1*
398         rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
399         rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1*
400         rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1*
401         rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
402         rm -f $(DESTDIR)$(MAN1_DIR)/nfsiostat.1*
403         rm -f $(DESTDIR)$(MAN1_DIR)/cifsiostat.1*
404 ifeq ($(INSTALL_ISAG),y)
405         rm -f $(DESTDIR)$(MAN1_DIR)/isag.1
406 endif
407 endif
408
409 uninstall_nls:
410 ifdef REQUIRE_NLS
411         -catalogs='$(NLSGMO)'; \
412         for c in $$catalogs; do \
413                 c=`basename $$c`; \
414                 c=`echo $$c | sed 's/\.gmo$$//'`; \
415                 rm -f $(DESTDIR)$(PREFIX)/share/locale/$$c/LC_MESSAGES/$(PACKAGE).mo; \
416                 rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/$$c/LC_MESSAGES 2>/dev/null; \
417                 rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/$$c 2>/dev/null; \
418         done
419 endif
420
421 uninstall_base: uninstall_man uninstall_nls
422         rm -f $(DESTDIR)$(SA_LIB_DIR)/sadc
423         rm -f $(DESTDIR)$(SA_LIB_DIR)/sa1
424         rm -f $(DESTDIR)$(SA_LIB_DIR)/sa2
425         rm -f $(DESTDIR)$(BIN_DIR)/sar
426         rm -f $(DESTDIR)$(BIN_DIR)/sadf
427         rm -f $(DESTDIR)$(BIN_DIR)/iostat
428         rm -f $(DESTDIR)$(BIN_DIR)/mpstat
429         rm -f $(DESTDIR)$(BIN_DIR)/pidstat
430         rm -f $(DESTDIR)$(BIN_DIR)/nfsiostat
431         rm -f $(DESTDIR)$(BIN_DIR)/cifsiostat
432 ifeq ($(INSTALL_ISAG),y)
433         rm -f $(DESTDIR)$(BIN_DIR)/isag
434 endif
435         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_LIB_DIR)
436         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)/[0-9]?????
437         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)
438 #       No need to keep sysstat scripts, config files and links since
439 #       the binaries have been deleted.
440         rm -f $(DESTDIR)$(INIT_DIR)/sysstat
441         rm -f $(DESTDIR)$(RC_DIR)/rc.sysstat
442         rm -f $(DESTDIR)$(SYSCONFIG_DIR)/sysstat
443         rm -f $(DESTDIR)$(SYSCONFIG_DIR)/sysstat.ioconf
444         rm -f $(DESTDIR)$(RC2_DIR)/S??sysstat
445         rm -f $(DESTDIR)$(RC3_DIR)/S??sysstat
446         rm -f $(DESTDIR)$(RC5_DIR)/S??sysstat
447 #       Delete possible kill entries installed by chkconfig
448         rm -f $(DESTDIR)$(RC0_DIR)/K??sysstat
449         rm -f $(DESTDIR)$(RC1_DIR)/K??sysstat
450         rm -f $(DESTDIR)$(RC4_DIR)/K??sysstat
451         rm -f $(DESTDIR)$(RC6_DIR)/K??sysstat
452 #       Vixie cron entries also can be safely deleted here
453         rm -f $(DESTDIR)/etc/cron.d/sysstat
454 #       Id. for Slackware cron entries
455         rm -f $(DESTDIR)/etc/cron.hourly/sysstat
456         rm -f $(DESTDIR)/etc/cron.daily/sysstat
457 ifeq ($(INSTALL_DOC),y)
458         rm -f $(DESTDIR)$(DOC_DIR)/*
459         -rmdir $(DESTDIR)$(DOC_DIR)
460 endif
461         @echo "Please ignore the errors above, if any."
462
463 uninstall_all: uninstall_base
464         -su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).old"
465         -$(CP) -a /tmp/crontab-$(CRON_OWNER).old ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.old
466         @echo "USER CRONTAB SAVED IN CURRENT DIRECTORY (WITH .old SUFFIX)."
467         -su $(CRON_OWNER) -c "crontab -r"
468         if [ -x $(SYSTEMCTL) -a -d "$(SYSTEMD_UNIT_DIR)" ]; then \
469             $(SYSTEMCTL) disable sysstat.service; \
470             rm -f $(SYSTEMD_UNIT_DIR)/sysstat.service; \
471         fi
472
473 ifeq ($(INSTALL_CRON),y)
474 uninstall: uninstall_all
475 else
476 uninstall: uninstall_base
477 endif
478
479 ifeq ($(INSTALL_CRON),y)
480 install: install_all
481 else
482 install: install_base
483 endif
484
485 ifdef REQUIRE_NLS
486 po-files: nls/sysstat.pot $(NLSPOT)
487 else
488 po-files:
489 endif
490
491 clean:
492         rm -f sadc sar sadf iostat mpstat pidstat nfsiostat cifsiostat *.o *.a core TAGS
493         find nls -name "*.gmo" -exec rm -f {} \;
494
495 almost-distclean: clean nls/sysstat.pot
496         rm -f sa1 sa2 sysstat cron/crontab version.h sysconfig.h
497         rm -f sysstat.sysconfig cron/sysstat.crond cron/sysstat.cron.daily sysstat.service
498         rm -f cron/sysstat.cron.hourly cron/sysstat.crond.sample cron/sysstat.crond.sample.in
499         rm -f contrib/isag/isag
500         rm -f man/sa1.8 man/sa2.8 man/sadc.8 man/sadf.1 man/sar.1 man/iostat.1 man/sysstat.5
501         rm -f man/cifsiostat.1 man/nfsiostat.1
502         rm -f *.log config.status
503         rm -rf autom4te.cache
504         rm -f *.save *.old .*.swp data
505         find . -name "*~" -exec rm -f {} \;
506
507 distclean: almost-distclean
508         rm -f Makefile
509
510 maintainer-clean: distclean
511         rm -f configure
512
513 dist: almost-distclean
514         cd .. && (tar --exclude=Makefile --exclude=.git -cvf - sysstat-$(VERSION) | gzip -v9 > sysstat-$(VERSION).tar.gz)
515
516 bdist: almost-distclean
517         cd .. && (tar --exclude=Makefile --exclude=.git -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION).tar.bz2)
518
519 gitdist: almost-distclean
520         cd .. && (tar --exclude=Makefile -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION)-git.tar.bz2)
521
522 tags:
523         etags ./*.[hc]
524