Refactor build system
This commit is contained in:
parent
d35e518e39
commit
8dad4910bf
22
Makefile
22
Makefile
|
@ -1,11 +1,13 @@
|
||||||
# See LICENSE file for copyright and license details.
|
# See LICENSE file for copyright and license details.
|
||||||
|
# slstatus - suckless status monitor
|
||||||
|
.POSIX:
|
||||||
|
|
||||||
include config.mk
|
include config.mk
|
||||||
|
|
||||||
all: slstatus
|
all: slstatus
|
||||||
|
|
||||||
slstatus: slstatus.c config.h config.mk
|
slstatus: slstatus.c config.h config.mk
|
||||||
${CC} ${CFLAGS} -o $@ slstatus.c ${LDFLAGS}
|
$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) slstatus.c $(LDLIBS)
|
||||||
|
|
||||||
config.h:
|
config.h:
|
||||||
cp config.def.h $@
|
cp config.def.h $@
|
||||||
|
@ -14,15 +16,13 @@ clean:
|
||||||
rm -f slstatus
|
rm -f slstatus
|
||||||
|
|
||||||
install: all
|
install: all
|
||||||
mkdir -p ${DESTDIR}${PREFIX}/bin
|
mkdir -p "$(DESTDIR)$(PREFIX)/bin"
|
||||||
cp -f slstatus ${DESTDIR}${PREFIX}/bin
|
cp -f slstatus "$(DESTDIR)$(PREFIX)/bin"
|
||||||
chmod 755 ${DESTDIR}${PREFIX}/bin/slstatus
|
chmod 755 "$(DESTDIR)$(PREFIX)/bin/slstatus"
|
||||||
mkdir -p ${DESTDIR}${MANPREFIX}/man1
|
mkdir -p "$(DESTDIR)$(MANPREFIX)/man1"
|
||||||
cp -f slstatus.1 ${DESTDIR}${MANPREFIX}/man1
|
cp -f slstatus.1 "$(DESTDIR)$(MANPREFIX)/man1"
|
||||||
chmod 644 ${DESTDIR}${MANPREFIX}/man1/slstatus.1
|
chmod 644 "$(DESTDIR)$(MANPREFIX)/man1/slstatus.1"
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
rm -f ${DESTDIR}${PREFIX}/bin/slstatus
|
rm -f "$(DESTDIR)$(PREFIX)/bin/slstatus"
|
||||||
rm -f ${DESTDIR}${MANPREFIX}/man1/slstatus.1
|
rm -f "$(DESTDIR)$(MANPREFIX)/man1/slstatus.1"
|
||||||
|
|
||||||
.PHONY: all clean install uninstall
|
|
||||||
|
|
22
config.mk
22
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
|
PREFIX = /usr/local
|
||||||
MANPREFIX = ${PREFIX}/share/man
|
MANPREFIX = ${PREFIX}/man
|
||||||
|
|
||||||
X11INC = /usr/X11R6/include
|
X11INC = /usr/X11R6/include
|
||||||
X11LIB = /usr/X11R6/lib
|
X11LIB = /usr/X11R6/lib
|
||||||
|
|
||||||
INCS = -I/usr/include -I${X11INC}
|
# flags
|
||||||
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11
|
CPPFLAGS = -I$(X11INC) -DVERSION=\"$(VERSION)\" -D_DEFAULT_SOURCE
|
||||||
|
CFLAGS = -std=c99 -pedantic -Wall -Wextra -Wno-unused -Os
|
||||||
CPPFLAGS = -D_GNU_SOURCE
|
LDFLAGS = -L$(X11LIB) -s
|
||||||
# -Wno-unused-function for routines not activated by user
|
LDLIBS = -lX11
|
||||||
CFLAGS = -std=c99 -pedantic -Wno-unused-function -Wall -Wextra -Os -fstack-protector-strong -fstack-check -fPIE ${INCS} ${CPPFLAGS}
|
|
||||||
LDFLAGS = ${LIBS}
|
|
||||||
|
|
||||||
|
# compiler and linker
|
||||||
CC = cc
|
CC = cc
|
||||||
LD = ld
|
|
||||||
|
|
Loading…
Reference in New Issue