64 lines
2.5 KiB
Makefile
64 lines
2.5 KiB
Makefile
SHELL := /usr/bin/env bash
|
|
VERSION := $(shell cat pubspec.yaml | grep "^version: " | cut -c 10- | sed 's/+/\-/')
|
|
SHORT_VERSION := $(shell xx="$(VERSION)"; arrVersion=($${xx//-/ }); echo $${arrVersion[0]};)
|
|
BUILD_ROOT := ../build-package
|
|
BASE_NAME := quickgui_$(SHORT_VERSION)
|
|
BUILD_DIR := $(BUILD_ROOT)/$(BASE_NAME)
|
|
BIN_TAR := $(BUILD_ROOT)/$(BASE_NAME).tar
|
|
ORIG_TAR := $(BASE_NAME).orig.tar
|
|
SRC_TAR := $(BUILD_ROOT)/$(BASE_NAME)-src.tar
|
|
FLUTTER := /opt/flutter/bin/flutter
|
|
|
|
version:
|
|
@echo VERSION is $(VERSION)
|
|
@echo SHORT_VERSION is $(SHORT_VERSION)
|
|
@echo BUILD_ROOT is $(BUILD_ROOT)
|
|
@echo type "make bin" to create binary package
|
|
@echo type "make ppa" to upload to launchpad
|
|
|
|
spawn:
|
|
echo "#! /bin/env bash" > /home/yannick/machines/focal/home/yannick/build.sh
|
|
echo "" >> /home/yannick/machines/focal/home/yannick/build.sh
|
|
echo "cd /opt/flutter-projects/quickgui" >> /home/yannick/machines/focal/home/yannick/build.sh
|
|
echo "make bin" >> /home/yannick/machines/focal/home/yannick/build.sh
|
|
chmod +x /home/yannick/machines/focal/home/yannick/build.sh
|
|
sudo systemd-nspawn -D /home/yannick/machines/focal --resolv-conf=off --bind-ro=/home/yannick/machines/resolv.conf:/etc/resolv.conf --bind=/opt/flutter:/opt/flutter --bind=/opt/flutter-projects:/opt/flutter-projects -u yannick bash /home/yannick/build.sh
|
|
|
|
distclean:
|
|
$(FLUTTER) clean
|
|
rm -rf $(BUILD_ROOT)/*
|
|
|
|
quickgui: distclean
|
|
$(FLUTTER) pub get
|
|
$(FLUTTER) build linux --release
|
|
|
|
bin: quickgui
|
|
mkdir -p $(BUILD_DIR)
|
|
cp -a build/linux/x64/release/bundle/* $(BUILD_DIR)
|
|
cp -a assets/resources $(BUILD_DIR)
|
|
tar -C $(BUILD_ROOT) -c -v --exclude "quickemu-icons/*.png" -f $(BIN_TAR) $(BASE_NAME)
|
|
xz -z $(BIN_TAR)
|
|
|
|
ppa: version
|
|
cp $(BIN_TAR).xz /mnt/data/dev/debianpackages/quickgui.deb/$(ORIG_TAR).xz
|
|
cd /mnt/data/dev/debianpackages/quickgui.deb/quickgui ; \
|
|
dch -v $(VERSION) "New changelog message" ; \
|
|
vi debian/changelog ; \
|
|
for dist in focal jammy kinetic lunar; do \
|
|
sed -i "1 s/^\(.*\)) UNRELEASED;\(.*\)\$$/\1~xxx1.0) xxx;\2/g" debian/changelog ; \
|
|
sed -i "1 s/~.*1\.0) .*;\(.*\)\$$/~$${dist}1.0) $$dist;\1/g" debian/changelog ; \
|
|
dpkg-buildpackage -d -S -sa ; \
|
|
dput ppa:yannick-mauray/quickgui ../quickgui_$(VERSION)~$${dist}1.0_source.changes ; \
|
|
done
|
|
|
|
download: version
|
|
for dist in focal jammy kinetic; do \
|
|
aria2c https://launchpad.net/~yannick-mauray/+archive/ubuntu/quickgui/+files/quickgui_$(VERSION)~$${dist}1.0_amd64.deb; \
|
|
done
|
|
|
|
src:
|
|
mkdir -p $(BUILD_ROOT)
|
|
tar -C .. -c -v -f $(SRC_TAR) --exclude .git --transform 's/^quickgui/$(BASE_NAME)/' quickgui
|
|
rm ${SRC_TAR}.xz
|
|
xz -z $(SRC_TAR)
|