PROJECT = live-system
VERSION = ${shell cat doc/ChangeLog.md | grep '\#\#\# ' | head -n1 | sed 's/.* - v//'}
PREFIX = /usr/local
ARCH = ${shell uname -m}
BBX_ARCH = ${shell if [ "${ARCH}" == "x86_64" ]; then echo "x86_64"; else echo "armv8l"; fi}

all:
	@echo make install
	@echo make uninstall
	@echo make clean
	@echo make www
	@echo make upload
	@echo make archpack
	@echo make debpack
	@echo make slackpack

install:
	mkdir -p ${DESTDIR}${PREFIX}/share/live-system
	cp scripts/rc* ${DESTDIR}${PREFIX}/share/live-system/
	cp scripts/build-*.inc ${DESTDIR}${PREFIX}/share/live-system/
	mkdir -p ${DESTDIR}${PREFIX}/sbin
	cp scripts/build-live-system.sh ${DESTDIR}${PREFIX}/sbin/
	chmod u+x ${DESTDIR}${PREFIX}/sbin/build-live-system.sh
	if [ ! -f ${DESTDIR}${PREFIX}/share/live-system/busybox ]; then wget https://www.busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-${BBX_ARCH} -O ${DESTDIR}${PREFIX}/share/live-system/busybox; fi

uninstall:
	rm -rf ${DESTDIR}${PREFIX}/share/live-system
	rm -f ${DESTDIR}${PREFIX}/sbin/build-live-system.sh

clean:
	rm -rf build
	rm -rf www
	rm -f ${PROJECT}*.deb ${PROJECT}*.tar.zst ${PROJECT}*.txz

www: doc/README.md doc/INSTALL.md doc/Usage.md doc/ChangeLog.md doc/linomad.svg favicon.png sitegen.sh.cfg
	sitegen.sh

upload: clean www
	cd ..; tar -czvf ${PROJECT}-${VERSION}.tar.gz ${PROJECT}-${VERSION}
	scp ../${PROJECT}-${VERSION}.tar.gz frankendres@ftp.tuxfamily.org:livesystem/livesystem-repository/
	rm -f ../${PROJECT}-${VERSION}.tar.gz
	scp -r www/* frankendres@ftp.tuxfamily.org:/home/livesystem/${PROJECT}.tuxfamily.org-web/htdocs/
	make clean

archpack: clean
	mkdir archpack
	cd ..; tar -czvf ${PROJECT}-${VERSION}.tar.gz ${PROJECT}-${VERSION}
	mv ../${PROJECT}-${VERSION}.tar.gz archpack/
	cat distrib/arch/PKGBUILD | sed "s/PKGVER/${VERSION}/" > archpack/PKGBUILD
	cd archpack; makepkg
	mv archpack/${PROJECT}-${VERSION}-*.tar.* .
	rm -rf archpack

debpack: clean
	make install PREFIX=/usr DESTDIR=build/pack
	cp -R doc build/pack/usr/share/doc
	mkdir build/pack/DEBIAN
	cat distrib/debian/control | sed "s/PKGVER/${VERSION}/" > build/pack/DEBIAN/control
	find build/pack -type d -exec chmod 755 {} \;
	sudo chown -R root:root build/pack
	sudo dpkg-deb --build build/pack
	mv build/pack.deb ${PROJECT}_${VERSION}_${shell uname -m}.deb
	sudo rm -rf build
	
slackpack: clean
	make install PREFIX=/usr DESTDIR=build/pack
	mkdir -p build/pack/usr/doc/${PROJECT}-${VERSION}
	cp doc/{*.md,COPYING,LICEN*} build/pack/usr/doc/${PROJECT}-${VERSION}/
	mkdir build/pack/install
	cp distrib/slackware/slack-desc build/pack/install/
	( cd build/pack; makepkg -l y -c y ../../${PROJECT}-${VERSION}-${shell uname -m}-orig.txz )
	rm -rf build
