[bcbb26]: Makefile.release Maximize Restore History

Download this file

Makefile.release    113 lines (92 with data), 3.4 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
# This makefile automates the build of releases for sourceforge
# The RELEASENAME should be changed per release
# The RELEASEDIR should be set to whatever works for you.
#
# 'make -f Makefile.release' or 'make -f Makefile.release release'
# will build both binary and source zipfiles.
# bin-release or src-release will build only what their names imply.
#
# Oh, this works with GNU make under Cygwin. YMMV on other makes...
RELEASENAME = 3.10.1
RELEASEDIR = "/cygdrive/c/local/src/PasswordSafe/Releases"
# Shouldn't need to change anything below this line
BINRELNAME = pwsafe-$(RELEASENAME)-bin
SRCRELNAME = pwsafe-$(RELEASENAME)-src
RM = /usr/bin/rm
CP = /usr/bin/cp
MV = /usr/bin/mv
SED = /usr/bin/sed
ZIP = /usr/bin/zip
SVN = /usr/local/bin/svn
GPG = /usr/local/bin/gpg
GPG_KEY = ronys@users.sourceforge.net
GPG_SIGN = $(GPG) --detach-sign --default-key $(GPG_KEY)
MD5SUM = /usr/bin/md5sum
SHA1SUM = /usr/bin/sha1sum
FTP_PUT = /usr/local/bin/ncftpput -v upload.sourceforge.net incoming
PYTHON = /usr/bin/python
SVN2LOG = ../../python/svn2log.py
MAKENSIS = /cygdrive/c/local/NSIS/makensis.exe
WIXDIR = /cygdrive/c/local/WIX/bin
CANDLE = $(WIXDIR)/candle.exe
LIGHT = $(WIXDIR)/light.exe
BIN_MANIFEST = README.txt docs/ReleaseNotes.txt LICENSE \
xml/pwsafe.xsd xml/pwsafe.xsl \
docs/ChangeLog.txt bin/win32/release/pwsafe.exe help/default/pwsafe.chm
.PHONY: all release bin-release src-release installables signatures \
upload md5sums sha1sums msi nsis
all: release installables signatures sha1sums
upload:
(cd $(RELEASEDIR); \
$(FTP_PUT) pwsafe-$(RELEASENAME).exe \
$(BINRELNAME).zip $(SRCRELNAME).zip \
pwsafe-$(RELEASENAME).msi \
pwsafe-$(RELEASENAME).msi.sig \
pwsafe-$(RELEASENAME).exe.sig \
$(BINRELNAME).zip.sig $(SRCRELNAME).zip.sig)
md5sums:
(cd $(RELEASEDIR); \
$(MD5SUM) pwsafe-$(RELEASENAME).exe \
pwsafe-$(RELEASENAME).msi \
$(BINRELNAME).zip $(SRCRELNAME).zip)
sha1sums:
(cd $(RELEASEDIR); \
$(SHA1SUM) pwsafe-$(RELEASENAME).exe \
pwsafe-$(RELEASENAME).msi \
$(BINRELNAME).zip $(SRCRELNAME).zip)
signatures:
$(GPG_SIGN) $(RELEASEDIR)/pwsafe-$(RELEASENAME).exe
$(GPG_SIGN) $(RELEASEDIR)/pwsafe-$(RELEASENAME).msi
$(GPG_SIGN) $(RELEASEDIR)/$(BINRELNAME).zip
$(GPG_SIGN) $(RELEASEDIR)/$(SRCRELNAME).zip
installables: nsis msi
nsis:
$(MAKENSIS) /DVERSION=$(RELEASENAME) install/pwsafe.nsi
$(MV) install/pwsafe-$(RELEASENAME).exe $(RELEASEDIR)
msi:
$(SED) 's/PWSAFE_VERSION/$(RELEASENAME)/' \
< install/pwsafe-template.wxs > install/pwsafe.wxs
$(CANDLE) install/pwsafe.wxs
$(LIGHT) -ext WixUIExtension -cultures:en-us pwsafe.wixobj \
-out pwsafe.msi
$(RM) pwsafe.wixobj
$(MV) pwsafe.msi $(RELEASEDIR)/pwsafe-$(RELEASENAME).msi
release: bin-release src-release
bin-release:
@-mkdir $(RELEASEDIR)/$(BINRELNAME)
$(CP) $(BIN_MANIFEST) $(RELEASEDIR)/$(BINRELNAME)
(cd $(RELEASEDIR); $(ZIP) -9 -r foo ./$(BINRELNAME); \
$(MV) foo.zip $(BINRELNAME).zip)
@$(RM) -rf $(RELEASEDIR)/$(BINRELNAME)
src-release: ChangeLog
$(SVN) export --non-interactive . $(RELEASEDIR)/$(SRCRELNAME)
$(MV) ChangeLog $(RELEASEDIR)/$(SRCRELNAME)
$(CP) version.h $(RELEASEDIR)/$(SRCRELNAME)
(cd $(RELEASEDIR); $(ZIP) -9 -r bar ./$(SRCRELNAME); \
$(MV) bar.zip $(SRCRELNAME).zip)
@$(RM) -rf $(RELEASEDIR)/$(SRCRELNAME)
ChangeLog:
$(SVN) log -v --xml | $(PYTHON) $(SVN2LOG) -L -H -s -O
# Local variables:
# mode: Makefile
# End: