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