tMakefile - stopwatch - simple timer for console or x root window
(HTM) git clone git://src.adamsgaard.dk/stopwatch
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
tMakefile (2131B)
---
1 .POSIX:
2
3 NAME = stopwatch
4 VERSION = 0.2.1
5
6 # paths
7 PREFIX = /usr/local
8 MANPREFIX = ${PREFIX}/share/man
9 DOCPREFIX = ${PREFIX}/share/doc/${NAME}
10
11 RANLIB = ranlib
12
13 BIN = \
14 stopwatch\
15 timer
16 SRC = ${BIN:=.c}
17 HDR = timeutil.h
18
19 LIBTIMEUTIL = libtimeutil.a
20 LIBTIMEUTILSRC = timeutil.c
21 LIBTIMEUTILOBJ = ${LIBTIMEUTILSRC:.c=.o}
22
23 COMPATSRC =\
24 strlcpy.c\
25 strtonum.c
26 COMPATOBJ = ${COMPATSRC:.c=.o}
27
28 LIB = ${LIBTIMEUTIL} ${COMPATOBJ}
29
30 X11INC = /usr/X11R6/include
31 X11LIB = /usr/X11R6/lib
32 INCS = -I${X11INC}
33 LIBS = -L${X11LIB} -lX11
34
35 STOPWATCHCFLAGS = ${CFLAGS} ${INCS}
36 STOPWATCHLDFLAGS = ${LDFLAGS} ${LIBS}
37 STOPWATCHCPPFLAGS = ${CPPFLAGS}
38
39 MAN1 = ${BIN:=.1}
40 DOC = \
41 LICENSE\
42 README
43
44 all: ${BIN}
45
46 ${BIN}: ${LIB} ${@:=.o}
47
48 OBJ = ${SRC:.c=.o} ${LIBTIMEUTILOBJ} ${COMPATOBJ}
49
50 ${OBJ}: ${HDR}
51
52 .o:
53 ${CC} ${STOPWATCHLDFLAGS} -o $@ $< ${LIB}
54
55 .c.o:
56 ${CC} ${STOPWATCHCFLAGS} ${STOPWATCHCPPFLAGS} -o $@ -c $<
57
58 ${LIBTIMEUTIL}: ${LIBTIMEUTILOBJ}
59 ${AR} -rc $@ $?
60 ${RANLIB} $@
61
62 dist:
63 rm -rf "${NAME}-${VERSION}"
64 mkdir -p "${NAME}-${VERSION}"
65 cp -f ${MAN1} ${DOC} ${SRC} ${LIBTIMEUTILSRC} ${COMPATSRC} Makefile "${NAME}-${VERSION}"
66 tar cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
67 rm -rf "${NAME}-${VERSION}"
68
69 clean:
70 rm -f ${BIN} ${OBJ} ${LIB}
71
72 install:
73 # installing executable files.
74 mkdir -p "${DESTDIR}${PREFIX}/bin"
75 cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"
76 for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
77 # installing documentation files.
78 mkdir -p "${DESTDIR}${DOCPREFIX}"
79 cp -f ${DOC} "${DESTDIR}${DOCPREFIX}"
80 # installing manual pages for general commands: section 1.
81 mkdir -p "${DESTDIR}${MANPREFIX}/man1"
82 cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
83 for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done
84
85 uninstall:
86 # removing executable files.
87 for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
88 # removing documentation files.
89 for d in ${DOC}; do rm -f "${DESTDIR}${DOCPREFIX}/$$d"; done
90 -rmdir "${DESTDIR}${DOCPREFIX}"
91 # removing manual pages.
92 for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
93
94 .PHONY: all clean dist install uninstall