Simplify Makefile - sinit - suckless init
 (HTM) git clone git://git.suckless.org/sinit
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit fd8710d8a5f90ea3677b2f9afe3138be94f7b38e
 (DIR) parent f8536ea0d905993652caf1950d6aae1fca881e0f
 (HTM) Author: sin <sin@2f30.org>
       Date:   Thu,  4 Dec 2014 14:18:36 +0000
       
       Simplify Makefile
       
       Diffstat:
         M Makefile                            |      77 +++++++++++--------------------
         M config.mk                           |       2 +-
       
       2 files changed, 28 insertions(+), 51 deletions(-)
       ---
 (DIR) diff --git a/Makefile b/Makefile
       @@ -1,62 +1,39 @@
        include config.mk
        
       -.POSIX:
       -.SUFFIXES: .c .o
       +OBJ = sinit.o
       +BIN = sinit
        
       -SRC = sinit.c
       +all: $(BIN)
        
       -OBJ = $(SRC:.c=.o)
       -BIN = $(SRC:.c=)
       +$(BIN): $(OBJ)
       +        $(CC) $(LDFLAGS) -o $@ $(OBJ) $(LDLIBS)
        
       -all: options bin
       +sinit.o: config.h
        
       -options:
       -        @echo sinit build options:
       -        @echo "CFLAGS   = $(CFLAGS)"
       -        @echo "LDFLAGS  = $(LDFLAGS)"
       -        @echo "CC       = $(CC)"
       -
       -bin: $(BIN)
       -
       -$(OBJ): config.h config.mk
       -
       -config.h:
       -        @echo creating $@ from config.def.h
       -        @cp config.def.h $@
       -
       -.o:
       -        @echo LD $@
       -        @$(LD) -o $@ $< $(LDFLAGS)
       +install: all
       +        mkdir -p $(DESTDIR)$(PREFIX)/bin
       +        cp -f $(BIN) $(DESTDIR)$(PREFIX)/bin
       +        mkdir -p $(DESTDIR)$(MANPREFIX)/man8
       +        sed "s/VERSION/$(VERSION)/g" < $(BIN).8 > $(DESTDIR)$(MANPREFIX)/man8/$(BIN).8
        
       -.c.o:
       -        @echo CC $<
       -        @$(CC) -c -o $@ $< $(CFLAGS)
       +uninstall:
       +        rm -f $(DESTDIR)$(PREFIX)/bin/$(BIN)
       +        rm -f $(DESTDIR)$(MANPREFIX)/man8/$(BIN).8
        
        dist: clean
       -        @echo creating dist tarball
       -        @mkdir -p sinit-$(VERSION)
       -        @cp LICENSE Makefile README config.def.h config.mk sinit.8 sinit.c \
       -                sinit-$(VERSION)
       -        @tar -cf sinit-$(VERSION).tar sinit-$(VERSION)
       -        @gzip sinit-$(VERSION).tar
       -        @rm -rf sinit-$(VERSION)
       +        mkdir -p sinit-$(VERSION)
       +        cp LICENSE Makefile README config.def.h config.mk sinit.8 sinit.c sinit-$(VERSION)
       +        tar -cf sinit-$(VERSION).tar sinit-$(VERSION)
       +        gzip sinit-$(VERSION).tar
       +        rm -rf sinit-$(VERSION)
        
       -install: all
       -        @echo installing executable to $(DESTDIR)$(PREFIX)/bin
       -        @mkdir -p $(DESTDIR)$(PREFIX)/bin
       -        @cp -f $(BIN) $(DESTDIR)$(PREFIX)/bin
       -        @chmod 755 $(DESTDIR)$(PREFIX)/bin/$(BIN)
       -        @echo installing manual page to $(DESTDIR)$(MANPREFIX)/man8
       -        @mkdir -p $(DESTDIR)$(MANPREFIX)/man8
       -        @sed "s/VERSION/$(VERSION)/g" < sinit.8 > $(DESTDIR)$(MANPREFIX)/man8/sinit.8
       -        @chmod 644 $(DESTDIR)$(MANPREFIX)/man8/sinit.8
       +clean:
       +        rm -f $(BIN) $(OBJ) sinit-$(VERSION).tar.gz
        
       -uninstall:
       -        @echo removing executable from $(DESTDIR)$(PREFIX)/bin
       -        @cd $(DESTDIR)$(PREFIX)/bin && rm -f $(BIN)
       -        @echo removing manual page from $(DESTDIR)$(MANPREFIX)/man8
       -        @rm -f $(DESTDIR)$(MANPREFIX)/man8/sinit.8
       +.SUFFIXES: .def.h
        
       -clean:
       -        @echo cleaning
       -        @rm -f $(BIN) $(OBJ) sinit-$(VERSION).tar.gz
       +.def.h.h:
       +        cp $< $@
       +
       +.PHONY:
       +        all install uninstall dist clean
 (DIR) diff --git a/config.mk b/config.mk
       @@ -8,5 +8,5 @@ MANPREFIX = $(PREFIX)/share/man
        CC = cc
        LD = $(CC)
        CPPFLAGS =
       -CFLAGS   = -Wextra -Wall -Os $(CPPFLAGS)
       +CFLAGS   = -Wextra -Wall -Os
        LDFLAGS  = -s -static