collection_name = 40_vv221-games

UID := $(shell id --user)

ifeq ($(UID),0)
    prefix = /usr/local
    datadir = $(prefix)/share/games
else
    ifeq ($(XDG_DATA_HOME),)
        XDG_DATA_HOME := $(HOME)/.local/share
    endif
    prefix = $(XDG_DATA_HOME)
    datadir = $(prefix)
endif
gamesdir = $(DESTDIR)$(datadir)/play.it/games

# Install the game scripts

.PHONY: install uninstall

install:
	install -D --mode=755 --target-directory=$(gamesdir)/$(collection_name) games/*

uninstall:
	rm $(gamesdir)/$(collection_name)/play-*.sh
	rmdir -p --ignore-fail-on-non-empty $(gamesdir)/$(collection_name)

# Generate tarballs, for easier packaging

.PHONY: dist

## The generated tarball is signed with gpg by default,
## NO_SIGN should be set to a non-0 value to skip the signature.
NO_SIGN := 0

dist: DATE := $(shell date +%F)
dist: TARBALL := $(collection_name)_$(DATE).tar.gz
dist: TAR_OPTIONS := --sort=name --mtime=2023-08-25 --owner=root:0 --group=root:0 --use-compress-program='gzip --no-name'
dist: games/*.sh LICENSE Makefile notes/* README.md
	mkdir --parents dist
	LC_ALL=C tar cf dist/$(TARBALL) $(TAR_OPTIONS) games/*.sh LICENSE Makefile notes/* README.md
ifeq ($(NO_SIGN),0)
	rm --force dist/$(TARBALL).asc
	gpg --armor --detach-sign dist/$(TARBALL)
endif
