New make target for Windows platform: make dist (bug#6602)
[bpt/emacs.git] / nt / zipdist.bat
1 @echo off
2 rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
3 rem Free Software Foundation, Inc.
4
5 rem Author: Christoph Scholtes cschol2112 at gmail.com
6
7 rem This file is part of GNU Emacs.
8
9 rem GNU Emacs is free software: you can redistribute it and/or modify
10 rem it under the terms of the GNU General Public License as published by
11 rem the Free Software Foundation, either version 3 of the License, or
12 rem (at your option) any later version.
13
14 rem GNU Emacs is distributed in the hope that it will be useful,
15 rem but WITHOUT ANY WARRANTY; without even the implied warranty of
16 rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 rem GNU General Public License for more details.
18
19 rem You should have received a copy of the GNU General Public License
20 rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/.
21
22 SETLOCAL
23 rem arg 1: full path to Emacs root directory
24 set ARG_PATH="%~f1"
25 rem Path separator cannot be parsed correctly, substitute
26 set ARG_PATH=%ARG_PATH:\=;%
27
28 rem arg 2: Emacs version number
29 set EMACS_VER=%2
30
31 rem Parse out last directory from passed in full path (arg 1)
32 for /f "tokens=* delims=;" %%G in (%ARG_PATH%) do call :PARSE_PATH %%G
33 goto :EXIT
34
35 :PARSE_PATH
36 if "%1"=="" (
37 goto :ZIP_CHECK
38 )
39 set ROOT_DIR=%1
40 SHIFT
41 goto :PARSE_PATH
42
43 rem Check, if 7zip is installed and available on path
44 :ZIP_CHECK
45 7z
46 if %ERRORLEVEL% NEQ 0 goto :ZIP_ERROR
47 goto ZIP_DIST
48
49 :ZIP_ERROR
50 echo.
51 echo ERROR: Make sure 7zip is installed and available on the Windows Path!
52 goto EXIT
53
54 rem Build distributions
55 :ZIP_DIST
56 pushd ..\..
57 rem Build and verify full distribution
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
59 7z t emacs-%EMACS_VER%-bin-i386.zip
60 rem Build and verify binary only distribution
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
62 7z t emacs-%EMACS_VER%-barebin-i386.zip
63 popd
64 goto EXIT
65
66 :EXIT