Refactor build system
authorLaslo Hunhold <dev@frign.de>
Thu, 10 Aug 2017 19:32:10 +0000 (21:32 +0200)
committerAaron Marcher <me@drkhsh.at>
Thu, 10 Aug 2017 20:32:14 +0000 (22:32 +0200)
Makefile
config.mk

index 9e1d0d5b16beee8d230b26557fb7530371e88011..dbe636e63e1dbbde182a023bf96db3dc017b9c43 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,13 @@
 # See LICENSE file for copyright and license details.
+# slstatus - suckless status monitor
+.POSIX:
 
 include config.mk
 
 all: slstatus
 
 slstatus: slstatus.c config.h config.mk
-       ${CC} ${CFLAGS} -o $@ slstatus.c ${LDFLAGS}
+       $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) slstatus.c $(LDLIBS)
 
 config.h:
        cp config.def.h $@
@@ -14,15 +16,13 @@ clean:
        rm -f slstatus
 
 install: all
-       mkdir -p ${DESTDIR}${PREFIX}/bin
-       cp -f slstatus ${DESTDIR}${PREFIX}/bin
-       chmod 755 ${DESTDIR}${PREFIX}/bin/slstatus
-       mkdir -p ${DESTDIR}${MANPREFIX}/man1
-       cp -f slstatus.1 ${DESTDIR}${MANPREFIX}/man1
-       chmod 644 ${DESTDIR}${MANPREFIX}/man1/slstatus.1
+       mkdir -p "$(DESTDIR)$(PREFIX)/bin"
+       cp -f slstatus "$(DESTDIR)$(PREFIX)/bin"
+       chmod 755 "$(DESTDIR)$(PREFIX)/bin/slstatus"
+       mkdir -p "$(DESTDIR)$(MANPREFIX)/man1"
+       cp -f slstatus.1 "$(DESTDIR)$(MANPREFIX)/man1"
+       chmod 644 "$(DESTDIR)$(MANPREFIX)/man1/slstatus.1"
 
 uninstall:
-       rm -f ${DESTDIR}${PREFIX}/bin/slstatus
-       rm -f ${DESTDIR}${MANPREFIX}/man1/slstatus.1
-
-.PHONY: all clean install uninstall
+       rm -f "$(DESTDIR)$(PREFIX)/bin/slstatus"
+       rm -f "$(DESTDIR)$(MANPREFIX)/man1/slstatus.1"
index 67fd6284856453ebaef9853919e38895df20940c..dad06843650572f98f773d2f778a789c51e4d489 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -1,18 +1,20 @@
-# See LICENSE file for copyright and license details.
+# slstatus version
+VERSION = 0
 
+# Customize below to fit your system
+
+#paths
 PREFIX = /usr/local
-MANPREFIX = ${PREFIX}/share/man
+MANPREFIX = ${PREFIX}/man
 
 X11INC = /usr/X11R6/include
 X11LIB = /usr/X11R6/lib
 
-INCS = -I/usr/include -I${X11INC}
-LIBS = -L/usr/lib -lc -L${X11LIB} -lX11
-
-CPPFLAGS = -D_GNU_SOURCE
-# -Wno-unused-function for routines not activated by user
-CFLAGS = -std=c99 -pedantic -Wno-unused-function -Wall -Wextra -Os -fstack-protector-strong -fstack-check -fPIE ${INCS} ${CPPFLAGS}
-LDFLAGS = ${LIBS}
+# flags
+CPPFLAGS = -I$(X11INC) -DVERSION=\"$(VERSION)\" -D_DEFAULT_SOURCE
+CFLAGS   = -std=c99 -pedantic -Wall -Wextra -Wno-unused -Os
+LDFLAGS  = -L$(X11LIB) -s
+LDLIBS   = -lX11
 
+# compiler and linker
 CC = cc
-LD = ld