# Copyright 2019 (c) Anna Schumaker. export PREFIX = /usr/local export EMMENTAL_LIB = ${PREFIX}/lib/emmental export EMMENTAL_BIN = ${PREFIX}/bin export EMMENTAL_SHARE = ${PREFIX}/share export EMMENTAL_DESKTOP = ${EMMENTAL_SHARE}/applications/com.nowheycreamery.emmental.desktop all: emmental.gresource mpris2 flake8 clean: find . -type f -name "*gresource*" -exec rm {} \+ find . -type d -name __pycache__ -exec rm -r {} \+ find emmental/mpris2/ -type f -name "*.xml" -exec rm {} \+ .PHONY:flake8 flake8: flake8 emmental/ tests/ mpris-spec/Makefile: git submodule init mpris-spec git submodule update emmental/mpris2/MediaPlayer2.xml: mpris-spec/Makefile cp mpris-spec/spec/org.mpris.MediaPlayer2.xml emmental/mpris2/MediaPlayer2.xml emmental/mpris2/Player.xml: mpris-spec/Makefile cp mpris-spec/spec/org.mpris.MediaPlayer2.Player.xml emmental/mpris2/Player.xml .PHONY: mpris2 mpris2: emmental/mpris2/MediaPlayer2.xml emmental/mpris2/Player.xml .PHONY: emmental.gresource.xml emmental.gresource.xml: exec tools/find-resources.py .PHONY: emmental.gresource emmental.gresource: emmental.gresource.xml glib-compile-resources emmental.gresource.xml .PHONY: install.app install.app: find ./emmental -type f -not -path "*/__pycache__/*" \ -exec install -v -C -D -m 755 "{}" "$(EMMENTAL_LIB)/{}" \; install -C -v -m 644 emmental.py $(EMMENTAL_LIB)/emmental.py .PHONY: install.icons install.icons: install -C -v -m 644 emmental.gresource $(EMMENTAL_LIB)/emmental.gresource install -C -v -m 644 icons/scalable/apps/emmental.svg $(EMMENTAL_LIB)/emmental.svg .PHONY: install.desktop install.desktop: desktop-file-install --set-key=Exec --set-value $(EMMENTAL_BIN)/emmental \ --set-key=Icon --set-value=$(EMMENTAL_LIB)/emmental.svg \ --rebuild-mime-info-cache \ --dir=$(EMMENTAL_SHARE)/applications com.nowheycreamery.emmental.desktop .PHONY: install install: emmental.gresource mpris2 install.app install.icons install.desktop mkdir -p $(EMMENTAL_BIN) echo -e "#!/bin/bash\npython -O $(EMMENTAL_LIB)/emmental.py \$$*" > $(EMMENTAL_BIN)/emmental chmod 655 $(EMMENTAL_BIN)/emmental .PHONY: uninstall uninstall: rm -f ${EMMENTAL_SHARE}/applications/com.nowheycreamery.emmental.desktop rm -f ${EMMENTAL_BIN}/emmental rm -rf ${EMMENTAL_LIB}/emmental/ .PHONY: pkgbuild.pkgver pkgbuild.pkgver: $(eval MAJOR := $(shell grep \^MAJOR_VERSION emmental/__init__.py | awk -F= '{ gsub(/ /,""); print $$2}')) $(eval MINOR := $(shell grep \^MINOR_VERSION emmental/__init__.py | awk -F= '{ gsub(/ /,""); print $$2}')) $(eval MICRO := $(shell grep \^MICRO_VERSION emmental/__init__.py | awk -F= '{ gsub(/ /,""); print $$2}')) sed -i 's/^pkgver=.*/pkgver=${MAJOR}.${MINOR}.${MICRO}/' aur/PKGBUILD .PHONY: pkgbuild.sha256sum pkgbuild.sha256sum: $(eval TAG := $(shell git describe --abbrev=0)) $(eval CHECKSUM := $(shell git archive --prefix=emmental/ --format tar.gz $(TAG) | sha256sum | awk '{print $$1}')) sed -i 's/^sha256sums=.*/sha256sums=(${CHECKSUM})/' aur/PKGBUILD .PHONY: pkgbuild pkgbuild: pkgbuild.pkgver pkgbuild.sha256sum cd aur && makepkg --printsrcinfo > .SRCINFO .PHONY: pytest pytest: emmental.gresource mpris2 pytest .PHONY: tests tests: pytest flake8