1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332
|
# Makefile to build sysstat commands
# (C) 1999-2002 Sebastien GODARD <sebastien.godard@wanadoo.fr>
# Version
VERSION = 4.0.4
include build/CONFIG
# Compiler to use
CC = gcc
# 'ar' command
AR = ar
# Other commands
SED = sed
CHMOD = chmod
CHOWN = chown
# Full path to prevent from using aliases
CP = /bin/cp
# Directories
ifndef PREFIX
PREFIX = /usr
endif
DESTDIR = $(RPM_BUILD_ROOT)
BIN_DIR = $(PREFIX)/bin
LIB_DIR = $(PREFIX)/lib
ifndef MAN_DIR
MAN_DIR = $(PREFIX)/man
endif
MAN1_DIR = $(MAN_DIR)/man1
MAN8_DIR = $(MAN_DIR)/man8
DOC_DIR = $(PREFIX)/doc/sysstat-$(VERSION)
NLS_DIR = $(PREFIX)/share/locale
# Compiler flags
CFLAGS = -Wall -Wstrict-prototypes -pipe -O2 -fno-strength-reduce
LFLAGS = -L. -lsysstat
SAS_DFLAGS += -DSA_DIR=\"$(SA_DIR)\"
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
LFLAGS += -s
endif
# NLS (National Language Support)
# Package name
PACKAGE = sysstat
# The msgfmt command
MSGFMT = msgfmt
ifndef IGNORE_MAN_GROUP
MANGRPARG = -g $(MAN_GROUP)
else
MANGRPARG =
endif
# Run-command directories
ifndef RC_DIR
RC_DIR = /etc/rc.d
endif
RC2_DIR = $(RC_DIR)/rc2.d
RC3_DIR = $(RC_DIR)/rc3.d
RC5_DIR = $(RC_DIR)/rc5.d
ifndef INIT_DIR
INIT_DIR = /etc/rc.d/init.d
endif
ifndef INITD_DIR
INITD_DIR = init.d
endif
all: sadc sa1 sa2 crontab sysstat sar iostat mpstat isag/isag locales
common.o: common.c common.h
$(CC) -c -o $@ $(CFLAGS) $(DFLAGS) $<
libsysstat.a: common.o
$(AR) r $@ $<
$(AR) s $@
sadc: sadc.c sa.h common.h version.h libsysstat.a
$(CC) -o $@ $(CFLAGS) $(DFLAGS) $(SAS_DFLAGS) $< $(LFLAGS)
sapath.h: sapath.in
$(SED) s+ALTLOC+$(PREFIX)+g $< > $@
sa1: sa1.sh
$(SED) -e s+PREFIX+$(PREFIX)+g -e s+SA_DIR+$(SA_DIR)+g $< > $@
$(CHMOD) 755 $@
sa2: sa2.sh
$(SED) -e s+BIN_DIR+$(BIN_DIR)+g -e s+SA_DIR+$(SA_DIR)+g \
-e s+PREFIX+$(PREFIX)+g -e s+YESTERDAY+$(YESTERDAY)+g \
-e s+HISTORY+$(HISTORY)+g $< > $@
$(CHMOD) 755 $@
sysstat_base: sysstat.sh
$(SED) s+PREFIX/+$(PREFIX)/+g $< > sysstat
$(CHMOD) 755 sysstat
sysstat_all: sysstat.sh
ifeq ($(CRON_OWNER),root)
$(SED) s+PREFIX/+$(PREFIX)/+g $< > sysstat
else
$(SED) 's+PREFIX/+su $(CRON_OWNER) -c $(PREFIX)/+g' $< > sysstat
endif
$(CHMOD) 755 sysstat
crontab: crontab.sample
$(SED) s+PREFIX/+$(PREFIX)/+g $< > $@
sar: sar.c sa.h common.h version.h sapath.h libsysstat.a
$(CC) -o $@ $(CFLAGS) $(DFLAGS) $(SAS_DFLAGS) $< $(LFLAGS)
iostat: iostat.c iostat.h common.h version.h libsysstat.a
$(CC) -o $@ $(CFLAGS) $(DFLAGS) $(IOS_DFLAGS) $< $(LFLAGS)
mpstat: mpstat.c mpstat.h common.h version.h libsysstat.a
$(CC) -o $@ $(CFLAGS) $(DFLAGS) $< $(LFLAGS)
isag/isag: isag/isag.in
ifeq ($(WANT_ISAG),y)
$(SED) -e s+SA_DIR+$(SA_DIR)+g -e s+PREFIX+$(PREFIX)+g $< > $@
$(CHMOD) 755 $@
endif
locales: nls/fr/$(PACKAGE).po nls/de/$(PACKAGE).po nls/es/$(PACKAGE).po nls/pt/$(PACKAGE).po nls/af/$(PACKAGE).po nls/nb_NO/$(PACKAGE).po nls/nn_NO/$(PACKAGE).po nls/it/$(PACKAGE).po nls/ru/$(PACKAGE).po
ifdef REQUIRE_NLS
$(MSGFMT) -o nls/fr/$(PACKAGE).mo nls/fr/$(PACKAGE).po
$(MSGFMT) -o nls/de/$(PACKAGE).mo nls/de/$(PACKAGE).po
$(MSGFMT) -o nls/es/$(PACKAGE).mo nls/es/$(PACKAGE).po
$(MSGFMT) -o nls/pt/$(PACKAGE).mo nls/pt/$(PACKAGE).po
$(MSGFMT) -o nls/af/$(PACKAGE).mo nls/af/$(PACKAGE).po
$(MSGFMT) -o nls/nb_NO/$(PACKAGE).mo nls/nb_NO/$(PACKAGE).po
$(MSGFMT) -o nls/nn_NO/$(PACKAGE).mo nls/nn_NO/$(PACKAGE).po
$(MSGFMT) -o nls/it/$(PACKAGE).mo nls/it/$(PACKAGE).po
$(MSGFMT) -o nls/ru/$(PACKAGE).mo nls/ru/$(PACKAGE).po
endif
# Phony targets
.PHONY: clean distclean config install install_base install_all uninstall uninstall_base uninstall_all dist squeeze sysstat sysstat_base sysstat_all
uninstall_base:
rm -f $(DESTDIR)$(LIB_DIR)/sa/sadc
rm -f $(DESTDIR)$(MAN8_DIR)/sadc.8
rm -f $(DESTDIR)$(LIB_DIR)/sa/sa1
rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8
rm -f $(DESTDIR)$(LIB_DIR)/sa/sa2
rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8
rm -f $(DESTDIR)$(BIN_DIR)/sar
rm -f $(DESTDIR)$(MAN1_DIR)/sar.1
rm -f $(DESTDIR)$(BIN_DIR)/iostat
rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1
rm -f $(DESTDIR)$(BIN_DIR)/mpstat
rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1
rm -f $(DESTDIR)$(BIN_DIR)/isag
rm -f $(DESTDIR)$(MAN1_DIR)/isag.1
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(LIB_DIR)/sa
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(SA_DIR)
rm -f $(DESTDIR)$(PREFIX)/share/locale/fr/LC_MESSAGES/$(PACKAGE).mo
rm -f $(DESTDIR)$(PREFIX)/share/locale/de/LC_MESSAGES/$(PACKAGE).mo
rm -f $(DESTDIR)$(PREFIX)/share/locale/es/LC_MESSAGES/$(PACKAGE).mo
rm -f $(DESTDIR)$(PREFIX)/share/locale/pt/LC_MESSAGES/$(PACKAGE).mo
rm -f $(DESTDIR)$(PREFIX)/share/locale/af/LC_MESSAGES/$(PACKAGE).mo
rm -f $(DESTDIR)$(PREFIX)/share/locale/nb_NO/LC_MESSAGES/$(PACKAGE).mo
rm -f $(DESTDIR)$(PREFIX)/share/locale/nn_NO/LC_MESSAGES/$(PACKAGE).mo
rm -f $(DESTDIR)$(PREFIX)/share/locale/it/LC_MESSAGES/$(PACKAGE).mo
rm -f $(DESTDIR)$(PREFIX)/share/locale/ru/LC_MESSAGES/$(PACKAGE).mo
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/fr/LC_MESSAGES
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/de/LC_MESSAGES
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/es/LC_MESSAGES
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/pt/LC_MESSAGES
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/af/LC_MESSAGES
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/nb_NO/LC_MESSAGES
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/nn_NO/LC_MESSAGES
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/it/LC_MESSAGES
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/ru/LC_MESSAGES
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/fr
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/de
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/es
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/pt
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/af
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/nb_NO
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/nn_NO
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/it
-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/locale/ru
rm -f $(DESTDIR)$(PREFIX)/doc/sysstat-$(VERSION)/*
-rmdir $(DESTDIR)$(PREFIX)/doc/sysstat-$(VERSION)
@echo "Please ignore the errors above, if any."
uninstall_all: uninstall_base
-su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).old"
-$(CP) -a /tmp/crontab-$(CRON_OWNER).old ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.old
@echo "USER CRONTAB SAVED IN CURRENT DIRECTORY (WITH .old SUFFIX)."
-su $(CRON_OWNER) -c "crontab -r"
rm -f $(DESTDIR)$(INIT_DIR)/sysstat
rm -f $(DESTDIR)$(RC2_DIR)/S03sysstat
rm -f $(DESTDIR)$(RC3_DIR)/S03sysstat
rm -f $(DESTDIR)$(RC5_DIR)/S03sysstat
install_base: all man/sadc.8 man/sar.1 man/sa1.8 man/sa2.8 man/iostat.1 isag/isag.1
mkdir -p $(DESTDIR)$(LIB_DIR)/sa
mkdir -p $(DESTDIR)$(MAN1_DIR)
mkdir -p $(DESTDIR)$(MAN8_DIR)
mkdir -p $(DESTDIR)$(SA_DIR)
ifeq ($(CLEAN_SA_DIR),y)
rm -f $(DESTDIR)$(SA_DIR)/sa??
endif
mkdir -p $(DESTDIR)$(BIN_DIR)
mkdir -p $(DESTDIR)$(DOC_DIR)
install -m 755 sadc $(DESTDIR)$(LIB_DIR)/sa
install -m 644 $(MANGRPARG) man/sadc.8 $(DESTDIR)$(MAN8_DIR)
install -m 755 sa1 $(DESTDIR)$(LIB_DIR)/sa
install -m 644 $(MANGRPARG) man/sa1.8 $(DESTDIR)$(MAN8_DIR)
install -m 755 sa2 $(DESTDIR)$(LIB_DIR)/sa
install -m 644 $(MANGRPARG) man/sa2.8 $(DESTDIR)$(MAN8_DIR)
install -m 755 sar $(DESTDIR)$(BIN_DIR)
install -m 644 $(MANGRPARG) man/sar.1 $(DESTDIR)$(MAN1_DIR)
install -m 755 iostat $(DESTDIR)$(BIN_DIR)
install -m 644 $(MANGRPARG) man/iostat.1 $(DESTDIR)$(MAN1_DIR)
install -m 755 mpstat $(DESTDIR)$(BIN_DIR)
install -m 644 $(MANGRPARG) man/mpstat.1 $(DESTDIR)$(MAN1_DIR)
ifeq ($(WANT_ISAG),y)
install -m 755 isag/isag $(DESTDIR)$(BIN_DIR)
install -m 644 $(MANGRPARG) isag/isag.1 $(DESTDIR)$(MAN1_DIR)
endif
# install -m 644 CHANGES $(DESTDIR)$(DOC_DIR)
# install -m 644 COPYING $(DESTDIR)$(DOC_DIR)
# install -m 644 CREDITS $(DESTDIR)$(DOC_DIR)
# install -m 644 README $(DESTDIR)$(DOC_DIR)
# install -m 644 FAQ $(DESTDIR)$(DOC_DIR)
# install -m 644 *.lsm $(DESTDIR)$(DOC_DIR)
ifdef REQUIRE_NLS
mkdir -p $(DESTDIR)$(NLS_DIR)/fr/LC_MESSAGES
mkdir -p $(DESTDIR)$(NLS_DIR)/de/LC_MESSAGES
mkdir -p $(DESTDIR)$(NLS_DIR)/es/LC_MESSAGES
mkdir -p $(DESTDIR)$(NLS_DIR)/pt/LC_MESSAGES
mkdir -p $(DESTDIR)$(NLS_DIR)/af/LC_MESSAGES
mkdir -p $(DESTDIR)$(NLS_DIR)/nb_NO/LC_MESSAGES
mkdir -p $(DESTDIR)$(NLS_DIR)/nn_NO/LC_MESSAGES
mkdir -p $(DESTDIR)$(NLS_DIR)/it/LC_MESSAGES
mkdir -p $(DESTDIR)$(NLS_DIR)/ru/LC_MESSAGES
install -m 644 nls/fr/$(PACKAGE).mo $(DESTDIR)$(NLS_DIR)/fr/LC_MESSAGES
install -m 644 nls/de/$(PACKAGE).mo $(DESTDIR)$(NLS_DIR)/de/LC_MESSAGES
install -m 644 nls/es/$(PACKAGE).mo $(DESTDIR)$(NLS_DIR)/es/LC_MESSAGES
install -m 644 nls/pt/$(PACKAGE).mo $(DESTDIR)$(NLS_DIR)/pt/LC_MESSAGES
install -m 644 nls/af/$(PACKAGE).mo $(DESTDIR)$(NLS_DIR)/af/LC_MESSAGES
install -m 644 nls/nb_NO/$(PACKAGE).mo $(DESTDIR)$(NLS_DIR)/nb_NO/LC_MESSAGES
install -m 644 nls/nn_NO/$(PACKAGE).mo $(DESTDIR)$(NLS_DIR)/nn_NO/LC_MESSAGES
install -m 644 nls/it/$(PACKAGE).mo $(DESTDIR)$(NLS_DIR)/it/LC_MESSAGES
install -m 644 nls/ru/$(PACKAGE).mo $(DESTDIR)$(NLS_DIR)/ru/LC_MESSAGES
endif
install_all: install_base
$(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
-su $(CRON_OWNER) -c "crontab -l > /tmp/crontab-$(CRON_OWNER).save"
-$(CP) -a /tmp/crontab-$(CRON_OWNER).save ./crontab-$(CRON_OWNER).`date '+%Y%m%d.%H%M%S'`.save
@echo "USER PREVIOUS CRONTAB SAVED IN CURRENT DIRECTORY (USING .save SUFFIX)."
-su $(CRON_OWNER) -c "crontab crontab"
if [ -d $(DESTDIR)$(INIT_DIR) ]; then \
install -m 755 sysstat $(DESTDIR)$(INIT_DIR)/sysstat; \
fi
cd $(DESTDIR)$(RC2_DIR) && ln -sf ../$(INITD_DIR)/sysstat S03sysstat
cd $(DESTDIR)$(RC3_DIR) && ln -sf ../$(INITD_DIR)/sysstat S03sysstat
cd $(DESTDIR)$(RC5_DIR) && ln -sf ../$(INITD_DIR)/sysstat S03sysstat
ifeq ($(INSTALL_CRON),y)
uninstall: uninstall_all
else
uninstall: uninstall_base
endif
ifeq ($(INSTALL_CRON),y)
install: install_all
else
install: install_base
endif
ifeq ($(INSTALL_CRON),y)
sysstat: sysstat_all
else
sysstat: sysstat_base
endif
clean:
rm -f sadc sa1 sa2 sysstat sar iostat mpstat *.o *.a core TAGS data crontab
rm -f sapath.h isag/isag
find nls -name "*.mo" -exec rm -f {} \;
distclean: clean
$(CP) build/CONFIG.def build/CONFIG
rm -f *.save *.old .*.swp
dist: distclean
cd .. && (tar -cvf - sysstat-$(VERSION) | gzip -v9 > sysstat-$(VERSION).tar.gz)
bdist: distclean
cd .. && (tar -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION).tar.bz2)
config: clean
@sh build/Configure.sh
squeeze:
sed 's/ *$$//g' sar.c > squeeze-file
mv squeeze-file sar.c
sed 's/ *$$//g' sadc.c > squeeze-file
mv squeeze-file sadc.c
sed 's/ *$$//g' iostat.c > squeeze-file
mv squeeze-file iostat.c
sed 's/ *$$//g' mpstat.c > squeeze-file
mv squeeze-file mpstat.c
sed 's/ *$$//g' common.c > squeeze-file
mv squeeze-file common.c
sed 's/ *$$//g' common.h > squeeze-file
mv squeeze-file common.h
sed 's/ *$$//g' iostat.h > squeeze-file
mv squeeze-file iostat.h
sed 's/ *$$//g' mpstat.h > squeeze-file
mv squeeze-file mpstat.h
sed 's/ *$$//g' sa.h > squeeze-file
mv squeeze-file sa.h
sed 's/ *$$//g' version.h > squeeze-file
mv squeeze-file version.h
sed 's/ *$$//g' sapath.in > squeeze-file
mv squeeze-file sapath.in
tags:
etags ./*.[hc]
|