URI: 
       Makefile improvements - tabbed - tab interface for application supporting Xembed
  HTML git clone git://git.suckless.org/tabbed
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit deda1bb016b035f4387a09df8d81c1fc14eaf189
   DIR parent 13f13ee5827f082babb121f74ae23548bdd12dd8
  HTML Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Fri, 14 Oct 2022 19:18:10 +0200
       
       Makefile improvements
       
       * Respect system cflags, ldflags, packages can override them all with
         TABBED_{CFLAGS,LDFLAGS}. Remove -Wall and -Os and -s.
       * Install README as documentation.
       * dist: stream directly to a gzipped tarball.
       * options: remove it.
       * Add ".POSIX:"
       * Remove config.mk
       
       Diffstat:
         M Makefile                            |      73 ++++++++++++++++++-------------
         M config.mk                           |      27 ++++++---------------------
       
       2 files changed, 49 insertions(+), 51 deletions(-)
       ---
   DIR diff --git a/Makefile b/Makefile
       @@ -1,56 +1,69 @@
       -# tabbed - tabbing interface
       -# See LICENSE file for copyright and license details.
       +.POSIX:
        
       -include config.mk
       +NAME = tabbed
       +VERSION = 0.7
       +
       +# paths
       +PREFIX = /usr/local
       +MANPREFIX = ${PREFIX}/share/man
       +DOCPREFIX = ${PREFIX}/share/doc/${NAME}
       +
       +# use system flags.
       +TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/include/freetype2 ${CFLAGS}
       +TABBED_LDFLAGS = -L/usr/X11R6/lib -lX11 -lfontconfig -lXft ${LDFLAGS}
       +TABBED_CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
       +
       +# OpenBSD (uncomment)
       +#TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 ${CPPFLAGS}
        
        SRC = tabbed.c xembed.c
        OBJ = ${SRC:.c=.o}
        BIN = ${OBJ:.o=}
       +MAN1 = ${BIN:=.1}
       +HDR = arg.h config.def.h
       +DOC = LICENSE README
        
       -all: options ${BIN}
       -
       -options:
       -        @echo tabbed build options:
       -        @echo "CFLAGS   = ${CFLAGS}"
       -        @echo "LDFLAGS  = ${LDFLAGS}"
       -        @echo "CC       = ${CC}"
       +all: ${BIN}
        
        .c.o:
       -        ${CC} -c ${CFLAGS} $<
       +        ${CC} -o $@ -c $< ${TABBED_CFLAGS} ${TABBED_CPPFLAGS}
        
       -${OBJ}: config.h config.mk
       +${OBJ}: config.h
        
        config.h:
                cp config.def.h $@
        
        .o:
       -        ${CC} -o $@ $< ${LDFLAGS}
       +        ${CC} -o $@ $< ${TABBED_LDFLAGS}
        
        clean:
       -        rm -f ${BIN} ${OBJ} tabbed-${VERSION}.tar.gz
       +        rm -f ${BIN} ${OBJ} "${NAME}-${VERSION}.tar.gz"
        
        dist: clean
       -        mkdir -p tabbed-${VERSION}
       -        cp -R LICENSE Makefile README config.def.h config.mk \
       -                tabbed.1 xembed.1 arg.h ${SRC} tabbed-${VERSION}
       -        tar -cf tabbed-${VERSION}.tar tabbed-${VERSION}
       -        gzip tabbed-${VERSION}.tar
       -        rm -rf tabbed-${VERSION}
       +        mkdir -p "${NAME}-${VERSION}"
       +        cp -fR Makefile ${MAN1} ${DOC} ${HDR} ${SRC} "${NAME}-${VERSION}"
       +        tar -cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
       +        rm -rf ${NAME}-${VERSION}
        
        install: all
       +        # installing executable files.
                mkdir -p "${DESTDIR}${PREFIX}/bin"
                cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"
       -        chmod 755 "${DESTDIR}${PREFIX}/bin/tabbed"
       +        for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
       +        # installing doc files.
       +        mkdir -p "${DESTDIR}${DOCPREFIX}"
       +        cp -f README "${DESTDIR}${DOCPREFIX}"
       +        # installing manual pages for general commands: section 1.
                mkdir -p "${DESTDIR}${MANPREFIX}/man1"
       -        sed "s/VERSION/${VERSION}/g" < tabbed.1 > "${DESTDIR}${MANPREFIX}/man1/tabbed.1"
       -        chmod 644 "${DESTDIR}${MANPREFIX}/man1/tabbed.1"
       -        sed "s/VERSION/${VERSION}/g" < xembed.1 > "${DESTDIR}${MANPREFIX}/man1/xembed.1"
       -        chmod 644 "${DESTDIR}${MANPREFIX}/man1/xembed.1"
       +        for m in ${MAN1}; do sed "s/VERSION/${VERSION}/g" < $$m > "${DESTDIR}${MANPREFIX}/man1/$$m"; done
        
        uninstall:
       -        rm -f "${DESTDIR}${PREFIX}/bin/tabbed"\
       -                "${DESTDIR}${PREFIX}/bin/xembed"\
       -                "${DESTDIR}${MANPREFIX}/man1/tabbed.1"\
       -                "${DESTDIR}${MANPREFIX}/man1/xembed.1"
       +        # removing executable files.
       +        for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
       +        # removing doc files.
       +        rm -f "${DESTDIR}${DOCPREFIX}/README"
       +        # removing manual pages.
       +        for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
       +        -rmdir "${DESTDIR}${DOCPREFIX}"
        
       -.PHONY: all options clean dist install uninstall
       +.PHONY: all clean dist install uninstall
   DIR diff --git a/config.mk b/config.mk
       @@ -1,27 +1,12 @@
       -# tabbed version
       -VERSION = 0.7
       -
        # paths
        PREFIX = /usr/local
        MANPREFIX = ${PREFIX}/share/man
       +DOCPREFIX = ${PREFIX}/share/doc/${NAME}
        
       -X11INC = /usr/X11R6/include
       -X11LIB = /usr/X11R6/lib
       +# use system flags.
       +TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/include/freetype2 ${CPPFLAGS}
       +TABBED_LDFLAGS = -L/usr/X11R6/lib -lX11 /usr/X11R6/lib ${LDFLAGS}
       +TABBED_CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
        
       -# freetype
       -FREETYPELIBS = -lfontconfig -lXft
       -FREETYPEINC = /usr/include/freetype2
        # OpenBSD (uncomment)
       -#FREETYPEINC = ${X11INC}/freetype2
       -
       -# includes and libs
       -INCS = -I. -I/usr/include -I$(X11INC) -I${FREETYPEINC}
       -LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${FREETYPELIBS}
       -
       -# flags
       -CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
       -CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
       -LDFLAGS = -s ${LIBS}
       -
       -# compiler and linker
       -CC = cc
       +#TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 ${CPPFLAGS}