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
|
#
# Makefile: schedutils
# Robert Love, 20020425
# Last updated 20040323
#
ver = "1.5.0"
# user configurable settings
PREFIX = ${DESTDIR}/usr
BINDIR = ${PREFIX}/bin
MANDIR = ${PREFIX}/share/man
MAN1DIR = ${MANDIR}/man1/
DOCDIR = ${PREFIX}/share/doc/schedutils-${ver}
ANAL_WARN = -Wconversion -Wshadow -Waggregate-return -Wcast-qual \
-Wmissing-prototypes -Wmissing-declarations -Wcast-align -Wbad-function-cast \
-Wdisabled-optimization -Wpointer-arith -Wwrite-strings -Wredundant-decls
CC = gcc
CFLAGS = -O2 -Wall -W -Wstrict-prototypes ${ANAL_WARN}
INSTALLBIN = install
INSTALLMAN = install --mode a=r
INSTALLDOC = install --mode a=r
INSTALLDOCDIR = install --directory
PROGS = chrt ionice taskset
MANPAGES = chrt.1 ionice.1 taskset.1
DOCS = AUTHORS ChangeLog COPYING INSTALL README
all: ${PROGS}
chrt: chrt.c
$(CC) $(CFLAGS) -DVERSION=\"$(ver)\" -o chrt chrt.c
ionice: ionice.c
$(CC) $(CFLAGS) -DVERSION=\"$(ver)\" -o ionice ionice.c
taskset: taskset.c
$(CC) $(CFLAGS) -DVERSION=\"$(ver)\" -o taskset taskset.c
clean:
@-rm -f ${PROGS} ionice
distclean: clean
@-find . -name SCCS -prune -o -name BitKeeper -prune -o \
\( -not -type d \) -and \
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name core -o -name '*.o' \
-o -name '*.tmp' -o -size 0 \) \
-type f -print | xargs rm -rf
install: ${PROGS}
@echo Install binaries to: ${BINDIR}
@echo Install manpage to: ${MAN1DIR}
@${INSTALLBIN} ${PROGS} ${BINDIR}
@cd man/ && ${INSTALLMAN} ${MANPAGES} ${MAN1DIR}
@echo Done! Do 'make installdoc' if you wish to install the docs.
installdoc: ${PROGS}
@echo Install documentation to: ${DOCDIR}
@${INSTALLDOCDIR} ${DOCDIR}
@${INSTALLDOC} ${DOCS} ${DOCDIR}
uninstall:
@cd ${BINDIR} && \
rm -f ${PROGS}
@cd ${MAN1DIR} && \
gzip -d ${MANPAGES} && \
rm -f ${MANPAGES}
@rm -rf ${DOCDIR}
|