Browse Source

saner makefile: cleaner, simpler, suckless

master
Aaron Marcher 7 years ago
parent
commit
d1915f0d4d
No known key found for this signature in database GPG Key ID: 74B048E5C2474F9A
2 changed files with 13 additions and 50 deletions
  1. +11
    -48
      Makefile
  2. +2
    -2
      config.mk

+ 11
- 48
Makefile View File

@@ -4,58 +4,21 @@ include config.mk

NAME=slstatus

SRC = ${NAME}.c
OBJ = ${SRC:.c=.o}

all: options ${NAME}

options:
@echo ${NAME} build options:
@echo "CFLAGS = ${CFLAGS}"
@echo "LDFLAGS = ${LDFLAGS}"
@echo "CC = ${CC}"

.c.o:
@echo CC $<
@${CC} -c ${CFLAGS} $<

${OBJ}: config.h config.mk

config.h:
@echo creating $@ from config.def.h
@cp config.def.h $@

${NAME}: ${OBJ}
@echo CC -o $@
@${CC} -o $@ ${OBJ} ${LDFLAGS}
all: ${NAME}

clean:
@echo cleaning
@rm -f ${NAME} ${OBJ} ${NAME}.tar.gz

dist: clean
@echo creating dist tarball
@mkdir -p ${NAME}
@cp -R Makefile config.mk LICENSE \
${SRC} ${NAME}
@tar -cf ${NAME}.tar ${NAME}
@gzip ${NAME}.tar
@rm -rf ${NAME}
rm -f ${NAME}

install: all
@echo installing executable file to ${DESTDIR}${PREFIX}/bin
@mkdir -p ${DESTDIR}${PREFIX}/bin
@cp -f ${NAME} ${DESTDIR}${PREFIX}/bin
@chmod 755 ${DESTDIR}${PREFIX}/bin/${NAME}
@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
@mkdir -p ${DESTDIR}${MANPREFIX}/man1
@cp -f ${NAME}.1 ${DESTDIR}${MANPREFIX}/man1
@chmod 644 ${DESTDIR}${MANPREFIX}/man1/${NAME}.1
mkdir -p ${DESTDIR}${PREFIX}/bin
cp -f ${NAME} ${DESTDIR}${PREFIX}/bin
chmod 755 ${DESTDIR}${PREFIX}/bin/${NAME}
mkdir -p ${DESTDIR}${MANPREFIX}/man1
cp -f ${NAME}.1 ${DESTDIR}${MANPREFIX}/man1
chmod 644 ${DESTDIR}${MANPREFIX}/man1/${NAME}.1

uninstall:
@echo removing executable file from ${DESTDIR}${PREFIX}/bin
@rm -f ${DESTDIR}${PREFIX}/bin/${NAME}
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
@rm -f ${DESTDIR}${MANPREFIX}/man1/${NAME}.1
rm -f ${DESTDIR}${PREFIX}/bin/${NAME}
rm -f ${DESTDIR}${MANPREFIX}/man1/${NAME}.1

.PHONY: all options clean dist install uninstall
.PHONY: all clean install uninstall

+ 2
- 2
config.mk View File

@@ -6,10 +6,10 @@ MANPREFIX = ${PREFIX}/share/man
X11INC = /usr/X11R6/include
X11LIB = /usr/X11R6/lib

INCS = -I. -I/usr/include -I${X11INC}
INCS = -I/usr/include -I${X11INC}
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11

CPPFLAGS = -DVERSION=\"${VERSION}\" -D_GNU_SOURCE
CPPFLAGS = -D_GNU_SOURCE
# -Wno-unused-function for routines not activated by user
CFLAGS = -std=c99 -pedantic -Wno-unused-function -Wall -Wextra -Os ${INCS} ${CPPFLAGS}
LDFLAGS = ${LIBS}


Loading…
Cancel
Save