diff options
Diffstat (limited to 'BUILDSCR')
-rw-r--r-- | BUILDSCR | 183 |
1 files changed, 99 insertions, 84 deletions
@@ -35,7 +35,7 @@ module putty ifeq "$(RELEASE)" "" set Ndate $(!builddate) ifneq "$(Ndate)" "" in . do echo $(Ndate) | perl -pe 's/(....)(..)(..)/$$1-$$2-$$3/' > date ifneq "$(Ndate)" "" read Date date -set Epoch 17818 # update this at every release +set Epoch 18293 # update this at every release ifneq "$(Ndate)" "" in . do echo $(Ndate) | perl -ne 'use Time::Local; /(....)(..)(..)/ and print timegm(0,0,0,$$3,$$2-1,$$1) / 86400 - $(Epoch)' > days ifneq "$(Ndate)" "" read Days days @@ -55,7 +55,7 @@ ifneq "$(SNAPSHOT)" "" set Puttytextver PuTTY development snapshot $(Date).$(vcs ifneq "$(SNAPSHOT)" "" set Textver Development snapshot $(Date).$(vcsid) ifeq "$(RELEASE)$(PRERELEASE)$(SNAPSHOT)" "" set Puttytextver PuTTY custom build $(Date).$(vcsid) ifeq "$(RELEASE)$(PRERELEASE)$(SNAPSHOT)" "" set Textver Custom build $(Date).$(vcsid) -set Docmakever VERSION="$(Puttytextver)" +in putty/doc do echo "\\\\versionid $(Puttytextver)" > version.but # Set up the version string for use in the SSH connection greeting. # @@ -74,12 +74,6 @@ ifneq "$(PRERELEASE)" "" set Uxarcsuffix -$(PRERELEASE)~pre$(Ndate).$(vcsid) ifneq "$(SNAPSHOT)" "" set Uxarcsuffix -$(Lastver)-$(Date).$(vcsid) ifeq "$(RELEASE)$(PRERELEASE)$(SNAPSHOT)" "" set Uxarcsuffix -custom-$(Date).$(vcsid) -# Set up the version number for the autoconf system. -ifneq "$(RELEASE)" "" set Autoconfver $(RELEASE) -ifneq "$(PRERELEASE)" "" set Autoconfver $(PRERELEASE)~pre$(Ndate).$(vcsid) -ifneq "$(SNAPSHOT)" "" set Autoconfver $(Lastver)-$(Date).$(vcsid) -ifeq "$(RELEASE)$(PRERELEASE)$(SNAPSHOT)" "" set Autoconfver Custom.$(Date).$(vcsid) - # Set up the filenames for the Windows installers (minus extension, # which goes on later). ifneq "$(RELEASE)" "" set Isuffix $(RELEASE)-installer @@ -122,31 +116,44 @@ ifneq "$(SNAPSHOT)" "" in putty do echo '$#define SNAPSHOT' >> version.h in putty do echo '$#define TEXTVER "$(Textver)"' >> version.h in putty do echo '$#define SSHVER "$(Sshver)"' >> version.h in putty do echo '$#define BINARY_VERSION $(Winvercommas)' >> version.h -in putty do echo '$#define SOURCE_COMMIT "$(vcsfullid)"' >> version.h -# Set up the extra arguments for the main Windows nmake command. The -# user can define XFLAGS and MAKEARGS on the bob command line, to pass -# in extra compile and make options respectively (e.g. to do a -# debugging or Minefield build). -set Makeargs -ifneq "$(XFLAGS)" "" set Makeargs $(Makeargs) XFLAGS="$(XFLAGS)" -ifneq "$(MAKEARGS)" "" set Makeargs $(Makeargs) $(MAKEARGS) +# In cmake/gitcommit.cmake, replace the default output "unavailable" +# with the commit string generated by bob, so that people rebuilding +# the source archive will still get a useful value. +in putty do sed -i '/set(DEFAULT_COMMIT/s/unavailable/$(vcsfullid)/' cmake/gitcommit.cmake + +in . do mkdir docbuild +in docbuild do cmake ../putty/doc +in docbuild do make -j$(nproc) VERBOSE=1 +in putty/doc do cp ../../docbuild/*.1 . +in putty/doc do cp ../../docbuild/puttydoc.txt . +in putty/doc do cp ../../docbuild/putty.chm . +in putty/doc do cp -r ../../docbuild/html . in putty do ./mksrcarc.sh -in putty do ./mkunxarc.sh '$(Autoconfver)' '$(Uxarcsuffix)' $(Docmakever) -in putty do perl mkfiles.pl -in putty/doc do make $(Docmakever) putty.chm -j$(nproc) +in putty do ./mkunxarc.sh '$(Uxarcsuffix)' delegate - # Run the test suite, under self-delegation so that we don't leave any # cruft lying around. This involves doing a build of the Unix tools # (which is a useful double-check anyway to pick up any build failures) -in putty do ./mkauto.sh -in putty do ./configure CC=clang CFLAGS="-fsanitize=address -fsanitize=leak" -in putty do make -j$(nproc) +in putty do cmake . -DCMAKE_C_COMPILER=clang -DCMAKE_C_FLAGS="-fsanitize=address -fsanitize=leak" -DSTRICT=ON +in putty do make -j$(nproc) VERBOSE=1 in putty do python3 test/cryptsuite.py enddelegate +delegate - +# Also, test-build the Windows tools using MinGW. This is important if +# we want the MinGW build to carry on working, partly because of the +# chance of compiler compatibility issues, but mostly because MinGW's +# linker uses Unix-style library search semantics (once down the +# library list), and no other Windows toolchain we build with is that +# picky. So this ensures the Windows library structure continues to +# work in the most difficult circumstance we expect it to encounter. +in putty do cmake . -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mingw.cmake -DSTRICT=ON +in putty do make -j$(nproc) VERBOSE=1 +enddelegate + # Windowsify LICENCE, since it's going in the Windows installers. in putty do perl -i~ -pe 'y/\015//d;s/$$/\015/' LICENCE @@ -165,20 +172,30 @@ mkdir putty/windows/abuild64 # # For the 32-bit ones, we set a subsystem version of 5.01, which # allows the resulting files to still run on Windows XP. -in putty/windows with clangcl32 do Platform=x86 make -f Makefile.clangcl BUILDDIR=build32/ SUBSYSVER=,5.01 $(Makeargs) all -j$(nproc) -in putty/windows with clangcl64 do Platform=x64 make -f Makefile.clangcl BUILDDIR=build64/ $(Makeargs) all -j$(nproc) +in putty/windows/build32 with cmake_at_least_3.20 do cmake ../.. -DCMAKE_TOOLCHAIN_FILE=$(cmake_toolchain_clangcl32) -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DPUTTY_LINK_MAPS=ON -DCMAKE_C_FLAGS_RELEASE="/MT /O2" -DPUTTY_SUBSYSTEM_VERSION=5.01 -DSTRICT=ON +in putty/windows/build32 with cmake_at_least_3.20 do make -j$(nproc) VERBOSE=1 +in putty/windows/build64 with cmake_at_least_3.20 do cmake ../.. -DCMAKE_TOOLCHAIN_FILE=$(cmake_toolchain_clangcl64) -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DPUTTY_LINK_MAPS=ON -DCMAKE_C_FLAGS_RELEASE="/MT /O2" -DSTRICT=ON +in putty/windows/build64 with cmake_at_least_3.20 do make -j$(nproc) VERBOSE=1 + +# The cmake mechanism used to set the subsystem version is a bit of a +# bodge (it depends on knowing how cmake set up all its build command +# variables), so just in case it breaks in future, double-check we +# really did get the subsystem version we wanted. +in putty/windows/build32 do objdump -x putty.exe > exe-headers.txt +in putty/windows/build32 do grep -Ex 'MajorOSystemVersion[[:space:]]+5' exe-headers.txt +in putty/windows/build32 do grep -Ex 'MinorOSystemVersion[[:space:]]+1' exe-headers.txt +in putty/windows/build32 do grep -Ex 'MajorSubsystemVersion[[:space:]]+5' exe-headers.txt +in putty/windows/build32 do grep -Ex 'MinorSubsystemVersion[[:space:]]+1' exe-headers.txt # Build experimental Arm Windows binaries. -in putty/windows with clangcl_a32 do Platform=arm make -f Makefile.clangcl BUILDDIR=abuild32/ SUBSYSVER=,5.01 $(Makeargs) all -j$(nproc) -in putty/windows with clangcl_a64 do Platform=arm64 make -f Makefile.clangcl BUILDDIR=abuild64/ $(Makeargs) all -j$(nproc) +in putty/windows/abuild32 with cmake_at_least_3.20 do cmake ../.. -DCMAKE_TOOLCHAIN_FILE=$(cmake_toolchain_clangcl_a32) -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DPUTTY_LINK_MAPS=ON -DCMAKE_C_FLAGS_RELEASE="/MT /O2" -DSTRICT=ON +in putty/windows/abuild32 with cmake_at_least_3.20 do make -j$(nproc) VERBOSE=1 +in putty/windows/abuild64 with cmake_at_least_3.20 do cmake ../.. -DCMAKE_TOOLCHAIN_FILE=$(cmake_toolchain_clangcl_a64) -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DPUTTY_LINK_MAPS=ON -DCMAKE_C_FLAGS_RELEASE="/MT /O2" -DSTRICT=ON +in putty/windows/abuild64 with cmake_at_least_3.20 do make -j$(nproc) VERBOSE=1 -# Remove Windows binaries for the test programs we don't want to ship, -# like testcrypt.exe. (But we still _built_ them, to ensure the build -# worked.) -in putty/windows do make -f Makefile.clangcl BUILDDIR=build32/ cleantestprogs -in putty/windows do make -f Makefile.clangcl BUILDDIR=build64/ cleantestprogs -in putty/windows do make -f Makefile.clangcl BUILDDIR=abuild32/ cleantestprogs -in putty/windows do make -f Makefile.clangcl BUILDDIR=abuild64/ cleantestprogs +# Make a list of the Windows binaries we're going to ship, so that we +# can sign them. +in putty/windows do for subdir in build32 abuild32 build64 abuild64; do sed "s!^!$$subdir/!" $$subdir/shipped.txt; done > to-sign.txt # Code-sign the Windows binaries, if the local bob config provides a # script to do so in a cross-compiling way. We assume here that the @@ -187,17 +204,17 @@ in putty/windows do make -f Makefile.clangcl BUILDDIR=abuild64/ cleantestprogs # take the program name from an .exe's version resource, and that it # can accept multiple .exe or .msi filename arguments and sign them # all in place. -ifneq "$(cross_winsigncode)" "" in putty/windows do $(cross_winsigncode) -N -i https://www.chiark.greenend.org.uk/~sgtatham/putty/ build*/*.exe abuild*/*.exe +ifneq "$(cross_winsigncode)" "" in putty/windows do $(cross_winsigncode) -N -i https://www.chiark.greenend.org.uk/~sgtatham/putty/ $$(cat to-sign.txt) # Make a preliminary set of cryptographic checksums giving the hashes # of these versions of the binaries. We'll make the rest below. in putty do for hash in md5 sha1 sha256 sha512; do for dir_plat in "build32 w32" "build64 w64" "abuild32 wa32" "abuild64 wa64"; do set -- $$dir_plat; (cd windows/$$1 && $${hash}sum *.exe | sed 's!\( \+\)!\1'$$2'/!;s!$$! (installer version)!') >> $${hash}sums.installer; done; done # Build a WiX MSI installer, for each build flavour. -in putty/windows with wixonlinux do candle -arch x86 -dRealPlatform=x86 -dDllOk=yes -dBuilddir=build32/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installer32.msi -spdb -in putty/windows with wixonlinux do candle -arch x64 -dRealPlatform=x64 -dDllOk=yes -dBuilddir=build64/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installer64.msi -spdb -in putty/windows with wixonlinux do candle -arch x64 -dRealPlatform=Arm -dDllOk=no -dBuilddir=abuild32/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installera32.msi -spdb -in putty/windows with wixonlinux do candle -arch x64 -dRealPlatform=Arm64 -dDllOk=no -dBuilddir=abuild64/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installera64.msi -spdb +in putty/windows with wixonlinux do candle -arch x86 -dRealPlatform=x86 -dDllOk=yes -dBuilddir=build32/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" -dHelpFilePath="../../docbuild/putty.chm" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installer32.msi -spdb +in putty/windows with wixonlinux do candle -arch x64 -dRealPlatform=x64 -dDllOk=yes -dBuilddir=build64/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" -dHelpFilePath="../../docbuild/putty.chm" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installer64.msi -spdb +in putty/windows with wixonlinux do candle -arch x64 -dRealPlatform=Arm -dDllOk=no -dBuilddir=abuild32/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" -dHelpFilePath="../../docbuild/putty.chm" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installera32.msi -spdb +in putty/windows with wixonlinux do candle -arch x64 -dRealPlatform=Arm64 -dDllOk=no -dBuilddir=abuild64/ -dWinver="$(Winver)" -dPuttytextver="$(Puttytextver)" -dHelpFilePath="../../docbuild/putty.chm" installer.wxs && light -ext WixUIExtension -ext WixUtilExtension -sval installer.wixobj -o installera64.msi -spdb # Change the width field for our dialog background image so that it # doesn't stretch across the whole dialog. (WiX's default one does; we @@ -217,19 +234,16 @@ in putty/windows do ./msifixup.py installera64.msi --dialog-bmp-width=123 --plat # Sign the Windows installers. ifneq "$(cross_winsigncode)" "" in putty/windows do $(cross_winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/putty/ -n "PuTTY Installer" installer32.msi installer64.msi installera32.msi installera64.msi -# Delete the binaries and resource files from the build directories, -# so that we can rebuild them differently. -in putty/windows/build32 do rm -f *.exe *.res *.rcpp -in putty/windows/build64 do rm -f *.exe *.res *.rcpp -in putty/windows/abuild32 do rm -f *.exe *.res *.rcpp -in putty/windows/abuild64 do rm -f *.exe *.res *.rcpp - # Build the standalone binaries, in both 32- and 64-bit flavours. # These differ from the previous set in that they embed the help file. -in putty/windows with clangcl32 do Platform=x86 make -f Makefile.clangcl BUILDDIR=build32/ RCFL=-DEMBED_CHM SUBSYSVER=,5.01 $(Makeargs) all -j$(nproc) -in putty/windows with clangcl64 do Platform=x64 make -f Makefile.clangcl BUILDDIR=build64/ RCFL=-DEMBED_CHM $(Makeargs) all -j$(nproc) -in putty/windows with clangcl_a32 do Platform=arm make -f Makefile.clangcl BUILDDIR=abuild32/ RCFL=-DEMBED_CHM SUBSYSVER=,5.01 $(Makeargs) all -j$(nproc) -in putty/windows with clangcl_a64 do Platform=arm64 make -f Makefile.clangcl BUILDDIR=abuild64/ RCFL=-DEMBED_CHM $(Makeargs) all -j$(nproc) +in putty/windows/build32 with cmake_at_least_3.20 do cmake . -DPUTTY_EMBEDDED_CHM_FILE=$$(realpath ../../../docbuild/putty.chm) +in putty/windows/build32 with cmake_at_least_3.20 do make -j$(nproc) VERBOSE=1 +in putty/windows/build64 with cmake_at_least_3.20 do cmake . -DPUTTY_EMBEDDED_CHM_FILE=$$(realpath ../../../docbuild/putty.chm) +in putty/windows/build64 with cmake_at_least_3.20 do make -j$(nproc) VERBOSE=1 +in putty/windows/abuild32 with cmake_at_least_3.20 do cmake . -DPUTTY_EMBEDDED_CHM_FILE=$$(realpath ../../../docbuild/putty.chm) +in putty/windows/abuild32 with cmake_at_least_3.20 do make -j$(nproc) VERBOSE=1 +in putty/windows/abuild64 with cmake_at_least_3.20 do cmake . -DPUTTY_EMBEDDED_CHM_FILE=$$(realpath ../../../docbuild/putty.chm) +in putty/windows/abuild64 with cmake_at_least_3.20 do make -j$(nproc) VERBOSE=1 # Build the 'old' binaries, which should still run on all 32-bit # versions of Windows back to Win95 (but not Win32s). These link @@ -241,55 +255,56 @@ in putty/windows with clangcl_a64 do Platform=arm64 make -f Makefile.clangcl BUI # # There's no installer to go with these, so they must also embed the # help file. -in putty/windows with clangcl32_2003 do Platform=x86 make -f Makefile.clangcl BUILDDIR=buildold/ RCFL=-DEMBED_CHM $(Makeargs) CCTARGET=i386-pc-windows-msvc13.0.0 SUBSYSVER=,4.0 EXTRA_windows=wincrt0.obj EXTRA_console=crt0.obj EXTRA_libs=libcpmt.lib XFLAGS="/arch:IA32 -Wno-pragma-pack" all -j$(nproc) +in putty/windows/buildold with cmake_at_least_3.20 do cmake ../.. -DCMAKE_TOOLCHAIN_FILE=$(cmake_toolchain_clangcl32_2003) -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DPUTTY_LINK_MAPS=ON -DSTRICT=ON +in putty/windows/buildold with cmake_at_least_3.20 do make -j$(nproc) VERBOSE=1 -# Remove test programs again. -in putty/windows do make -f Makefile.clangcl BUILDDIR=build32/ cleantestprogs -in putty/windows do make -f Makefile.clangcl BUILDDIR=build64/ cleantestprogs -in putty/windows do make -f Makefile.clangcl BUILDDIR=abuild32/ cleantestprogs -in putty/windows do make -f Makefile.clangcl BUILDDIR=abuild64/ cleantestprogs -in putty/windows do make -f Makefile.clangcl BUILDDIR=buildold/ cleantestprogs +# Regenerate to-sign.txt with the 'old' binaries included. +in putty/windows do for subdir in build32 abuild32 build64 abuild64 buildold; do sed "s!^!$$subdir/!" $$subdir/shipped.txt; done > to-sign.txt # Code-sign the standalone versions of the binaries. -ifneq "$(cross_winsigncode)" "" in putty/windows do $(cross_winsigncode) -N -i https://www.chiark.greenend.org.uk/~sgtatham/putty/ build*/*.exe abuild*/*.exe +ifneq "$(cross_winsigncode)" "" in putty/windows do $(cross_winsigncode) -N -i https://www.chiark.greenend.org.uk/~sgtatham/putty/ $$(cat to-sign.txt) + +# Move the shipped (and signed) binaries into another directory to +# deliver them from, so that we omit testcrypt and its ilk. +in putty/windows do mkdir deliver +in putty/windows do for subdir in build32 abuild32 build64 abuild64 buildold; do mkdir deliver/$$subdir; done +in putty/windows do while read x; do mv $$x deliver/$$x; mv $$x.map deliver/$$x.map; done < to-sign.txt -in putty/doc do make mostlyclean -in putty/doc do make $(Docmakever) -j$(nproc) -in putty/windows/buildold do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../../doc/putty.chm -in putty/windows/build32 do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../../doc/putty.chm -in putty/windows/build64 do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../../doc/putty.chm -in putty/windows/abuild32 do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../../doc/putty.chm -in putty/windows/abuild64 do zip -k -j putty.zip `ls *.exe | grep -v puttytel` ../../doc/putty.chm -in putty/doc do zip puttydoc.zip *.html +in putty/windows/deliver/buildold do zip -k -j putty.zip `ls *.exe | grep -vxE '^(puttytel|pterm).exe'` ../../../docbuild/putty.chm +in putty/windows/deliver/build32 do zip -k -j putty.zip `ls *.exe | grep -vxE '^(puttytel|pterm).exe'` ../../../docbuild/putty.chm +in putty/windows/deliver/build64 do zip -k -j putty.zip `ls *.exe | grep -vxE '^(puttytel|pterm).exe'` ../../../docbuild/putty.chm +in putty/windows/deliver/abuild32 do zip -k -j putty.zip `ls *.exe | grep -vxE '^(puttytel|pterm).exe'` ../../../docbuild/putty.chm +in putty/windows/deliver/abuild64 do zip -k -j putty.zip `ls *.exe | grep -vxE '^(puttytel|pterm).exe'` ../../../docbuild/putty.chm +in docbuild/html do zip puttydoc.zip *.html # Deliver the actual PuTTY release directory into a subdir `putty'. -deliver putty/windows/buildold/*.exe putty/w32old/$@ -deliver putty/windows/buildold/putty.zip putty/w32old/$@ -deliver putty/windows/build32/*.exe putty/w32/$@ -deliver putty/windows/build32/putty.zip putty/w32/$@ -deliver putty/windows/build64/*.exe putty/w64/$@ -deliver putty/windows/build64/putty.zip putty/w64/$@ +deliver putty/windows/deliver/buildold/*.exe putty/w32old/$@ +deliver putty/windows/deliver/buildold/putty.zip putty/w32old/$@ +deliver putty/windows/deliver/build32/*.exe putty/w32/$@ +deliver putty/windows/deliver/build32/putty.zip putty/w32/$@ +deliver putty/windows/deliver/build64/*.exe putty/w64/$@ +deliver putty/windows/deliver/build64/putty.zip putty/w64/$@ deliver putty/windows/installer32.msi putty/w32/$(Ifilename32).msi deliver putty/windows/installer64.msi putty/w64/$(Ifilename64).msi deliver putty/windows/installera32.msi putty/wa32/$(Ifilenamea32).msi deliver putty/windows/installera64.msi putty/wa64/$(Ifilenamea64).msi -deliver putty/windows/abuild32/*.exe putty/wa32/$@ -deliver putty/windows/abuild32/putty.zip putty/wa32/$@ -deliver putty/windows/abuild64/*.exe putty/wa64/$@ -deliver putty/windows/abuild64/putty.zip putty/wa64/$@ -deliver putty/doc/puttydoc.zip putty/$@ -deliver putty/doc/putty.chm putty/$@ -deliver putty/doc/puttydoc.txt putty/$@ -deliver putty/doc/*.html putty/htmldoc/$@ +deliver putty/windows/deliver/abuild32/*.exe putty/wa32/$@ +deliver putty/windows/deliver/abuild32/putty.zip putty/wa32/$@ +deliver putty/windows/deliver/abuild64/*.exe putty/wa64/$@ +deliver putty/windows/deliver/abuild64/putty.zip putty/wa64/$@ +deliver docbuild/html/puttydoc.zip putty/$@ +deliver docbuild/putty.chm putty/$@ +deliver docbuild/puttydoc.txt putty/$@ +deliver docbuild/html/*.html putty/htmldoc/$@ deliver putty/putty-src.zip putty/$@ deliver putty/*.tar.gz putty/$@ # Deliver the map files alongside the `proper' release deliverables. -deliver putty/windows/buildold/*.map maps/w32old/$@ -deliver putty/windows/build32/*.map maps/w32/$@ -deliver putty/windows/build64/*.map maps/w64/$@ -deliver putty/windows/abuild32/*.map maps/wa32/$@ -deliver putty/windows/abuild64/*.map maps/wa64/$@ +deliver putty/windows/deliver/buildold/*.map maps/w32old/$@ +deliver putty/windows/deliver/build32/*.map maps/w32/$@ +deliver putty/windows/deliver/build64/*.map maps/w64/$@ +deliver putty/windows/deliver/abuild32/*.map maps/wa32/$@ +deliver putty/windows/deliver/abuild64/*.map maps/wa64/$@ # Deliver sign.sh, so that whoever has just built PuTTY (the # snapshot scripts or me, depending) can conveniently sign it with |