# SPDX-FileCopyrightText: Copyright 2026 Ismael Luceno <ismael@iodev.co.uk>
# SPDX-License-Identifier: ISC

CC         = c99
CCLD       = c99
INSTALL    = install

CFLAGS    ?= -O2 -Wall -Wextra

prefix     = /usr/local
sbindir    = ${prefix}/bin

PKG     = cgroup-session
PROGRAM = cgroup-session-setup
OBJS    = main.o
DISTDIR = dist

.PHONY: all
all: ${PROGRAM}

${PROGRAM}: ${OBJS}
	${CCLD} ${CFLAGS} -o ${PROGRAM} ${OBJS}

.PHONY: install setuid
install: ${PROGRAM}
	${INSTALL} -Dt ${DESTDIR}${sbindir} -m555 ${PROGRAM}

setuid:
	chmod 4555 ${DESTDIR}${sbindir}/${PROGRAM}

REF     ?= HEAD
VERSION != git describe --tags --dirty --always 2>/dev/null | sed 's/^v//' \
	|| echo unknown
TARBALL = ${DISTDIR}/${PKG}-${VERSION}.tar.xz

.PHONY: release
release: ${TARBALL}
${TARBALL}:
	mkdir -p ${DISTDIR}
	git archive --format=tar --prefix=${PKG}-${VERSION}/ ${REF} | \
		xz -T1 -c > ${TARBALL}

.PHONY: clean distclean
clean:
	rm -rf ${PROGRAM} ${DISTDIR} ${OBJS}
distclean: clean
	rm -f *~
