simplify Makefile - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit e0d0a2b96e84bba95f6f3e274131e3bbfb3a4f56
 (DIR) parent 082d8bb82bc478bdd0b1470232ba52976a0c035d
 (HTM) Author: Matthias-Christian Ott <ott@enolink.de>
       Date:   Mon, 21 Jul 2008 17:06:59 +0200
       
       simplify Makefile
       
       
       Due to consideration of POSIX compliance issues config.mk had
       to be removed. Configuration variables can be overridden by
       environment variables or specified via command line.
       
       Additionally all pretty-printed messages were removed and
       built-in rules are used. This also simplifies and purges
       the Makefile.
       Diffstat:
         M Makefile                            |      83 ++++++++++++-------------------
         D config.mk                           |      34 -------------------------------
       
       2 files changed, 32 insertions(+), 85 deletions(-)
       ---
 (DIR) diff --git a/Makefile b/Makefile
       @@ -1,64 +1,45 @@
        # st - simple terminal
        # See LICENSE file for copyright and license details.
        
       -include config.mk
       +VERSION = 0.0
        
       -SRC = st.c std.c pty.c
       -OBJ = ${SRC:.c=.o}
       +PREFIX = /usr/local
       +MANDIR = $(PREFIX)/share/man
        
       -all: options st std
       +CFLAGS = -DVERSION=\"0.0\" -D_GNU_SOURCE
        
       -options:
       -        @echo st build options:
       -        @echo "CFLAGS     = ${CFLAGS}"
       -        @echo "LDFLAGS    = ${LDFLAGS}"
       -        @echo "X11LDFLAGS = ${X11LDFLAGS}"
       -        @echo "CC         = ${CC}"
       -
       -.c.o:
       -        @echo CC $<
       -        @${CC} -c ${CFLAGS} $<
       -
       -${OBJ}: config.mk
       -
       -st: st.o
       -        @echo CC -o $@
       -        @${CC} -o $@ $^ ${LDFLAGS} ${X11LDFLAGS}
       -
       -std: std.o pty.o
       -        @echo CC -o $@
       -        @${CC} -o $@ $^ ${LDFLAGS}
       +all: st std
        
        clean:
       -        @echo cleaning
       -        @rm -f st std ${OBJ} st-${VERSION}.tar.gz
       +        rm -f st std
       +        rm -f st.o std.o
       +        rm -f st-$(VERSION).tar.gz
        
        dist: clean
       -        @echo creating dist tarball
       -        @mkdir -p st-${VERSION}
       -        @cp -R LICENSE Makefile README config.mk \
       -                st.1 ${SRC} st-${VERSION}
       -        @tar -cf st-${VERSION}.tar st-${VERSION}
       -        @gzip st-${VERSION}.tar
       -        @rm -rf st-${VERSION}
       -
       -install: all
       -        @echo installing executable file to ${DESTDIR}${PREFIX}/bin
       -        @mkdir -p ${DESTDIR}${PREFIX}/bin
       -        @cp -f st ${DESTDIR}${PREFIX}/bin
       -        @cp -f std ${DESTDIR}${PREFIX}/bin
       -        @chmod 755 ${DESTDIR}${PREFIX}/bin/st
       -        @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
       -        @mkdir -p ${DESTDIR}${MANPREFIX}/man1
       -        @sed "s/VERSION/${VERSION}/g" < st.1 > ${DESTDIR}${MANPREFIX}/man1/st.1
       -        @chmod 644 ${DESTDIR}${MANPREFIX}/man1/st.1
       -        @sed "s/VERSION/${VERSION}/g" < std.1 > ${DESTDIR}${MANPREFIX}/man1/std.1
       -        @chmod 644 ${DESTDIR}${MANPREFIX}/man1/std.1
       +        mkdir st-$(VERSION)
       +        cp -f LICENSE README st-$(VERSION)
       +        cp -f Makefile config.mk st-$(VERSION)
       +        cp -f st.1 std.1 st-$(VERSION)
       +        cp -f st.c std.c st-$(VERSION)
       +        tar -czf st-$(VERSION).tar st-$(VERSION)
       +        rm -rf st-$(VERSION)
       +
       +install:
       +        mkdir -p $(DESTDIR)$(PREFIX)/bin
       +        cp -f st $(DESTDIR)$(PREFIX)/bin
       +        cp -f std $(DESTDIR)$(PREFIX)/bin
       +        chmod 755 $(DESTDIR)$(PREFIX)/bin/st
       +        chmod 755 $(DESTDIR)$(PREFIX)/bin/std
       +        mkdir -p $(DESTDIR)$(MANDIR)/man1
       +        sed 's/VERSION/$(VERSION)/g' < st.1 > $(DESTDIR)$(MANDIR)/man1/st.1
       +        chmod 644 $(DESTDIR)$(MANDIR)/man1/st.1
       +        sed 's/VERSION/$(VERSION)/g' < std.1 > $(DESTDIR)$(MANDIR)/man1/std.1
       +        chmod 644 $(DESTDIR)$(MANDIR)/man1/std.1
        
        uninstall:
       -        @echo removing executable file from ${DESTDIR}${PREFIX}/bin
       -        @rm -f ${DESTDIR}${PREFIX}/bin/st
       -        @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
       -        @rm -f ${DESTDIR}${MANPREFIX}/man1/st.1
       +        rm -f $(DESTDIR)$(PREFIX)/bin/st
       +        rm -f $(DESTDIR)$(PREFIX)/bin/std
       +        rm -f $(DESTDIR)$(MANDIR)/man1/st.1
       +        rm -f $(DESTDIR)$(MANDIR)/man1/std.1
        
       -.PHONY: all options clean dist install uninstall
       +.PHONY: all clean dist install uninstall
 (DIR) diff --git a/config.mk b/config.mk
       @@ -1,34 +0,0 @@
       -# st version
       -VERSION = 0.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. -I/usr/include -I${X11INC}
       -LIBS = -L/usr/lib -lc
       -X11LIBS =  -L${X11LIB} -lX11
       -
       -# glibc
       -CPPFLAGS = -DVERSION=\"${VERSION}\" -D_GNU_SOURCE
       -
       -# flags
       -#CPPFLAGS = -DVERSION=\"${VERSION}\"
       -CFLAGS = -Os ${INCS} ${CPPFLAGS}
       -LDFLAGS = -s ${LIBS}
       -X11LDFLAGS = ${X11LIBS}
       -#CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} ${CPPFLAGS}
       -#LDFLAGS = -g ${LIBS}
       -
       -# Solaris
       -#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
       -#LDFLAGS = ${LIBS}
       -
       -# compiler and linker
       -CC = cc