annotate nt/zipdist.bat @ 109507:1277fe6717c9

New make target for Windows platform: make dist (bug#6602) * admin/admin.el: Write version number to nt/makefile.w32-in. * admin/nt/makedist.bat: Remove; replaced with `zipdist.bat' in the nt/ directory. * admin/nt/README.W32: Relocate to nt/ directory. * etc/NEWS: Document new --distfiles configure.bat option and `dist' make target on Windows. * nt/INSTALL: Document new dist target and add section about creating binary distributions. * nt/configure.bat: New parameter `--distfiles'. * nt/makefile.w32-in: Add version number, new target `dist'. Add new target `install-shortcuts'. * nt/zipdist.bat: New file; create zipped binary distribution, replaces admin/nt/makedist.bat.
author Juanma Barranquero <lekktu@gmail.com>
date Sat, 24 Jul 2010 15:35:31 +0200
parents
children 773951d3ff17
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109507
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
1 @echo off
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
2 rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
3 rem Free Software Foundation, Inc.
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
4
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
5 rem Author: Christoph Scholtes cschol2112 at gmail.com
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
6
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
7 rem This file is part of GNU Emacs.
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
8
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
9 rem GNU Emacs is free software: you can redistribute it and/or modify
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
10 rem it under the terms of the GNU General Public License as published by
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
11 rem the Free Software Foundation, either version 3 of the License, or
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
12 rem (at your option) any later version.
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
13
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
14 rem GNU Emacs is distributed in the hope that it will be useful,
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
15 rem but WITHOUT ANY WARRANTY; without even the implied warranty of
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
16 rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
17 rem GNU General Public License for more details.
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
18
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
19 rem You should have received a copy of the GNU General Public License
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
20 rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/.
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
21
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
22 SETLOCAL
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
23 rem arg 1: full path to Emacs root directory
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
24 set ARG_PATH="%~f1"
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
25 rem Path separator cannot be parsed correctly, substitute
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
26 set ARG_PATH=%ARG_PATH:\=;%
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
27
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
28 rem arg 2: Emacs version number
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
29 set EMACS_VER=%2
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
30
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
31 rem Parse out last directory from passed in full path (arg 1)
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
32 for /f "tokens=* delims=;" %%G in (%ARG_PATH%) do call :PARSE_PATH %%G
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
33 goto :EXIT
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
34
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
35 :PARSE_PATH
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
36 if "%1"=="" (
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
37 goto :ZIP_CHECK
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
38 )
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
39 set ROOT_DIR=%1
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
40 SHIFT
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
41 goto :PARSE_PATH
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
42
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
43 rem Check, if 7zip is installed and available on path
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
44 :ZIP_CHECK
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
45 7z
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
46 if %ERRORLEVEL% NEQ 0 goto :ZIP_ERROR
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
47 goto ZIP_DIST
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
48
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
49 :ZIP_ERROR
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
50 echo.
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
51 echo ERROR: Make sure 7zip is installed and available on the Windows Path!
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
52 goto EXIT
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
53
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
54 rem Build distributions
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
55 :ZIP_DIST
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
56 pushd ..\..
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
57 rem Build and verify full distribution
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
58 7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-bin-i386.zip %ROOT_DIR%/BUGS %ROOT_DIR%/COPYING %ROOT_DIR%/README %ROOT_DIR%/README.W32 %ROOT_DIR%/INSTALL %ROOT_DIR%/bin %ROOT_DIR%/etc %ROOT_DIR%/info %ROOT_DIR%/lisp %ROOT_DIR%/leim %ROOT_DIR%/site-lisp
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
59 7z t emacs-%EMACS_VER%-bin-i386.zip
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
60 rem Build and verify binary only distribution
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
61 7z a -bd -tZIP -mx=9 emacs-%EMACS_VER%-barebin-i386.zip %ROOT_DIR%/README.W32 %ROOT_DIR%/bin %ROOT_DIR%/etc/DOC-X %ROOT_DIR%/COPYING
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
62 7z t emacs-%EMACS_VER%-barebin-i386.zip
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
63 popd
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
64 goto EXIT
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
65
1277fe6717c9 New make target for Windows platform: make dist (bug#6602)
Juanma Barranquero <lekktu@gmail.com>
parents:
diff changeset
66 :EXIT