Refactor build system

This commit is contained in:
Laslo Hunhold 2017-08-10 21:32:10 +02:00 committed by Aaron Marcher
parent d35e518e39
commit 8dad4910bf
No known key found for this signature in database
GPG Key ID: 74B048E5C2474F9A
2 changed files with 23 additions and 21 deletions

View File

@ -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"

View File

@ -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