improve Makefile - xscreenshot - screen capture tool
 (HTM) git clone git://git.codemadness.org/xscreenshot
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit a61ce36c878f7bd110fa7c0753efa4d12fbb6304
 (DIR) parent 7b7a88a34cf8da48cd07a87357e65cfd54befcaa
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Wed,  4 Mar 2020 00:40:39 +0100
       
       improve Makefile
       
       - rm config.mk
       - just be verbose.
       - fix 'dist' target.
       - remove 'options' target.
       - change man page location to OpenBSD it's location by default.
       - respect system CFLAGS/LDFLAGS asmuch as possible by default.
       
       Diffstat:
         M Makefile                            |      75 +++++++++++++++++++------------
         D config.mk                           |      28 ----------------------------
       
       2 files changed, 47 insertions(+), 56 deletions(-)
       ---
 (DIR) diff --git a/Makefile b/Makefile
       @@ -1,42 +1,61 @@
       -include config.mk
       +.POSIX:
        
        NAME = xscreenshot
       -SRC = xscreenshot.c
       -OBJ = ${SRC:.c=.o}
       +VERSION = 1.0
        
       -all: xscreenshot
       +# paths
       +PREFIX = /usr/local
       +MANPREFIX = ${PREFIX}/man
        
       -options:
       -        @echo ${NAME} build options:
       -        @echo "CFLAGS   = ${CFLAGS}"
       -        @echo "LDFLAGS  = ${LDFLAGS}"
       -        @echo "CC       = ${CC}"
       +INCS = -I/usr/X11R6/include
       +LIBS = -L/usr/X11R6/lib -lX11
        
       -.c.o:
       -        ${CC} -c ${CFLAGS} $<
       +# use system flags.
       +XSCREENSHOT_CFLAGS = ${CFLAGS} ${INCS}
       +XSCREENSHOT_LDFLAGS = ${LDFLAGS} ${LIBS}
       +XSCREENSHOT_CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE
       +
       +BIN = ${NAME}
       +SRC = ${BIN:=.c}
       +MAN1 = ${BIN:=.1}
       +OBJ = ${SRC:.c=.o}
       +DOC = \
       +        LICENSE\
       +        README
        
       -${OBJ}: config.mk
       +all: ${BIN}
        
       -xscreenshot: xscreenshot.o
       -        ${CC} -o $@ xscreenshot.o ${LDFLAGS}
       +${OBJ}:
       +
       +.o:
       +        ${CC} ${XSCREENSHOT_LDFLAGS} -o $@ $<
       +
       +.c.o:
       +        ${CC} ${XSCREENSHOT_CFLAGS} ${XSCREENSHOT_CPPFLAGS} -o $@ -c $<
       +
       +dist:
       +        rm -rf "${NAME}-${VERSION}"
       +        mkdir -p "${NAME}-${VERSION}"
       +        cp -f ${MAN1} ${DOC} ${SRC} Makefile \
       +                "${NAME}-${VERSION}"
       +        # make tarball
       +        tar -cf - "${NAME}-${VERSION}" | \
       +                gzip -c > "${NAME}-${VERSION}.tar.gz"
       +        rm -rf "${NAME}-${VERSION}"
        
        clean:
       -        rm -f xscreenshot ${OBJ}
       +        rm -f ${BIN} ${OBJ}
        
        install: all
       -        @echo installing executable file to ${DESTDIR}${PREFIX}/bin
       -        @mkdir -p ${DESTDIR}${PREFIX}/bin
       -        @cp -f xscreenshot ${DESTDIR}${PREFIX}/bin
       -        @chmod 755 ${DESTDIR}${PREFIX}/bin/xscreenshot
       -        @echo installing manual pages to ${DESTDIR}${MANPREFIX}/man1
       -        @mkdir -p ${DESTDIR}${MANPREFIX}/man1
       -        @cp -f xscreenshot.1 ${DESTDIR}${MANPREFIX}/man1
       -        @chmod 644 ${DESTDIR}${MANPREFIX}/man1/xscreenshot.1
       +        mkdir -p ${DESTDIR}${PREFIX}/bin
       +        cp -f ${BIN} ${DESTDIR}${PREFIX}/bin
       +        chmod 755 ${DESTDIR}${PREFIX}/bin/xscreenshot
       +        mkdir -p ${DESTDIR}${MANPREFIX}/man1
       +        cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1
       +        chmod 644 ${DESTDIR}${MANPREFIX}/man1/xscreenshot.1
        
        uninstall:
       -        @echo removing executable file from ${DESTDIR}${PREFIX}/bin
       -        @rm -f ${DESTDIR}${PREFIX}/bin/xscreenshot
       -        @echo removing manual pages from ${DESTDIR}${MANPREFIX}/man1
       -        @rm -f ${DESTDIR}${MANPREFIX}/man1/xscreenshot.1
       +        rm -f ${DESTDIR}${PREFIX}/bin/xscreenshot
       +        rm -f ${DESTDIR}${MANPREFIX}/man1/xscreenshot.1
        
       -.PHONY: all options clean dist install uninstall
       +.PHONY: all clean dist install uninstall
 (DIR) diff --git a/config.mk b/config.mk
       @@ -1,28 +0,0 @@
       -VERSION = 1.0
       -
       -# customize below to fit your system
       -
       -# paths
       -PREFIX = /usr/local
       -MANPREFIX = ${PREFIX}/share/man
       -
       -X11INC = /usr/X11R6/include
       -X11LIB = /usr/X11R6/lib
       -
       -# includes and libs
       -INCS = -I${X11INC}
       -LIBS = -L${X11LIB} -lX11
       -
       -# flags
       -CPPFLAGS = -DVERSION=\"${VERSION}\"
       -
       -# debug
       -CFLAGS = -O0 -g -std=c99 -Wall -pedantic -D_DEFAULT_SOURCE -D_BSD_SOURCE ${INCS} ${CPPFLAGS}
       -LDFLAGS = ${LIBS}
       -
       -# optimized
       -#CFLAGS = -O2 -std=c99 -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE -D_BSD_SOURCE ${INCS} ${CPPFLAGS}
       -#LDFLAGS = -s ${LIBS}
       -
       -# compiler and linker
       -CC = cc