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