stopwatch

simple timer for console or x root window
git clone git://src.adamsgaard.dk/stopwatch # fast
git clone https://src.adamsgaard.dk/stopwatch.git # slow
Log | Files | Refs | README | LICENSE Back to index

Makefile (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