blob: 26cc813fe7768a0e2a63d258ca8b6a0541073990 [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\*.*
Martin Günther89be6522016-05-13 07:57:31 +020080XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Template\*.* %RELEASE_PATH%\CMSIS\RTOS2\Template\*.*
Robert Rostohardab42a22016-07-01 23:23:16 +020081XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS2\RTX\*.*
Martin Günther89be6522016-05-13 07:57:31 +020082
83:: -- SVD files
84XCOPY /Q /S /Y ..\..\CMSIS\Utilities\ARM_Example.* %RELEASE_PATH%\CMSIS\SVD\*.*
85
86:: -- Utilities files
Martin Günther96143552016-09-28 13:30:22 +020087XCOPY /Q /S /Y ..\..\CMSIS\Utilities\CMSIS-SVD.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
88XCOPY /Q /S /Y ..\..\CMSIS\Utilities\PACK.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
Martin Günther96143552016-09-28 13:30:22 +020089XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Win32\*.* %RELEASE_PATH%\CMSIS\Utilities\Win32\*.*
90XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.4.4\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.4.4\*.*
91XCOPY /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 +020092
Joachim Krech347ff5a2016-05-13 08:56:15 +020093:: -- index file
Martin Günther96143552016-09-28 13:30:22 +020094REM COPY ..\..\CMSIS\index.html %RELEASE_PATH%\CMSIS\index.html
Martin Günther89be6522016-05-13 07:57:31 +020095
96:: Generate Documentation
97:: -- Generate doxygen files
98PUSHD ..\DoxyGen
99
100:: -- Delete previous generated HTML files
101ECHO.
102ECHO Delete previous generated HTML files
103
104PUSHD ..\Documentation
Joachim Krecha92f9912017-03-10 17:08:23 +0100105FOR %%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 +0200106POPD
107
108:: -- Generate HTML Files
109ECHO.
110ECHO Generate HTML Files
111
112pushd Core
113doxygen core.dxy
114popd
115
Joachim Krecha92f9912017-03-10 17:08:23 +0100116pushd Core_A
117doxygen core_A.dxy
118popd
119
Martin Günther89be6522016-05-13 07:57:31 +0200120pushd DAP
121doxygen dap.dxy
122popd
123
124pushd Driver
125doxygen Driver.dxy
126popd
127
128pushd DSP
129doxygen dsp.dxy
130popd
131
132pushd General
133doxygen general.dxy
134popd
135
136pushd Pack
137doxygen Pack.dxy
138popd
139
140pushd RTOS
141doxygen rtos.dxy
142popd
143
144pushd RTOS2
145doxygen rtos.dxy
146popd
147
148pushd SVD
149doxygen svd.dxy
150popd
151
Joachim Krecha92f9912017-03-10 17:08:23 +0100152pushd Zone
153doxygen zone.dxy
154popd
155
Martin Günther89be6522016-05-13 07:57:31 +0200156:: -- Copy search style sheet
157ECHO.
158ECHO Copy search style sheets
159copy /Y Doxygen_Templates\search.css ..\Documentation\CORE\html\search\.
160copy /Y Doxygen_Templates\search.css ..\Documentation\Driver\html\search\.
161REM copy /Y Doxygen_Templates\search.css ..\Documentation\General\html\search\.
162copy /Y Doxygen_Templates\search.css ..\Documentation\Pack\html\search\.
163REM copy /Y Doxygen_Templates\search.css ..\Documentation\SVD\html\search\.
164copy /Y Doxygen_Templates\search.css ..\Documentation\DSP\html\search\.
165copy /Y Doxygen_Templates\search.css ..\Documentation\DAP\html\search\.
166
167ECHO.
168POPD
169
170:: -- Copy generated doxygen files
171XCOPY /Q /S /Y ..\Documentation\*.* %RELEASE_PATH%\CMSIS\Documentation\*.*
172
173:: -- Remove generated doxygen files
174PUSHD ..\Documentation
Joachim Krecha92f9912017-03-10 17:08:23 +0100175FOR %%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 +0200176POPD
177
178
179:: Checking
Joachim Krechb3c26d92016-11-10 16:03:05 +0100180Win32\PackChk.exe %RELEASE_PATH%\ARM.CMSIS.pdsc -n %RELEASE_PATH%\PackName.txt -x M353 -x M364
Martin Günther89be6522016-05-13 07:57:31 +0200181
182:: --Check if PackChk.exe has completed successfully
183IF %errorlevel% neq 0 GOTO ErrPackChk
184
Martin Günther89be6522016-05-13 07:57:31 +0200185:: Packing
186PUSHD %RELEASE_PATH%
187
188:: -- Pipe Pack's Name into Variable
Joachim Krech347ff5a2016-05-13 08:56:15 +0200189SET /P PackName=<PackName.txt
190DEL /Q PackName.txt
Martin Günther89be6522016-05-13 07:57:31 +0200191
192:: Pack files
Joachim Krechc6316a62016-11-10 09:46:05 +0100193ECHO Creating pack file ...
1947z.exe a %PackName% -tzip > zip.log
195ECHO Packaging complete
Martin Günther89be6522016-05-13 07:57:31 +0200196POPD
197GOTO End
198
Martin Günther89be6522016-05-13 07:57:31 +0200199:ErrPackChk
200ECHO PackChk.exe has encountered an error!
201EXIT /b
202
203:End
Joachim Krechc6316a62016-11-10 09:46:05 +0100204ECHO Removing temporary files and folders
Martin Günther89be6522016-05-13 07:57:31 +0200205RMDIR /Q /S %RELEASE_PATH%\CMSIS
206RMDIR /Q /S %RELEASE_PATH%\Device
Joachim Krech7e3c7732016-11-07 17:16:31 +0100207DEL %RELEASE_PATH%\LICENSE.txt
Joachim Krechc6316a62016-11-10 09:46:05 +0100208DEL %RELEASE_PATH%\zip.log
Martin Günther89be6522016-05-13 07:57:31 +0200209
Joachim Krechc6316a62016-11-10 09:46:05 +0100210ECHO gen_pack.bat completed successfully