diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bb63e2b --- /dev/null +++ b/Makefile @@ -0,0 +1,107 @@ +PREFIX ?= /usr +BIN ?= /bin +BINDIR ?= $(PREFIX)$(BIN) +DATA ?= /share +DATADIR ?= $(PREFIX)$(DATA) +DOC ?= /share +DOCDIR ?= $(PREFIX)$(DOC) +LICENSEDIR ?= $(DATADIR)/licenses + +PY3_SHEBANG = "/usr/bin/env python3" + +COMMAND = xpybar +PKGNAME = xpybar +PLUGIN_PATH = $(DATADIR)/$(PKGNAME) + + +SRC = __main__ util x + +PLUGINS = chase clock cpu cpuonline df discstats linereader \ + loadavg lunar mem moc network pacman snmp snmp6 \ + softirqs solar uname uptime users vmstat weather \ + xdisplay xkb + +PLUGIN_EXAMPLES = chase clock cpu cpuonline df discstats loadavg \ + lunar mem moc network pacman uname uptime users \ + xdisplay xkb + +EXAMPLES = clock moderate plugin-test test xmonad + + + +.PHONY: all +all: bin/xpybar + +bin/xpybar: obj/xpybar.zip + mkdir -p bin + echo "#!$(PY3_SHEBANG)" > $@ + cat $< >> $@ + chmod a+x $@ + +obj/xpybar.zip: $(foreach F,$(SRC),obj/$(F).py) + cd obj && zip ../$@ $(foreach F,$(SRC),$(F).py) + +obj/%.py: src/%.py + mkdir -p obj + cp $< $@ + sed -i "s:PLUGIN_PATH = None:PLUGIN_PATH = '$(PLUGIN_PATH)':g" $@ + + + +.PHONY: install +install: install-base + +.PHONY: install-base +install-base: install-command install-license install-all-examples install-plugins + +.PHONY: install-command +install-command: bin/xpybar + install -dm755 -- "$(DESTDIR)$(BINDIR)" + install -m755 $< -- "$(DESTDIR)$(BINDIR)/$(COMMAND)" + +.PHONY: install-license +install-license: COPYING LICENSE + install -dm755 -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + install -m644 $^ -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + +.PHONY: install-all-examples +install-all-examples: install-examples install-plugin-examples + +.PHONY: install-examples +install-examples: $(foreach F,$(EXAMPLES),examples/$(F)) + install -dm755 -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME)/examples" + install -m644 $^ -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME)/examples" + +.PHONY: install-plugin-examples +install-plugin-examples: $(foreach F,$(PLUGIN_EXAMPLES),examples/plugins/$(F)) + install -dm755 -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME)/examples/plugins" + install -m644 $^ -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME)/examples/plugins" + +.PHONY: install-plugins +install-plugins: $(foreach F,$(PLUGINS),src/plugins/$(F).py) + install -dm755 -- "$(DESTDIR)$(DATADIR)/$(PKGNAME)/plugins" + install -m644 $^ -- "$(DESTDIR)$(DATADIR)/$(PKGNAME)/plugins" + + + +.PHONY: uninstall +uninstall: + -rm -- "$(DESTDIR)$(BINDIR)/$(COMMAND)" + -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/COPYING" + -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/LICENSE" + -rmdir -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + -rm -- $(foreach F,$(PLUGIN_EXAMPLES),"$(DESTDIR)$(DOCDIR)/$(PKGNAME)/examples/plugins/$(F)") + -rmdir -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME)/examples/plugins" + -rm -- $(foreach F,$(EXAMPLES),"$(DESTDIR)$(DOCDIR)/$(PKGNAME)/examples/$(F)") + -rmdir -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME)/examples" + -rmdir -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME)" + -rm -- $(foreach F,$(PLUGINS),"$(DESTDIR)$(DATADIR)/$(PKGNAME)/plugins/$(F)") + -rmdir -- "$(DESTDIR)$(DATADIR)/$(PKGNAME)/plugins" + -rmdir -- "$(DESTDIR)$(DATADIR)/$(PKGNAME)" + + + +.PHONY: clean +clean: + -rm -r obj bin + |