# speedwm // minimal X window manager designed for productivity and aesthetics. # See LICENSE file for copyright and license details. include config.mk SRC = drw.c speedwm.c util.c OBJ = ${SRC:.c=.o} ifdef USEIPC all: options speedwm speedwm-msg else all: options speedwm endif options: @echo speedwm build options: @echo "CFLAGS = ${CFLAGS}" @echo "LDFLAGS = ${LDFLAGS}" @echo "CC = ${CC}" .c.o: ${CC} -c ${CFLAGS} $< ${OBJ}: config.mk speedwm: ${OBJ} ${CC} -o $@ ${OBJ} ${LDFLAGS} ; rm -f *.o ifdef USEIPC speedwm-msg: speedwm-msg.o ${CC} -o $@ $< ${LDFLAGS} ; rm -f speedwm-msg.o endif clean: rm -f speedwm ${OBJ} speedwm-spde-${VERSION}.tar.gz && echo "Cleaned!" dist: clean mkdir -p speedwm-spde-${VERSION} cp -R *.mk *.c *.h *.png docs patches status LICENSE Makefile scripts speedwm-spde-${VERSION} tar -cf speedwm-spde-${VERSION}.tar speedwm-spde-${VERSION} gzip speedwm-spde-${VERSION}.tar rm -rf speedwm-spde-${VERSION} speedwm rm -rf speedwm-spde-${VERSION} speedwm-msg install: all touch drw.o speedwm.o util.o mkdir -p ${DESTDIR}${PREFIX}/bin [ -f speedwm-msg ] && cp -f speedwm speedwm-msg ${DESTDIR}${PREFIX}/bin || : chmod 755 ${DESTDIR}${PREFIX}/bin/speedwm [ -f speedwm-msg ] && chmod 755 ${DESTDIR}${PREFIX}/bin/speedwm-msg || : cp -f docs/bindlist ${DESTDIR}${PREFIX}/share/speedwm-bindlist cp -f docs/deplist ${DESTDIR}${PREFIX}/share/speedwm-deplist cp -f docs/about ${DESTDIR}${PREFIX}/share/speedwm-about cp -f docs/about2 ${DESTDIR}${PREFIX}/share/speedwm-about-2 cp -f docs/about3 ${DESTDIR}${PREFIX}/share/speedwm-about-3 cp -f docs/about4 ${DESTDIR}${PREFIX}/share/speedwm-about-4 cp -f docs/about5 ${DESTDIR}${PREFIX}/share/speedwm-about-5 cp -f docs/example.Xresources ${DESTDIR}${PREFIX}/share/speedwm-xresources cp -f docs/example.fsignal ${DESTDIR}${PREFIX}/share/speedwm-fsignal cp -f scripts/speedwm-help ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-help cp -f scripts/speedwm-shutdown ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-shutdown cp -f scripts/speedwm-winnav ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-winnav cp -f scripts/speedwm-utils ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-utils cp -f scripts/speedwm-swal ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-swal cp -f scripts/speedwm-screenshotutil ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-screenshotutil cp -f scripts/speedwm-virtualkeyboard ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-virtualkeyboard cp -f scripts/speedwm-pdfopen ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-pdfopen cp -f scripts/speedwm-audioctrl ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-audioctrl cp -f scripts/speedwm-netctrl ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-netctrl cp -f scripts/speedwm-btctrl ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-btctrl cp -f scripts/speedwm_run ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm_run cp -f scripts/speedwm-core ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-core cp -f scripts/speedwm-dfmpeg ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/speedwm-dfmpeg cp -f status ${DESTDIR}${PREFIX}/bin ; chmod +x ${DESTDIR}${PREFIX}/bin/status chmod +x ./scripts/speedwm-compatcheck chmod +x ./scripts/speedwm-dm mkdir -p /usr/share echo "${DESTDIR}${PREFIX}/bin/" > /usr/share/speedwm-bindir ./scripts/speedwm-compatcheck ./scripts/speedwm-dm [ -f speedwm.png ] && cp -f speedwm.png ${DESTDIR}${PREFIX}/share/pixmaps/speedwm.png || : rm -f drw.o speedwm.o util.o speedwm speedwm-msg ; echo "Installed speedwm to ${DESTDIR}${PREFIX}/bin" uninstall: rm -f ${DESTDIR}${PREFIX}/bin/speedwm\ ${DESTDIR}${PREFIX}/bin/speedwm-utils \ ${DESTDIR}${PREFIX}/bin/speedwm-audioctrl \ ${DESTDIR}${PREFIX}/bin/speedwm-winnav \ ${DESTDIR}${PREFIX}/bin/speedwm-shutdown \ ${DESTDIR}${PREFIX}/bin/speedwm-swal \ ${DESTDIR}${PREFIX}/bin/speedwm-help \ ${DESTDIR}${PREFIX}/bin/speedwm-netctrl \ ${DESTDIR}${PREFIX}/bin/speedwm-btctrl \ ${DESTDIR}${PREFIX}/bin/speedwm-screenshotutil \ ${DESTDIR}${PREFIX}/bin/speedwm-virtualkeyboard \ ${DESTDIR}${PREFIX}/bin/speedwm-pdfopen \ ${DESTDIR}${PREFIX}/bin/speedwm-core \ ${DESTDIR}${PREFIX}/bin/speedwm-dfmpeg \ ${DESTDIR}${PREFIX}/bin/status \ ${DESTDIR}${PREFIX}/share/speedwm-bindlist \ ${DESTDIR}${PREFIX}/share/speedwm-deplist \ ${DESTDIR}${PREFIX}/share/speedwm-about \ ${DESTDIR}${PREFIX}/share/speedwm-about-2 \ ${DESTDIR}${PREFIX}/share/speedwm-about-3 \ ${DESTDIR}${PREFIX}/share/speedwm-about-4 \ ${DESTDIR}${PREFIX}/share/speedwm-about-5 \ ${DESTDIR}${PREFIX}/share/speedwm-xresources \ ${DESTDIR}${PREFIX}/share/speedwm-fsignal \ docs: chmod +x scripts/speedwm-help ./scripts/speedwm-help -a -o help: @echo speedwm help @echo install: Installs speedwm. You may need to run this as root. @echo uninstall: Uninstalls speedwm. You may need to run this as root. @echo libxftfix: This option compiles and installs libXft-bgra which is necessary to prevent speedwm from crashing. @echo gentoo-libxftfix: This option installs libXft-bgra by patching it for Gentoo only. @echo arch-libxftfix: This option installs libXft-bgra using the AUR on Arch Linux only. @echo help: Displays this help sheet. @echo docs: View documentation for speedwm @echo html: Write HTML document based on documentation. @echo markdown: Write Markdown document based on documentation. @echo readme: Write output of speedwm-help -a to readme. @echo upload: git commit and git push this build. @echo page: Creates the https://speedie.gq/speedwm page in HTML form. @echo page_install: Copy the page to ${HTMLDIR}. @echo page_push: git commit and git push the page in ${HTMLDIR}. @echo make page page_install page_push to do all of the above page changes instantly. @echo make release to run make markdown, make upload, make page, make page_install, make page_push instantly. release: make markdown make upload make page make page_install make page_push rm -f speedwm.html rm -f readme.html rm -f readme @echo "Complete!" upload: chmod +x scripts/speedwm-mkpage ./scripts/speedwm-mkpage -ulspeedwm @echo "Uploaded everything." libxftfix: chmod +x scripts/libxftfix ./scripts/libxftfix -source page: chmod +x scripts/speedwm-mkpage chmod +x scripts/speedwm-help ./scripts/speedwm-mkpage -mkpage page_install: cp speedwm.html ${HTMLDIR} @echo "Copied speedwm.html to ${HTMLDIR}." page_push: echo ${HTMLDIR} > /tmp/speedwm-htmldir chmod +x scripts/speedwm-mkpage chmod +x scripts/speedwm-help ./scripts/speedwm-mkpage -page-push html: chmod +x scripts/speedwm-mkpage chmod +x scripts/speedwm-help ./scripts/speedwm-mkpage -mkhtml markdown: chmod +x scripts/speedwm-mkpage chmod +x scripts/speedwm-help ./scripts/speedwm-mkpage -mkmd readme: chmod +x scripts/speedwm-mkpage chmod +x scripts/speedwm-help ./scripts/speedwm-mkpage -mk gentoo-libxftfix: chmod +x scripts/libxftfix ./scripts/libxftfix -gentoo arch-libxftfix: chmod +x scripts/libxftfix ./scripts/libxftfix -arch .PHONY: all options clean dist install uninstall help libxftfix gentoo-libxftfix arch-libxftfix docs page page_install html markdown readme page_push upload release