X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/13604963bc589ab9281da03b1f76b8db7e21daa7..d76b1a21fc014395cf9f7bd4e14180a3a0945e9c:/Makefile diff --git a/Makefile b/Makefile index 6cba860..945b5e3 100644 --- a/Makefile +++ b/Makefile @@ -1,61 +1,67 @@ -# See LICENSE file for copyright and license details. +# See LICENSE file for copyright and license details +# slstatus - suckless status monitor +.POSIX: include config.mk -NAME=slstatus +REQ = util +COM =\ + components/battery\ + components/cpu\ + components/datetime\ + components/disk\ + components/entropy\ + components/hostname\ + components/ip\ + components/kernel_release\ + components/keyboard_indicators\ + components/keymap\ + components/load_avg\ + components/netspeeds\ + components/num_files\ + components/ram\ + components/run_command\ + components/swap\ + components/temperature\ + components/uptime\ + components/user\ + components/volume\ + components/wifi -SRC = ${NAME}.c -OBJ = ${SRC:.c=.o} +all: slstatus -all: options ${NAME} - -options: - @echo ${NAME} build options: - @echo "CFLAGS = ${CFLAGS}" - @echo "LDFLAGS = ${LDFLAGS}" - @echo "CC = ${CC}" +$(COM:=.o): config.mk $(REQ:=.h) +slstatus.o: slstatus.c slstatus.h arg.h config.h config.mk $(REQ:=.h) .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< - -${OBJ}: config.h config.mk + $(CC) -o $@ -c $(CPPFLAGS) $(CFLAGS) $< config.h: - @echo creating $@ from config.def.h - @cp config.def.h $@ + cp config.def.h $@ -${NAME}: ${OBJ} - @echo CC -o $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} +slstatus: slstatus.o $(COM:=.o) $(REQ:=.o) + $(CC) -o $@ $(LDFLAGS) $(COM:=.o) $(REQ:=.o) slstatus.o $(LDLIBS) 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 slstatus slstatus.o $(COM:=.o) $(REQ:=.o) + +dist: + rm -rf "slstatus-$(VERSION)" + mkdir -p "slstatus-$(VERSION)/components" + cp -R LICENSE Makefile README config.mk config.def.h \ + arg.h slstatus.c $(COM:=.c) $(REQ:=.c) $(REQ:=.h) \ + slstatus.1 "slstatus-$(VERSION)" + tar -cf - "slstatus-$(VERSION)" | gzip -c > "slstatus-$(VERSION).tar.gz" + rm -rf "slstatus-$(VERSION)" 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 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: - @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 - -.PHONY: all options clean dist install uninstall + rm -f "$(DESTDIR)$(PREFIX)/bin/slstatus" + rm -f "$(DESTDIR)$(MANPREFIX)/man1/slstatus.1"