blob: 41854dc5b7becb18fd24dca8df30d7e2f7a65278 [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
Jonatan Antoniba9cdf32018-06-29 15:22:59 +020050XCOPY /Q /S /Y ..\..\CMSIS\Core\Include\*.* %RELEASE_PATH%\CMSIS\Core\Include\*.*
Martin Günther89be6522016-05-13 07:57:31 +020051XCOPY /Q /S /Y ..\..\CMSIS\Core\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.*
Christopher Seidl2e8b8142016-10-25 16:29:05 +020052XCOPY /Q /S /Y ..\..\CMSIS\Core\Template\ARMv8-M\*.* %RELEASE_PATH%\CMSIS\Core\Template\ARMv8-M\*.*
brondanib6bdb2c2017-03-02 16:15:52 +010053XCOPY /Q /S /Y ..\..\CMSIS\Core_A\Include\*.* %RELEASE_PATH%\CMSIS\Core_A\Include\*.*
Vladimir Umek4df83f82017-07-03 09:36:49 +020054XCOPY /Q /S /Y ..\..\CMSIS\Core_A\Source\*.* %RELEASE_PATH%\CMSIS\Core_A\Source\*.*
Martin Günther89be6522016-05-13 07:57:31 +020055
56:: -- DAP files
57XCOPY /Q /S /Y ..\..\CMSIS\DAP\*.* %RELEASE_PATH%\CMSIS\DAP\*.*
58
59:: -- Driver files
60XCOPY /Q /S /Y ..\..\CMSIS\Driver\*.* %RELEASE_PATH%\CMSIS\Driver\*.*
61
62:: -- DSP files
Jonatan Antoniba9cdf32018-06-29 15:22:59 +020063XCOPY /Q /S /Y ..\..\CMSIS\DSP\Include\*.* %RELEASE_PATH%\CMSIS\DSP\Include\*.*
64XCOPY /Q /S /Y ..\..\CMSIS\DSP\Source\*.* %RELEASE_PATH%\CMSIS\DSP\Source\*.*
65XCOPY /Q /S /Y ..\..\CMSIS\DSP\Projects\*.* %RELEASE_PATH%\CMSIS\DSP\Source\*.*
66XCOPY /Q /S /Y ..\..\CMSIS\DSP\Examples\*.* %RELEASE_PATH%\CMSIS\DSP\Examples\*.*
Martin Günther89be6522016-05-13 07:57:31 +020067XCOPY /Q /S /Y ..\..\CMSIS\DSP\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.*
68XCOPY /Q /S /Y ..\..\CMSIS\DSP\Source\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Source\*.*
Martin Günther10babd82016-06-14 14:10:36 +020069XCOPY /Q /S /Y ..\..\CMSIS\DSP\Projects\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Source\*.*
Martin Günther89be6522016-05-13 07:57:31 +020070XCOPY /Q /S /Y ..\..\CMSIS\DSP\Examples\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Examples\*.*
71
72:: -- DSP libraries
Martin Günther10babd82016-06-14 14:10:36 +020073XCOPY /Q /S /Y ..\..\CMSIS\Lib\ARM\*.lib %RELEASE_PATH%\CMSIS\Lib\ARM\*.*
74XCOPY /Q /S /Y ..\..\CMSIS\Lib\GCC\*.a %RELEASE_PATH%\CMSIS\Lib\GCC\*.*
TTornblom3ff89062018-03-08 11:32:29 +010075XCOPY /Q /S /Y ..\..\CMSIS\Lib\IAR\*.a %RELEASE_PATH%\CMSIS\Lib\IAR\*.*
Martin Günther89be6522016-05-13 07:57:31 +020076
Jonatan Antonia67f5552018-01-18 15:22:46 +010077:: -- NN files
78XCOPY /Q /S /Y ..\..\CMSIS\NN\*.* %RELEASE_PATH%\CMSIS\NN\*.*
79
Martin Günther89be6522016-05-13 07:57:31 +020080:: -- Pack files
Joachim Krech347ff5a2016-05-13 08:56:15 +020081XCOPY /Q /S /Y ..\..\CMSIS\Pack\Example\*.* %RELEASE_PATH%\CMSIS\Pack\Example\*.*
Martin Günther89be6522016-05-13 07:57:31 +020082XCOPY /Q /S /Y ..\..\CMSIS\Pack\Tutorials\*.* %RELEASE_PATH%\CMSIS\Pack\Tutorials\*.*
83
84:: -- RTOS files
85XCOPY /Q /S /Y ..\..\CMSIS\RTOS\Template\*.* %RELEASE_PATH%\CMSIS\RTOS\Template\*.*
86XCOPY /Q /S /Y ..\..\CMSIS\RTOS\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS\RTX\*.*
87
88:: -- RTOS2 files
Robert Rostohareefdc5a2016-07-05 07:25:38 +020089XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Include\*.* %RELEASE_PATH%\CMSIS\RTOS2\Include\*.*
Robert Rostohar04fa90a2017-06-09 13:22:27 +020090XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Source\*.* %RELEASE_PATH%\CMSIS\RTOS2\Source\*.*
Martin Günther89be6522016-05-13 07:57:31 +020091XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Template\*.* %RELEASE_PATH%\CMSIS\RTOS2\Template\*.*
Robert Rostohardab42a22016-07-01 23:23:16 +020092XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS2\RTX\*.*
Martin Günther89be6522016-05-13 07:57:31 +020093
94:: -- SVD files
95XCOPY /Q /S /Y ..\..\CMSIS\Utilities\ARM_Example.* %RELEASE_PATH%\CMSIS\SVD\*.*
96
97:: -- Utilities files
Martin Günther96143552016-09-28 13:30:22 +020098XCOPY /Q /S /Y ..\..\CMSIS\Utilities\CMSIS-SVD.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
99XCOPY /Q /S /Y ..\..\CMSIS\Utilities\PACK.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
Joachim Krechc97ec682018-03-06 12:17:28 +0100100XCOPY /Q /S /Y ..\..\CMSIS\Utilities\PackIndex.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
101
Martin Günther96143552016-09-28 13:30:22 +0200102XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Win32\*.* %RELEASE_PATH%\CMSIS\Utilities\Win32\*.*
103XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.4.4\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.4.4\*.*
104XCOPY /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 +0200105
Joachim Krech347ff5a2016-05-13 08:56:15 +0200106:: -- index file
Martin Günther96143552016-09-28 13:30:22 +0200107REM COPY ..\..\CMSIS\index.html %RELEASE_PATH%\CMSIS\index.html
Martin Günther89be6522016-05-13 07:57:31 +0200108
109:: Generate Documentation
110:: -- Generate doxygen files
111PUSHD ..\DoxyGen
112
113:: -- Delete previous generated HTML files
114ECHO.
115ECHO Delete previous generated HTML files
116
117PUSHD ..\Documentation
Joachim Krecha92f9912017-03-10 17:08:23 +0100118FOR %%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 +0200119POPD
120
121:: -- Generate HTML Files
122ECHO.
123ECHO Generate HTML Files
124
125pushd Core
126doxygen core.dxy
127popd
128
Joachim Krecha92f9912017-03-10 17:08:23 +0100129pushd Core_A
130doxygen core_A.dxy
131popd
132
Martin Günther89be6522016-05-13 07:57:31 +0200133pushd DAP
134doxygen dap.dxy
135popd
136
137pushd Driver
138doxygen Driver.dxy
139popd
140
141pushd DSP
142doxygen dsp.dxy
143popd
144
145pushd General
146doxygen general.dxy
147popd
148
Jonatan Antonia67f5552018-01-18 15:22:46 +0100149pushd NN
150doxygen nn.dxy
151popd
152
Martin Günther89be6522016-05-13 07:57:31 +0200153pushd Pack
154doxygen Pack.dxy
155popd
156
157pushd RTOS
158doxygen rtos.dxy
159popd
160
161pushd RTOS2
162doxygen rtos.dxy
163popd
164
165pushd SVD
166doxygen svd.dxy
167popd
168
Joachim Krecha92f9912017-03-10 17:08:23 +0100169pushd Zone
170doxygen zone.dxy
171popd
172
Martin Günther89be6522016-05-13 07:57:31 +0200173:: -- Copy search style sheet
174ECHO.
175ECHO Copy search style sheets
176copy /Y Doxygen_Templates\search.css ..\Documentation\CORE\html\search\.
177copy /Y Doxygen_Templates\search.css ..\Documentation\Driver\html\search\.
178REM copy /Y Doxygen_Templates\search.css ..\Documentation\General\html\search\.
179copy /Y Doxygen_Templates\search.css ..\Documentation\Pack\html\search\.
180REM copy /Y Doxygen_Templates\search.css ..\Documentation\SVD\html\search\.
181copy /Y Doxygen_Templates\search.css ..\Documentation\DSP\html\search\.
182copy /Y Doxygen_Templates\search.css ..\Documentation\DAP\html\search\.
Jonatan Antonia67f5552018-01-18 15:22:46 +0100183copy /Y Doxygen_Templates\search.css ..\Documentation\NN\html\search\.
Jonatan Antoni661ead82018-02-22 10:12:48 +0100184xcopy /E /I /Q /Y Zone\genmodel ..\Documentation\Zone\genmodel
185
Martin Günther89be6522016-05-13 07:57:31 +0200186ECHO.
187POPD
188
189:: -- Copy generated doxygen files
190XCOPY /Q /S /Y ..\Documentation\*.* %RELEASE_PATH%\CMSIS\Documentation\*.*
191
192:: -- Remove generated doxygen files
193PUSHD ..\Documentation
Jonatan Antonia67f5552018-01-18 15:22:46 +0100194FOR %%A IN (Core, Core_A, DAP, Driver, DSP, General, NN, Pack, RTOS, RTOS2, SVD, Zone) DO IF EXIST %%A (RMDIR /S /Q %%A)
Martin Günther89be6522016-05-13 07:57:31 +0200195POPD
196
197
198:: Checking
Joachim Krechb3c26d92016-11-10 16:03:05 +0100199Win32\PackChk.exe %RELEASE_PATH%\ARM.CMSIS.pdsc -n %RELEASE_PATH%\PackName.txt -x M353 -x M364
Martin Günther89be6522016-05-13 07:57:31 +0200200
201:: --Check if PackChk.exe has completed successfully
202IF %errorlevel% neq 0 GOTO ErrPackChk
203
Martin Günther89be6522016-05-13 07:57:31 +0200204:: Packing
205PUSHD %RELEASE_PATH%
206
207:: -- Pipe Pack's Name into Variable
Joachim Krech347ff5a2016-05-13 08:56:15 +0200208SET /P PackName=<PackName.txt
209DEL /Q PackName.txt
Martin Günther89be6522016-05-13 07:57:31 +0200210
211:: Pack files
Joachim Krechc6316a62016-11-10 09:46:05 +0100212ECHO Creating pack file ...
2137z.exe a %PackName% -tzip > zip.log
214ECHO Packaging complete
Martin Günther89be6522016-05-13 07:57:31 +0200215POPD
216GOTO End
217
Martin Günther89be6522016-05-13 07:57:31 +0200218:ErrPackChk
219ECHO PackChk.exe has encountered an error!
220EXIT /b
221
222:End
Joachim Krechc6316a62016-11-10 09:46:05 +0100223ECHO Removing temporary files and folders
Martin Günther89be6522016-05-13 07:57:31 +0200224RMDIR /Q /S %RELEASE_PATH%\CMSIS
225RMDIR /Q /S %RELEASE_PATH%\Device
Joachim Krech7e3c7732016-11-07 17:16:31 +0100226DEL %RELEASE_PATH%\LICENSE.txt
Joachim Krechc6316a62016-11-10 09:46:05 +0100227DEL %RELEASE_PATH%\zip.log
Martin Günther89be6522016-05-13 07:57:31 +0200228
Joachim Krechc6316a62016-11-10 09:46:05 +0100229ECHO gen_pack.bat completed successfully