# # Polybar development tasks # BUILDDIR ?= build GENERATOR ?= $(shell for c in ninja make; do command -vp $$c; done | xargs basename | sed "s/ninja/Ninja/;s/make/Unix Makefiles/") all: configure build link help: @echo "Available targets:" @awk -F':' '/^\w*:/ {print " "$$1;}' Makefile configure: @echo "\033[32;1m**\033[0m Configuring..." @mkdir -p $(BUILDDIR) @cd $(BUILDDIR) && cmake -G "$(GENERATOR)" .. build: @echo "\033[32;1m**\033[0m Building..." @cmake --build $(BUILDDIR) install: @echo "\033[32;1m**\033[0m Installing..." @cmake --build $(BUILDDIR) --target install link: @echo "\033[32;1m**\033[0m Linking executable..." @if [ -x $(BUILDDIR)/bin/polybar ]; then ln -sfv $(BUILDDIR)/bin/polybar; fi @if [ -x $(BUILDDIR)/bin/polybar-msg ]; then ln -sfv $(BUILDDIR)/bin/polybar-msg; fi clean: @echo "\033[32;1m**\033[0m Cleaning up..." @if [ -d $(BUILDDIR) ]; then rm -rf $(BUILDDIR); fi @if [ -L polybar ]; then rm -v polybar; fi @if [ -L polybar-msg ]; then rm -v polybar-msg; fi .PHONY: configure build link clean help # vim:ts=2 sw=2 noet nolist