]> granicus.if.org Git - sysstat/blob - Makefile.in
Merge branch 'fcstats' of https://github.com/jaunix/sysstat into jaunix-fcstats
[sysstat] / Makefile.in
1 # Makefile to build sysstat commands
2 # (C) 1999-2015 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_FILE_ATTRIBUTES
105 IGNORE_FILE_ATTRIBUTES = @IGNORE_FILE_ATTRIBUTES@
106 endif
107 ifeq ($(IGNORE_FILE_ATTRIBUTES),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 ifndef COPY_ONLY
125 COPY_ONLY = @COPY_ONLY@
126 endif
127
128 # Systemd
129 SYSTEMCTL = @SYSTEMCTL@
130 SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
131
132 # Run-command directories
133 ifndef RC_DIR
134 RC_DIR = @RC_DIR@
135 endif
136 RC0_DIR = $(RC_DIR)/rc0.d
137 RC1_DIR = $(RC_DIR)/rc1.d
138 RC2_DIR = $(RC_DIR)/rc2.d
139 RC3_DIR = $(RC_DIR)/rc3.d
140 RC4_DIR = $(RC_DIR)/rc4.d
141 RC5_DIR = $(RC_DIR)/rc5.d
142 RC6_DIR = $(RC_DIR)/rc6.d
143 ifndef INIT_DIR
144 INIT_DIR = @INIT_DIR@
145 endif
146 ifndef INITD_DIR
147 INITD_DIR = @INITD_DIR@
148 endif
149
150 SOURCE_CODE= $(wildcard *.c *.h)
151
152 NLSPO= $(wildcard nls/*.po)
153 NLSGMO= $(NLSPO:.po=.gmo)
154 NLSPOT= $(NLSPO:.po=.pot)
155
156 %.gmo: %.po
157         $(MSGFMT) -o $@ $<
158
159 %.pot: %.po
160         $(MSGMERGE) -U $< nls/sysstat.pot
161
162 %.o: %.c
163         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
164
165 % : %.o
166         $(CC) -o $@ $(CFLAGS) $^ $(LFLAGS)
167
168 all: sadc sar sadf iostat mpstat pidstat nfsiostat-sysstat cifsiostat locales
169
170 common.o: common.c version.h common.h ioconf.h sysconfig.h
171
172 sa_common.o: sa_common.c sa.h common.h ioconf.h sysconfig.h rd_stats.h
173
174 ioconf.o: ioconf.c ioconf.h common.h sysconfig.h
175
176 act_sadc.o: activity.c sa.h rd_stats.h rd_sensors.h
177         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
178
179 act_sar.o: activity.c sa.h pr_stats.h
180         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SAR $(DFLAGS) $<
181
182 act_sadf.o: activity.c sa.h rndr_stats.h xml_stats.h json_stats.h
183         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADF $(DFLAGS) $<
184
185 rd_stats.o: rd_stats.c common.h rd_stats.h ioconf.h sysconfig.h
186         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
187
188 rd_stats_light.o: rd_stats.c common.h rd_stats.h ioconf.h sysconfig.h
189         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
190
191 count.o: count.c common.h rd_stats.h
192         $(CC) -o $@ -c $(CFLAGS) -DSOURCE_SADC $(DFLAGS) $<
193
194 count_light.o: count.c common.h rd_stats.h
195         $(CC) -o $@ -c $(CFLAGS) $(DFLAGS) $<
196
197 rd_sensors.o: rd_sensors.c common.h rd_sensors.h sysconfig.h
198
199 pr_stats.o: pr_stats.c sa.h ioconf.h sysconfig.h pr_stats.h
200
201 rndr_stats.o: rndr_stats.c sa.h ioconf.h sysconfig.h rndr_stats.h
202
203 xml_stats.o: xml_stats.c sa.h sadf.h ioconf.h sysconfig.h xml_stats.h
204
205 json_stats.o: json_stats.c sa.h sadf.h ioconf.h sysconfig.h json_stats.h
206
207 sa_wrap.o: sa_wrap.c sa.h rd_stats.h count.h rd_sensors.h prealloc.h
208
209 format.o: format.c sadf.h
210
211 sadf_misc.o: sadf_misc.c sadf.h sa.h
212
213 sa_conv.o: sa_conv.c sadf.h sa.h sa_conv.h
214
215 # Explicit rules needed to prevent possible file corruption
216 # when using parallel execution.
217 libsyscom.a: common.o ioconf.o
218         $(AR) rvs $@ $?
219
220 # Ditto
221 librdstats.a: rd_stats.o count.o
222         $(AR) rvs $@ $?
223
224 librdstats_light.a: rd_stats_light.o count_light.o
225         $(AR) rvs $@ $?
226
227 librdsensors.a: librdsensors.a(rd_sensors.o)
228
229 sadc.o: sadc.c sa.h version.h common.h ioconf.h sysconfig.h rd_stats.h rd_sensors.h
230
231 sadc: LFLAGS += $(LFSENSORS)
232 sadc: sadc.o act_sadc.o sa_wrap.o sa_common.o librdstats.a librdsensors.a libsyscom.a
233
234 sar.o: sar.c sa.h version.h common.h ioconf.h pr_stats.h sysconfig.h
235
236 sar: sar.o act_sar.o sa_common.o pr_stats.o libsyscom.a
237
238 sadf.o: sadf.c sadf.h version.h sa.h common.h ioconf.h sysconfig.h
239
240 sadf: sadf.o act_sadf.o format.o sadf_misc.o sa_conv.o rndr_stats.o xml_stats.o json_stats.o sa_common.o libsyscom.a
241
242 iostat.o: iostat.c iostat.h version.h common.h ioconf.h sysconfig.h rd_stats.h count.h
243
244 iostat: iostat.o librdstats_light.a libsyscom.a
245
246 pidstat.o: pidstat.c pidstat.h version.h common.h rd_stats.h count.h
247
248 pidstat: pidstat.o librdstats_light.a libsyscom.a
249
250 mpstat.o: mpstat.c mpstat.h version.h common.h rd_stats.h count.h
251
252 mpstat: mpstat.o librdstats_light.a libsyscom.a
253
254 nfsiostat-sysstat.o: nfsiostat-sysstat.c nfsiostat-sysstat.h count.h version.h common.h
255
256 nfsiostat-sysstat: nfsiostat-sysstat.o librdstats_light.a libsyscom.a
257
258 cifsiostat.o: cifsiostat.c cifsiostat.h count.h version.h common.h
259
260 cifsiostat: cifsiostat.o librdstats_light.a libsyscom.a
261
262 ifdef REQUIRE_NLS
263 locales: $(NLSGMO)
264 else
265 locales:
266 endif
267
268 nls/sysstat.pot: $(wildcard *.c)
269         $(XGETTEXT) -o $@ -k_ --msgid-bugs-address="sysstat <at> orange.fr" $^
270
271 # Phony targets
272 .PHONY: clean distclean install install_base install_all uninstall \
273         uninstall_base uninstall_all dist bdist xdist gitdist squeeze
274
275 install_man: man/sadc.8 man/sar.1 man/sadf.1 man/sa1.8 man/sa2.8 man/sysstat.5
276 ifeq ($(INSTALL_DOC),y)
277         mkdir -p $(DESTDIR)$(MAN1_DIR)
278         mkdir -p $(DESTDIR)$(MAN5_DIR)
279         mkdir -p $(DESTDIR)$(MAN8_DIR)
280         rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8*
281         $(INSTALL_DATA) $(MANGRPARG) man/sa1.8 $(DESTDIR)$(MAN8_DIR)
282         rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8*
283         $(INSTALL_DATA) $(MANGRPARG) man/sa2.8 $(DESTDIR)$(MAN8_DIR)
284         rm -f $(DESTDIR)$(MAN8_DIR)/sadc.8*
285         $(INSTALL_DATA) $(MANGRPARG) man/sadc.8 $(DESTDIR)$(MAN8_DIR)
286         rm -f $(DESTDIR)$(MAN1_DIR)/sar.1*
287         $(INSTALL_DATA) $(MANGRPARG) man/sar.1 $(DESTDIR)$(MAN1_DIR)
288         rm -f $(DESTDIR)$(MAN1_DIR)/sadf.1*
289         $(INSTALL_DATA) $(MANGRPARG) man/sadf.1 $(DESTDIR)$(MAN1_DIR)
290         rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
291         $(INSTALL_DATA) $(MANGRPARG) man/sysstat.5 $(DESTDIR)$(MAN5_DIR)
292         rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1*
293         $(INSTALL_DATA) $(MANGRPARG) man/iostat.1 $(DESTDIR)$(MAN1_DIR)
294         rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1*
295         $(INSTALL_DATA) $(MANGRPARG) man/mpstat.1 $(DESTDIR)$(MAN1_DIR)
296         rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
297         $(INSTALL_DATA) $(MANGRPARG) man/pidstat.1 $(DESTDIR)$(MAN1_DIR)
298         rm -f $(DESTDIR)$(MAN1_DIR)/nfsiostat-sysstat.1*
299         $(INSTALL_DATA) $(MANGRPARG) man/nfsiostat-sysstat.1 $(DESTDIR)$(MAN1_DIR)
300         rm -f $(DESTDIR)$(MAN1_DIR)/cifsiostat.1*
301         $(INSTALL_DATA) $(MANGRPARG) man/cifsiostat.1 $(DESTDIR)$(MAN1_DIR)
302 ifeq ($(INSTALL_ISAG),y)
303         $(INSTALL_DATA) $(MANGRPARG) contrib/isag/isag.1 $(DESTDIR)$(MAN1_DIR)
304 endif
305 ifeq ($(COMPRESS_MANPG),y)
306         $(ZIP) $(DESTDIR)$(MAN8_DIR)/sa1.8
307         $(ZIP) $(DESTDIR)$(MAN8_DIR)/sa2.8
308         $(ZIP) $(DESTDIR)$(MAN8_DIR)/sadc.8
309         $(ZIP) $(DESTDIR)$(MAN1_DIR)/sar.1
310         $(ZIP) $(DESTDIR)$(MAN1_DIR)/sadf.1
311         $(ZIP) $(DESTDIR)$(MAN5_DIR)/sysstat.5
312         $(ZIP) $(DESTDIR)$(MAN1_DIR)/iostat.1
313         $(ZIP) $(DESTDIR)$(MAN1_DIR)/mpstat.1
314         $(ZIP) $(DESTDIR)$(MAN1_DIR)/pidstat.1
315         $(ZIP) $(DESTDIR)$(MAN1_DIR)/nfsiostat-sysstat.1
316         $(ZIP) $(DESTDIR)$(MAN1_DIR)/cifsiostat.1
317 ifeq ($(INSTALL_ISAG),y)
318         $(ZIP) $(DESTDIR)$(MAN1_DIR)/isag.1
319 endif
320 endif
321 endif
322
323 squeeze:
324         catalogs="$(SOURCE_CODE)"; \
325         for c in $$catalogs; do \
326                 echo "Squeezing file: $$c"; \
327                 sed 's/[\t ]*$$//g' $$c > squeeze.tmp; \
328                 mv squeeze.tmp $$c; \
329         done
330
331 install_nls: locales
332 ifdef REQUIRE_NLS
333         catalogs='$(NLSGMO)'; \
334         for c in $$catalogs; do \
335                 c=`basename $$c`; \
336                 c=`echo $$c | sed 's/\.gmo$$//'`; \
337                 mkdir -p $(DESTDIR)$(NLS_DIR)/$$c/LC_MESSAGES; \
338                 echo "NLS: Installing $$c file..." ; \
339                 $(INSTALL_DATA) nls/$$c.gmo $(DESTDIR)$(NLS_DIR)/$$c/LC_MESSAGES/$(PACKAGE).mo; \
340         done
341 endif
342
343 install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls \
344         contrib/isag/isag
345         mkdir -p $(DESTDIR)$(SA_LIB_DIR)
346         mkdir -p $(DESTDIR)$(SA_DIR)
347 ifeq ($(CLEAN_SA_DIR),y)
348         find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \
349                 -exec rm -f {} \;
350         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)/[0-9]?????
351 endif
352         mkdir -p $(DESTDIR)$(BIN_DIR)
353         mkdir -p $(DESTDIR)$(DOC_DIR)
354         mkdir -p $(DESTDIR)$(SYSCONFIG_DIR)
355         $(INSTALL_BIN) sa1 $(DESTDIR)$(SA_LIB_DIR)
356         $(INSTALL_BIN) sa2 $(DESTDIR)$(SA_LIB_DIR)
357         $(INSTALL_BIN) sadc $(DESTDIR)$(SA_LIB_DIR)
358         $(INSTALL_BIN) sar $(DESTDIR)$(BIN_DIR)
359         $(INSTALL_BIN) sadf $(DESTDIR)$(BIN_DIR)
360         $(INSTALL_BIN) iostat $(DESTDIR)$(BIN_DIR)
361         $(INSTALL_BIN) mpstat $(DESTDIR)$(BIN_DIR)
362         $(INSTALL_BIN) pidstat $(DESTDIR)$(BIN_DIR)
363         $(INSTALL_BIN) nfsiostat-sysstat $(DESTDIR)$(BIN_DIR)
364         $(INSTALL_BIN) cifsiostat $(DESTDIR)$(BIN_DIR)
365 ifeq ($(INSTALL_ISAG),y)
366         $(INSTALL_BIN) contrib/isag/isag $(DESTDIR)$(BIN_DIR)
367 endif
368         $(INSTALL_DATA) sysstat.ioconf $(DESTDIR)$(SYSCONFIG_DIR)
369         $(INSTALL_DATA) sysstat.sysconfig $(DESTDIR)$(SYSCONFIG_DIR)/sysstat
370 ifeq ($(INSTALL_DOC),y)
371         $(INSTALL_DATA) CHANGES $(DESTDIR)$(DOC_DIR)
372         $(INSTALL_DATA) COPYING $(DESTDIR)$(DOC_DIR)
373         $(INSTALL_DATA) CREDITS $(DESTDIR)$(DOC_DIR)
374         $(INSTALL_DATA) README $(DESTDIR)$(DOC_DIR)
375         $(INSTALL_DATA) FAQ $(DESTDIR)$(DOC_DIR)
376         $(INSTALL_DATA) *.lsm $(DESTDIR)$(DOC_DIR)
377 endif
378
379 install_all: install_base cron/crontab sysstat \
380         cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly
381 ifneq ($(IGNORE_FILE_ATTRIBUTES),y)
382         $(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
383 endif
384 ifdef SYSTEMD_UNIT_DIR
385         mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR)
386 else
387         if [ -d /etc/cron.d ]; then \
388                 mkdir -p $(DESTDIR)/etc/cron.d; \
389         elif [ -d /etc/cron.hourly -a -d /etc/cron.daily ]; then \
390                 mkdir -p $(DESTDIR)/etc/cron.hourly $(DESTDIR)/etc/cron.daily; \
391         fi
392         if [ -d $(INIT_DIR) ]; then \
393                 mkdir -p $(DESTDIR)$(INIT_DIR); \
394         elif [ -d $(RC_DIR) ]; then \
395                 mkdir -p $(DESTDIR)$(RC_DIR); \
396         fi
397 endif
398         if [ -z "$(SYSTEMD_UNIT_DIR)" -o ! -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" ]; then \
399                 if [ -d $(DESTDIR)/etc/cron.d ]; then \
400                         $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
401                 elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \
402                         $(INSTALL_BIN) cron/sysstat.cron.hourly $(DESTDIR)/etc/cron.hourly/sysstat; \
403                         $(INSTALL_BIN) cron/sysstat.cron.daily $(DESTDIR)/etc/cron.daily/sysstat; \
404                 fi \
405         fi
406 ifeq ($(COPY_ONLY),n)
407         if [ \( -z "$(SYSTEMD_UNIT_DIR)" -o ! -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" \) -a ! -d $(DESTDIR)/etc/cron.d ]; then \
408                 if [ ! -d $(DESTDIR)/etc/cron.hourly -o ! -d $(DESTDIR)/etc/cron.daily ]; then \
409                         su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).save"; \
410                         $(CP) -a /tmp/crontab-$(CRON_OWNER).save ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.save; \
411                         echo "USER'S PREVIOUS CRONTAB SAVED IN CURRENT DIRECTORY (USING .save SUFFIX)."; \
412                         su $(CRON_OWNER) -c "crontab cron/crontab"; \
413                 fi \
414         fi
415 endif
416         if [ -n "$(SYSTEMD_UNIT_DIR)" -a -d "$(DESTDIR)$(SYSTEMD_UNIT_DIR)" ]; then \
417                 $(INSTALL_DATA) sysstat.service $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
418                 $(INSTALL_DATA) cron/sysstat-collect.service $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
419                 $(INSTALL_DATA) cron/sysstat-collect.timer $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
420                 $(INSTALL_DATA) cron/sysstat-summary.service $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
421                 $(INSTALL_DATA) cron/sysstat-summary.timer $(DESTDIR)$(SYSTEMD_UNIT_DIR); \
422         elif [ -d $(DESTDIR)$(INIT_DIR) ]; then \
423                 $(INSTALL_BIN) sysstat $(DESTDIR)$(INIT_DIR)/sysstat; \
424                 if [ "$(COPY_ONLY)" == "n" ]; then \
425                         if [ -x "$(CHKCONFIG)" ]; then \
426                                 cd $(DESTDIR)$(INIT_DIR) && $(CHKCONFIG) --add sysstat; \
427                         else \
428                                 [ -d $(DESTDIR)$(RC2_DIR) ] || mkdir -p $(DESTDIR)$(RC2_DIR); \
429                                 [ -d $(DESTDIR)$(RC3_DIR) ] || mkdir -p $(DESTDIR)$(RC3_DIR); \
430                                 [ -d $(DESTDIR)$(RC5_DIR) ] || mkdir -p $(DESTDIR)$(RC5_DIR); \
431                                 cd $(DESTDIR)$(RC2_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
432                                 cd $(DESTDIR)$(RC3_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
433                                 cd $(DESTDIR)$(RC5_DIR) && $(LN_S) -f ../$(INITD_DIR)/sysstat S01sysstat; \
434                         fi \
435                 fi \
436         elif [ -d $(DESTDIR)$(RC_DIR) ]; then \
437                 $(INSTALL_BIN) sysstat $(DESTDIR)$(RC_DIR)/rc.sysstat; \
438                 if [ "$(COPY_ONLY)" == "n" ]; then \
439                         if [ -x "$(CHKCONFIG)" ]; then \
440                                 cd $(DESTDIR)$(RC_DIR) && $(CHKCONFIG) --add rc.sysstat; \
441                         else \
442                                 [ -d $(DESTDIR)$(RC2_DIR) ] || mkdir -p $(DESTDIR)$(RC2_DIR); \
443                                 [ -d $(DESTDIR)$(RC3_DIR) ] || mkdir -p $(DESTDIR)$(RC3_DIR); \
444                                 [ -d $(DESTDIR)$(RC5_DIR) ] || mkdir -p $(DESTDIR)$(RC5_DIR); \
445                                 cd $(DESTDIR)$(RC2_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
446                                 cd $(DESTDIR)$(RC3_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
447                                 cd $(DESTDIR)$(RC5_DIR) && $(LN_S) -f ../rc.sysstat S01sysstat; \
448                         fi \
449                 fi \
450         fi
451 ifeq ($(COPY_ONLY),n)
452         if [ -x "$(SYSTEMCTL)" ]; then \
453                 $(SYSTEMCTL) enable sysstat.service; \
454         fi
455 endif
456
457 uninstall_man:
458 ifeq ($(INSTALL_DOC),y)
459         rm -f $(DESTDIR)$(MAN8_DIR)/sadc.8*
460         rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8*
461         rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8*
462         rm -f $(DESTDIR)$(MAN1_DIR)/sar.1*
463         rm -f $(DESTDIR)$(MAN1_DIR)/sadf.1*
464         rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
465         rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1*
466         rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1*
467         rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
468         rm -f $(DESTDIR)$(MAN1_DIR)/nfsiostat-sysstat.1*
469         rm -f $(DESTDIR)$(MAN1_DIR)/cifsiostat.1*
470 ifeq ($(INSTALL_ISAG),y)
471         rm -f $(DESTDIR)$(MAN1_DIR)/isag.1
472 endif
473 endif
474
475 uninstall_nls:
476 ifdef REQUIRE_NLS
477         -catalogs='$(NLSGMO)'; \
478         for c in $$catalogs; do \
479                 c=`basename $$c`; \
480                 c=`echo $$c | sed 's/\.gmo$$//'`; \
481                 rm -f $(DESTDIR)$(PREFIX)/share/locale/$$c/LC_MESSAGES/$(PACKAGE).mo; \
482                 rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/$$c/LC_MESSAGES 2>/dev/null; \
483                 rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/$$c 2>/dev/null; \
484         done
485 endif
486
487 uninstall_base: uninstall_man uninstall_nls
488         rm -f $(DESTDIR)$(SA_LIB_DIR)/sadc
489         rm -f $(DESTDIR)$(SA_LIB_DIR)/sa1
490         rm -f $(DESTDIR)$(SA_LIB_DIR)/sa2
491         rm -f $(DESTDIR)$(BIN_DIR)/sar
492         rm -f $(DESTDIR)$(BIN_DIR)/sadf
493         rm -f $(DESTDIR)$(BIN_DIR)/iostat
494         rm -f $(DESTDIR)$(BIN_DIR)/mpstat
495         rm -f $(DESTDIR)$(BIN_DIR)/pidstat
496         rm -f $(DESTDIR)$(BIN_DIR)/nfsiostat-sysstat
497         rm -f $(DESTDIR)$(BIN_DIR)/cifsiostat
498 ifeq ($(INSTALL_ISAG),y)
499         rm -f $(DESTDIR)$(BIN_DIR)/isag
500 endif
501         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_LIB_DIR)
502         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)/[0-9]?????
503         -rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)
504 #               No need to keep sysstat scripts, config files and links since
505 #               the binaries have been deleted.
506         rm -f $(DESTDIR)$(INIT_DIR)/sysstat
507         rm -f $(DESTDIR)$(RC_DIR)/rc.sysstat
508         rm -f $(DESTDIR)$(SYSCONFIG_DIR)/sysstat
509         rm -f $(DESTDIR)$(SYSCONFIG_DIR)/sysstat.ioconf
510         rm -f $(DESTDIR)$(RC2_DIR)/S??sysstat
511         rm -f $(DESTDIR)$(RC2_DIR)/S??rc.sysstat
512         rm -f $(DESTDIR)$(RC3_DIR)/S??sysstat
513         rm -f $(DESTDIR)$(RC3_DIR)/S??rc.sysstat
514         rm -f $(DESTDIR)$(RC5_DIR)/S??sysstat
515         rm -f $(DESTDIR)$(RC5_DIR)/S??rc.sysstat
516 #               Delete possible kill entries installed by chkconfig
517         rm -f $(DESTDIR)$(RC0_DIR)/K??sysstat
518         rm -f $(DESTDIR)$(RC0_DIR)/K??rc.sysstat
519         rm -f $(DESTDIR)$(RC1_DIR)/K??sysstat
520         rm -f $(DESTDIR)$(RC1_DIR)/K??rc.sysstat
521         rm -f $(DESTDIR)$(RC4_DIR)/K??sysstat
522         rm -f $(DESTDIR)$(RC4_DIR)/K??rc.sysstat
523         rm -f $(DESTDIR)$(RC6_DIR)/K??sysstat
524         rm -f $(DESTDIR)$(RC6_DIR)/K??rc.sysstat
525 #               Vixie cron entries also can be safely deleted here
526         rm -f $(DESTDIR)/etc/cron.d/sysstat
527 #               Id. for Slackware cron entries
528         rm -f $(DESTDIR)/etc/cron.hourly/sysstat
529         rm -f $(DESTDIR)/etc/cron.daily/sysstat
530 ifeq ($(INSTALL_DOC),y)
531         rm -f $(DESTDIR)$(DOC_DIR)/*
532         -rmdir $(DESTDIR)$(DOC_DIR)
533 endif
534         @echo "Please ignore the errors above, if any."
535
536 uninstall_all: uninstall_base
537 ifeq ($(COPY_ONLY),n)
538         if [ -z "$(SYSTEMD_UNIT_DIR)" -o ! -d $(DESTDIR)$(SYSTEMD_UNIT_DIR) ]; then \
539                 -su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).old" ; \
540                 -$(CP) -a /tmp/crontab-$(CRON_OWNER).old ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.old ; \
541                 @echo "USER'S CRONTAB SAVED IN CURRENT DIRECTORY (USING .old SUFFIX)." ; \
542                 -su $(CRON_OWNER) -c "crontab -r" ; \
543         fi
544         if [ -x $(SYSTEMCTL) ]; then \
545                 $(SYSTEMCTL) disable sysstat.service; \
546         fi
547 endif
548         if [ -n "$(SYSTEMD_UNIT_DIR)" -a -d $(DESTDIR)$(SYSTEMD_UNIT_DIR) ]; then \
549                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat.service; \
550                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-collect.service; \
551                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-collect.timer; \
552                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-summary.service; \
553                 rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/sysstat-summary.timer; \
554         fi
555
556 ifeq ($(INSTALL_CRON),y)
557 uninstall: uninstall_all
558 else
559 uninstall: uninstall_base
560 endif
561
562 ifeq ($(INSTALL_CRON),y)
563 install: install_all
564 else
565 install: install_base
566 endif
567
568 ifdef REQUIRE_NLS
569 po-files: nls/sysstat.pot $(NLSPOT)
570 else
571 po-files:
572 endif
573
574 clean:
575         rm -f sadc sar sadf iostat mpstat pidstat nfsiostat-sysstat cifsiostat *.o *.a core TAGS
576         find nls -name "*.gmo" -exec rm -f {} \;
577
578 almost-distclean: clean nls/sysstat.pot
579         rm -f sa1 sa2 sysstat cron/crontab version.h sysconfig.h prealloc.h
580         rm -f sysstat.sysconfig cron/sysstat.crond cron/sysstat.cron.daily sysstat.service
581         rm -f cron/sysstat-collect.service cron/sysstat-collect.timer cron/sysstat-summary.service cron/sysstat-summary.timer
582         rm -f cron/sysstat.cron.hourly cron/sysstat.crond.sample cron/sysstat.crond.sample.in
583         rm -f contrib/isag/isag
584         rm -f man/sa1.8 man/sa2.8 man/sadc.8 man/sadf.1 man/sar.1 man/iostat.1 man/sysstat.5
585         rm -f man/cifsiostat.1 man/nfsiostat-sysstat.1
586         rm -f *.log config.status
587         rm -rf autom4te.cache
588         rm -f *.save *.old .*.swp data
589         find . -name "*~" -exec rm -f {} \;
590
591 distclean: almost-distclean
592         rm -f Makefile
593
594 maintainer-clean: distclean
595         rm -f configure
596
597 dist: almost-distclean
598         cd .. && (tar --exclude=Makefile --exclude=.git --dereference -cvf - sysstat-$(VERSION) | gzip -v9 > sysstat-$(VERSION).tar.gz)
599
600 bdist: almost-distclean
601         cd .. && (tar --exclude=Makefile --exclude=.git --dereference -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION).tar.bz2)
602
603 xdist: almost-distclean
604         cd .. && (tar --exclude=Makefile --exclude=.git --dereference -cvf - sysstat-$(VERSION) | xz > sysstat-$(VERSION).tar.xz)
605
606 gitdist: almost-distclean
607         cd .. && (tar --exclude=Makefile --dereference -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION)-git.tar.bz2)
608
609 tags:
610         etags ./*.[hc]
611