blob: 86ac0c64607bc800825173dd54542d24376aeaca [file] [log] [blame]
Martin Günther89be6522016-05-13 07:57:31 +02001:: Batch file for generating CMSIS pack
2:: This batch file uses:
Joachim Krech347ff5a2016-05-13 08:56:15 +02003:: 7-Zip for packaging
4:: Doxygen version 1.8.2 and Mscgen version 0.20 for generating html documentation.
5:: The generated pack and pdsc file are placed in folder %RELEASE_PATH% (../../Local_Release)
Martin Günther89be6522016-05-13 07:57:31 +02006@ECHO off
7
8SETLOCAL
9
10:: Tool path for zipping tool 7-Zip
11SET ZIPPATH=C:\Program Files\7-Zip
12
13:: Tool path for doxygen
14SET DOXYGENPATH=C:\Program Files\doxygen\bin
15
16:: Tool path for mscgen utility
17SET MSCGENPATH=C:\Program Files (x86)\Mscgen
18
19:: These settings should be passed on to subprocesses as well
20SET PATH=%ZIPPATH%;%DOXYGENPATH%;%MSCGENPATH%;%PATH%
21
22:: Pack Path (where generated pack is stored)
23SET RELEASE_PATH=..\..\Local_Release
24
Joachim Krech347ff5a2016-05-13 08:56:15 +020025:: !!!!!!!!!!!!!!!!!
26:: DO NOT EDIT BELOW
27:: !!!!!!!!!!!!!!!!!
Martin Günther89be6522016-05-13 07:57:31 +020028
29:: Remove previous build
30IF EXIST %RELEASE_PATH% (
31 ECHO removing %RELEASE_PATH%
32 RMDIR /Q /S %RELEASE_PATH%
33)
34
35:: Create build output directory
36MKDIR %RELEASE_PATH%
37
Joachim Krech347ff5a2016-05-13 08:56:15 +020038
Martin Günther89be6522016-05-13 07:57:31 +020039:: Copy PDSC file
40COPY ..\..\ARM.CMSIS.pdsc %RELEASE_PATH%\ARM.CMSIS.pdsc
41
Joachim Krech347ff5a2016-05-13 08:56:15 +020042:: Copy LICENSE file
Joachim Krech77988a22016-11-07 17:15:07 +010043COPY ..\..\LICENSE.txt %RELEASE_PATH%\LICENSE.txt
Joachim Krech347ff5a2016-05-13 08:56:15 +020044
Martin Günther89be6522016-05-13 07:57:31 +020045:: Copy Device folder
46XCOPY /Q /S /Y ..\..\Device\*.* %RELEASE_PATH%\Device\*.*
47
48:: Copy CMSIS folder
49:: -- Core files
50XCOPY /Q /S /Y ..\..\CMSIS\Core\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.*
Christopher Seidl2e8b8142016-10-25 16:29:05 +020051XCOPY /Q /S /Y ..\..\CMSIS\Core\Template\ARMv8-M\*.* %RELEASE_PATH%\CMSIS\Core\Template\ARMv8-M\*.*
brondanib6bdb2c2017-03-02 16:15:52 +010052XCOPY /Q /S /Y ..\..\CMSIS\Core_A\Include\*.* %RELEASE_PATH%\CMSIS\Core_A\Include\*.*
Martin Günther89be6522016-05-13 07:57:31 +020053
54:: -- DAP files
55XCOPY /Q /S /Y ..\..\CMSIS\DAP\*.* %RELEASE_PATH%\CMSIS\DAP\*.*
56
57:: -- Driver files
58XCOPY /Q /S /Y ..\..\CMSIS\Driver\*.* %RELEASE_PATH%\CMSIS\Driver\*.*
59
60:: -- DSP files
61XCOPY /Q /S /Y ..\..\CMSIS\DSP\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.*
62XCOPY /Q /S /Y ..\..\CMSIS\DSP\Source\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Source\*.*
Martin Günther10babd82016-06-14 14:10:36 +020063XCOPY /Q /S /Y ..\..\CMSIS\DSP\Projects\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Source\*.*
Martin Günther89be6522016-05-13 07:57:31 +020064XCOPY /Q /S /Y ..\..\CMSIS\DSP\Examples\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Examples\*.*
65
66:: -- DSP libraries
Martin Günther10babd82016-06-14 14:10:36 +020067XCOPY /Q /S /Y ..\..\CMSIS\Lib\ARM\*.lib %RELEASE_PATH%\CMSIS\Lib\ARM\*.*
68XCOPY /Q /S /Y ..\..\CMSIS\Lib\GCC\*.a %RELEASE_PATH%\CMSIS\Lib\GCC\*.*
Martin Günther89be6522016-05-13 07:57:31 +020069
70:: -- Pack files
Joachim Krech347ff5a2016-05-13 08:56:15 +020071XCOPY /Q /S /Y ..\..\CMSIS\Pack\Example\*.* %RELEASE_PATH%\CMSIS\Pack\Example\*.*
Martin Günther89be6522016-05-13 07:57:31 +020072XCOPY /Q /S /Y ..\..\CMSIS\Pack\Tutorials\*.* %RELEASE_PATH%\CMSIS\Pack\Tutorials\*.*
73
74:: -- RTOS files
75XCOPY /Q /S /Y ..\..\CMSIS\RTOS\Template\*.* %RELEASE_PATH%\CMSIS\RTOS\Template\*.*
76XCOPY /Q /S /Y ..\..\CMSIS\RTOS\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS\RTX\*.*
77
78:: -- RTOS2 files
Robert Rostohareefdc5a2016-07-05 07:25:38 +020079XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Include\*.* %RELEASE_PATH%\CMSIS\RTOS2\Include\*.*
Robert Rostohar04fa90a2017-06-09 13:22:27 +020080XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Source\*.* %RELEASE_PATH%\CMSIS\RTOS2\Source\*.*
Martin Günther89be6522016-05-13 07:57:31 +020081XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Template\*.* %RELEASE_PATH%\CMSIS\RTOS2\Template\*.*
Robert Rostohardab42a22016-07-01 23:23:16 +020082XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS2\RTX\*.*
Martin Günther89be6522016-05-13 07:57:31 +020083
84:: -- SVD files
85XCOPY /Q /S /Y ..\..\CMSIS\Utilities\ARM_Example.* %RELEASE_PATH%\CMSIS\SVD\*.*
86
87:: -- Utilities files
Martin Günther96143552016-09-28 13:30:22 +020088XCOPY /Q /S /Y ..\..\CMSIS\Utilities\CMSIS-SVD.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
89XCOPY /Q /S /Y ..\..\CMSIS\Utilities\PACK.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
Martin Günther96143552016-09-28 13:30:22 +020090XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Win32\*.* %RELEASE_PATH%\CMSIS\Utilities\Win32\*.*
91XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.4.4\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.4.4\*.*
92XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.8.3\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.8.3\*.*
Martin Günther89be6522016-05-13 07:57:31 +020093
Joachim Krech347ff5a2016-05-13 08:56:15 +020094:: -- index file
Martin Günther96143552016-09-28 13:30:22 +020095REM COPY ..\..\CMSIS\index.html %RELEASE_PATH%\CMSIS\index.html
Martin Günther89be6522016-05-13 07:57:31 +020096
97:: Generate Documentation
98:: -- Generate doxygen files
99PUSHD ..\DoxyGen
100
101:: -- Delete previous generated HTML files
102ECHO.
103ECHO Delete previous generated HTML files
104
105PUSHD ..\Documentation
Joachim Krecha92f9912017-03-10 17:08:23 +0100106FOR %%A IN (Core, Core_A, DAP, Driver, DSP, General, Pack, RTOS, RTOS2, SVD, Zone) DO IF EXIST %%A (RMDIR /S /Q %%A)
Martin Günther89be6522016-05-13 07:57:31 +0200107POPD
108
109:: -- Generate HTML Files
110ECHO.
111ECHO Generate HTML Files
112
113pushd Core
114doxygen core.dxy
115popd
116
Joachim Krecha92f9912017-03-10 17:08:23 +0100117pushd Core_A
118doxygen core_A.dxy
119popd
120
Martin Günther89be6522016-05-13 07:57:31 +0200121pushd DAP
122doxygen dap.dxy
123popd
124
125pushd Driver
126doxygen Driver.dxy
127popd
128
129pushd DSP
130doxygen dsp.dxy
131popd
132
133pushd General
134doxygen general.dxy
135popd
136
137pushd Pack
138doxygen Pack.dxy
139popd
140
141pushd RTOS
142doxygen rtos.dxy
143popd
144
145pushd RTOS2
146doxygen rtos.dxy
147popd
148
149pushd SVD
150doxygen svd.dxy
151popd
152
Joachim Krecha92f9912017-03-10 17:08:23 +0100153pushd Zone
154doxygen zone.dxy
155popd
156
Martin Günther89be6522016-05-13 07:57:31 +0200157:: -- Copy search style sheet
158ECHO.
159ECHO Copy search style sheets
160copy /Y Doxygen_Templates\search.css ..\Documentation\CORE\html\search\.
161copy /Y Doxygen_Templates\search.css ..\Documentation\Driver\html\search\.
162REM copy /Y Doxygen_Templates\search.css ..\Documentation\General\html\search\.
163copy /Y Doxygen_Templates\search.css ..\Documentation\Pack\html\search\.
164REM copy /Y Doxygen_Templates\search.css ..\Documentation\SVD\html\search\.
165copy /Y Doxygen_Templates\search.css ..\Documentation\DSP\html\search\.
166copy /Y Doxygen_Templates\search.css ..\Documentation\DAP\html\search\.
167
168ECHO.
169POPD
170
171:: -- Copy generated doxygen files
172XCOPY /Q /S /Y ..\Documentation\*.* %RELEASE_PATH%\CMSIS\Documentation\*.*
173
174:: -- Remove generated doxygen files
175PUSHD ..\Documentation
Joachim Krecha92f9912017-03-10 17:08:23 +0100176FOR %%A IN (Core, Core_A, DAP, Driver, DSP, General, Pack, RTOS, RTOS2, SVD, Zone) DO IF EXIST %%A (RMDIR /S /Q %%A)
Martin Günther89be6522016-05-13 07:57:31 +0200177POPD
178
179
180:: Checking
Joachim Krechb3c26d92016-11-10 16:03:05 +0100181Win32\PackChk.exe %RELEASE_PATH%\ARM.CMSIS.pdsc -n %RELEASE_PATH%\PackName.txt -x M353 -x M364
Martin Günther89be6522016-05-13 07:57:31 +0200182
183:: --Check if PackChk.exe has completed successfully
184IF %errorlevel% neq 0 GOTO ErrPackChk
185
Martin Günther89be6522016-05-13 07:57:31 +0200186:: Packing
187PUSHD %RELEASE_PATH%
188
189:: -- Pipe Pack's Name into Variable
Joachim Krech347ff5a2016-05-13 08:56:15 +0200190SET /P PackName=<PackName.txt
191DEL /Q PackName.txt
Martin Günther89be6522016-05-13 07:57:31 +0200192
193:: Pack files
Joachim Krechc6316a62016-11-10 09:46:05 +0100194ECHO Creating pack file ...
1957z.exe a %PackName% -tzip > zip.log
196ECHO Packaging complete
Martin Günther89be6522016-05-13 07:57:31 +0200197POPD
198GOTO End
199
Martin Günther89be6522016-05-13 07:57:31 +0200200:ErrPackChk
201ECHO PackChk.exe has encountered an error!
202EXIT /b
203
204:End
Joachim Krechc6316a62016-11-10 09:46:05 +0100205ECHO Removing temporary files and folders
Martin Günther89be6522016-05-13 07:57:31 +0200206RMDIR /Q /S %RELEASE_PATH%\CMSIS
207RMDIR /Q /S %RELEASE_PATH%\Device
Joachim Krech7e3c7732016-11-07 17:16:31 +0100208DEL %RELEASE_PATH%\LICENSE.txt
Joachim Krechc6316a62016-11-10 09:46:05 +0100209DEL %RELEASE_PATH%\zip.log
Martin Günther89be6522016-05-13 07:57:31 +0200210
Joachim Krechc6316a62016-11-10 09:46:05 +0100211ECHO gen_pack.bat completed successfully