Files
winsparkle/distrib.makefile

63 lines
1.5 KiB
Makefile

#
# Makefile to create distribution archives for WinSparkle.
# Needs GNU Make.
#
# The version to package. It is assumed that binaries in the tree are
# for this version.
VERSION := $(shell git describe --always --tags | sed -e 's/^v//g')
sources_base := WinSparkle-$(VERSION)-src
binary_base := WinSparkle-$(VERSION)
sources_arch := $(sources_base).zip
binary_arch := $(binary_base).zip
binary_files := \
include/winsparkle.h \
include/winsparkle-version.h \
Release/WinSparkle.dll \
Release/WinSparkle.lib \
Release/WinSparkle.pdb \
x64/Release/WinSparkle.dll \
x64/Release/WinSparkle.lib \
x64/Release/WinSparkle.pdb \
ARM64/Release/WinSparkle.dll \
ARM64/Release/WinSparkle.lib \
ARM64/Release/WinSparkle.pdb \
AUTHORS COPYING NEWS README.md
binary_tools := \
bin/legacy_sign_update.bat \
bin/legacy_generate_keys.bat \
x64/Release/winsparkle-tool.exe
all: binary sources
binary: $(binary_arch)
sources: $(sources_arch)
$(binary_arch): $(binary_files)
@rm -rf $(binary_base) $@
@mkdir $(binary_base)
@mkdir -p $(binary_base)/bin
@mkdir -p $(binary_base)/include
@mkdir -p $(binary_base)/Release
@mkdir -p $(binary_base)/x64/Release
@mkdir -p $(binary_base)/ARM64/Release
for i in $(binary_files); do cp -a $$i $(binary_base)/$$i ; done
cp -a 3rdparty/expat/expat/COPYING $(binary_base)/COPYING.expat
cp -a $(binary_tools) $(binary_base)/bin/
zip -9 -r $@ $(binary_base)
$(sources_arch):
@rm -rf $@
git ls-files --recurse-submodules | zip -9 -@ $@
clean:
rm -f $(binary_arch)
rm -f $(sources_arch)
.PHONY: all binary sources clean