# 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 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 ${PREFIX}/share/applications/com.nowheycreamery.emmental.desktop rm -f ${PREFIX}/bin/emmental rm -rf ${PREFIX}/lib/emmental/ .PHONY: pkgbuild pkgbuild: $(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 TAG := $(shell git describe --tags --abbrev=0)) $(eval CSUM := $(shell git archive --format tar.gz $(TAG) | sha256sum | awk '{print $$1}')) cp data/PKGBUILD aur/ sed -i 's|{MAJOR}.{MINOR}|${MAJOR}.${MINOR}|' aur/PKGBUILD sed -i 's|{SHA256SUM}|$(CSUM)|' aur/PKGBUILD cd aur && makepkg --printsrcinfo > .SRCINFO .PHONY: pytest pytest: emmental.gresource mpris2 pytest .PHONY: tests tests: pytest flake8