Add Makefile to automate build process for Linux and Windows
This commit is contained in:
parent
57767de4b3
commit
63c13de181
88
Makefile
Normal file
88
Makefile
Normal file
@ -0,0 +1,88 @@
|
||||
VERSION ?= $(shell grep '^ *Version *= *' FyneApp.toml | sed -E "s/.*=[[:space:]]*\"([0-9\.]+)\".*/\1/")
|
||||
|
||||
BUILD_TMP := fyne-cross/tmp
|
||||
|
||||
WINDOWS_AMD64 := gui-for-ffmpeg-$(VERSION)-windows-amd64
|
||||
BUILD_TMP_WINDOWS_AMD64 := $(BUILD_TMP)/$(WINDOWS_AMD64)
|
||||
|
||||
LINUX_AMD64 := gui-for-ffmpeg-$(VERSION)-linux-amd64
|
||||
BUILD_TMP_LINUX_AMD64 := $(BUILD_TMP)/$(LINUX_AMD64)
|
||||
|
||||
RELEASES := fyne-cross/releases/$(VERSION)
|
||||
|
||||
default:
|
||||
# Run "make build-for-linux_amd64"
|
||||
# Run "make build-for-windows_amd64"
|
||||
# Build for all
|
||||
# Run "make build"
|
||||
|
||||
build:
|
||||
make build-for-linux_amd64
|
||||
make build-for-windows_amd64
|
||||
# $(RELEASES)/$(LINUX_AMD64).tar.gz
|
||||
# $(RELEASES)/$(LINUX_AMD64).tar.gz.sha256
|
||||
# $(RELEASES)/$(WINDOWS_AMD64).zip
|
||||
# $(RELEASES)/$(WINDOWS_AMD64).zip.sha256
|
||||
|
||||
build-for-windows_amd64:
|
||||
fyne-cross windows --icon "assets/icon.png" --app-id "net.kor-elf.projects.gui-for-ffmpeg" --app-version $(VERSION) -name "gui-for-ffmpeg"
|
||||
|
||||
@if [ -d $(BUILD_TMP_WINDOWS_AMD64) ]; then \
|
||||
rm -rf $(BUILD_TMP_WINDOWS_AMD64)/*; \
|
||||
else \
|
||||
mkdir -p $(BUILD_TMP_WINDOWS_AMD64); \
|
||||
fi
|
||||
cp LICENSE $(BUILD_TMP_WINDOWS_AMD64)/LICENSE
|
||||
cp LICENSE-3RD-PARTY.txt $(BUILD_TMP_WINDOWS_AMD64)/LICENSE-3RD-PARTY.txt
|
||||
cp fyne-cross/bin/windows-amd64/gui-for-ffmpeg.exe $(BUILD_TMP_WINDOWS_AMD64)/gui-for-ffmpeg.exe
|
||||
cd $(BUILD_TMP) && 7z a -tzip $(WINDOWS_AMD64).zip $(WINDOWS_AMD64)
|
||||
|
||||
@if [ ! -d $(RELEASES) ]; then \
|
||||
mkdir -p $(RELEASES); \
|
||||
fi
|
||||
|
||||
@if [ -f $(RELEASES)/$(WINDOWS_AMD64).zip ]; then \
|
||||
rm $(RELEASES)/$(WINDOWS_AMD64).zip; \
|
||||
fi
|
||||
|
||||
@if [ -f $(RELEASES)/$(WINDOWS_AMD64).zip.sha256 ]; then \
|
||||
rm $(RELEASES)/$(WINDOWS_AMD64).zip.sha256; \
|
||||
fi
|
||||
|
||||
mv $(BUILD_TMP)/$(WINDOWS_AMD64).zip $(RELEASES)/$(WINDOWS_AMD64).zip
|
||||
cd $(RELEASES) && sha256sum $(WINDOWS_AMD64).zip > $(WINDOWS_AMD64).zip.sha256
|
||||
# $(RELEASES)/$(WINDOWS_AMD64).zip
|
||||
# $(RELEASES)/$(WINDOWS_AMD64).zip.sha256
|
||||
|
||||
build-for-linux_amd64:
|
||||
fyne-cross linux --icon "assets/icon.png" --app-id "net.kor-elf.projects.gui-for-ffmpeg" --app-version $(VERSION) -name "gui-for-ffmpeg"
|
||||
|
||||
@if [ -d $(BUILD_TMP_LINUX_AMD64) ]; then \
|
||||
rm -rf $(BUILD_TMP_LINUX_AMD64)/*; \
|
||||
else \
|
||||
mkdir -p $(BUILD_TMP_LINUX_AMD64); \
|
||||
fi
|
||||
cp -r dist/linux/* $(BUILD_TMP_LINUX_AMD64)/
|
||||
cp LICENSE $(BUILD_TMP_LINUX_AMD64)/LICENSE
|
||||
cp LICENSE-3RD-PARTY.txt $(BUILD_TMP_LINUX_AMD64)/LICENSE-3RD-PARTY.txt
|
||||
cp fyne-cross/bin/linux-amd64/gui-for-ffmpeg $(BUILD_TMP_LINUX_AMD64)/usr/local/bin/gui-for-ffmpeg
|
||||
cp assets/icon.png $(BUILD_TMP_LINUX_AMD64)/usr/local/share/pixmaps/gui-for-ffmpeg.png
|
||||
|
||||
cd $(BUILD_TMP) && tar -czvf $(LINUX_AMD64).tar.gz $(LINUX_AMD64)
|
||||
|
||||
@if [ ! -d $(RELEASES) ]; then \
|
||||
mkdir -p $(RELEASES); \
|
||||
fi
|
||||
|
||||
@if [ -f $(RELEASES)/$(LINUX_AMD64).tar.gz ]; then \
|
||||
rm $(RELEASES)/$(LINUX_AMD64).tar.gz; \
|
||||
fi
|
||||
|
||||
@if [ -f $(RELEASES)/$(LINUX_AMD64).tar.gz.sha256 ]; then \
|
||||
rm $(RELEASES)/$(LINUX_AMD64).tar.gz.sha256; \
|
||||
fi
|
||||
|
||||
mv $(BUILD_TMP)/$(LINUX_AMD64).tar.gz $(RELEASES)/$(LINUX_AMD64).tar.gz
|
||||
cd $(RELEASES) && sha256sum $(LINUX_AMD64).tar.gz > $(LINUX_AMD64).tar.gz.sha256
|
||||
# $(RELEASES)/$(LINUX_AMD64).tar.gz
|
||||
# $(RELEASES)/$(LINUX_AMD64).tar.gz.sha256
|
Loading…
x
Reference in New Issue
Block a user