blob: fb142eae09279d338e2a50de2f8b5a3b3aca3576 [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\*.*
Martin Günther89be6522016-05-13 07:57:31 +020052
53:: -- DAP files
54XCOPY /Q /S /Y ..\..\CMSIS\DAP\*.* %RELEASE_PATH%\CMSIS\DAP\*.*
55
56:: -- Driver files
57XCOPY /Q /S /Y ..\..\CMSIS\Driver\*.* %RELEASE_PATH%\CMSIS\Driver\*.*
58
59:: -- DSP files
60XCOPY /Q /S /Y ..\..\CMSIS\DSP\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.*
61XCOPY /Q /S /Y ..\..\CMSIS\DSP\Source\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Source\*.*
Martin Günther10babd82016-06-14 14:10:36 +020062XCOPY /Q /S /Y ..\..\CMSIS\DSP\Projects\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Source\*.*
Martin Günther89be6522016-05-13 07:57:31 +020063XCOPY /Q /S /Y ..\..\CMSIS\DSP\Examples\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Examples\*.*
64
65:: -- DSP libraries
Martin Günther10babd82016-06-14 14:10:36 +020066XCOPY /Q /S /Y ..\..\CMSIS\Lib\ARM\*.lib %RELEASE_PATH%\CMSIS\Lib\ARM\*.*
67XCOPY /Q /S /Y ..\..\CMSIS\Lib\GCC\*.a %RELEASE_PATH%\CMSIS\Lib\GCC\*.*
Martin Günther89be6522016-05-13 07:57:31 +020068
69:: -- Pack files
Joachim Krech347ff5a2016-05-13 08:56:15 +020070XCOPY /Q /S /Y ..\..\CMSIS\Pack\Example\*.* %RELEASE_PATH%\CMSIS\Pack\Example\*.*
Martin Günther89be6522016-05-13 07:57:31 +020071XCOPY /Q /S /Y ..\..\CMSIS\Pack\Tutorials\*.* %RELEASE_PATH%\CMSIS\Pack\Tutorials\*.*
72
73:: -- RTOS files
74XCOPY /Q /S /Y ..\..\CMSIS\RTOS\Template\*.* %RELEASE_PATH%\CMSIS\RTOS\Template\*.*
75XCOPY /Q /S /Y ..\..\CMSIS\RTOS\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS\RTX\*.*
76
77:: -- RTOS2 files
Robert Rostohareefdc5a2016-07-05 07:25:38 +020078XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Include\*.* %RELEASE_PATH%\CMSIS\RTOS2\Include\*.*
Martin Günther89be6522016-05-13 07:57:31 +020079XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Template\*.* %RELEASE_PATH%\CMSIS\RTOS2\Template\*.*
Robert Rostohardab42a22016-07-01 23:23:16 +020080XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS2\RTX\*.*
Martin Günther89be6522016-05-13 07:57:31 +020081
82:: -- SVD files
83XCOPY /Q /S /Y ..\..\CMSIS\Utilities\ARM_Example.* %RELEASE_PATH%\CMSIS\SVD\*.*
84
85:: -- Utilities files
Martin Günther96143552016-09-28 13:30:22 +020086XCOPY /Q /S /Y ..\..\CMSIS\Utilities\CMSIS-SVD.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
87XCOPY /Q /S /Y ..\..\CMSIS\Utilities\PACK.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
Martin Günther96143552016-09-28 13:30:22 +020088XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Win32\*.* %RELEASE_PATH%\CMSIS\Utilities\Win32\*.*
89XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.4.4\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.4.4\*.*
90XCOPY /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 +020091
Joachim Krech347ff5a2016-05-13 08:56:15 +020092:: -- index file
Martin Günther96143552016-09-28 13:30:22 +020093REM COPY ..\..\CMSIS\index.html %RELEASE_PATH%\CMSIS\index.html
Martin Günther89be6522016-05-13 07:57:31 +020094
95:: Generate Documentation
96:: -- Generate doxygen files
97PUSHD ..\DoxyGen
98
99:: -- Delete previous generated HTML files
100ECHO.
101ECHO Delete previous generated HTML files
102
103PUSHD ..\Documentation
104FOR %%A IN (Core, DAP, Driver, DSP, General, Pack, RTOS, RTOS2, SVD) DO IF EXIST %%A (RMDIR /S /Q %%A)
105POPD
106
107:: -- Generate HTML Files
108ECHO.
109ECHO Generate HTML Files
110
111pushd Core
112doxygen core.dxy
113popd
114
115pushd DAP
116doxygen dap.dxy
117popd
118
119pushd Driver
120doxygen Driver.dxy
121popd
122
123pushd DSP
124doxygen dsp.dxy
125popd
126
127pushd General
128doxygen general.dxy
129popd
130
131pushd Pack
132doxygen Pack.dxy
133popd
134
135pushd RTOS
136doxygen rtos.dxy
137popd
138
139pushd RTOS2
140doxygen rtos.dxy
141popd
142
143pushd SVD
144doxygen svd.dxy
145popd
146
147:: -- Copy search style sheet
148ECHO.
149ECHO Copy search style sheets
150copy /Y Doxygen_Templates\search.css ..\Documentation\CORE\html\search\.
151copy /Y Doxygen_Templates\search.css ..\Documentation\Driver\html\search\.
152REM copy /Y Doxygen_Templates\search.css ..\Documentation\General\html\search\.
153copy /Y Doxygen_Templates\search.css ..\Documentation\Pack\html\search\.
154REM copy /Y Doxygen_Templates\search.css ..\Documentation\SVD\html\search\.
155copy /Y Doxygen_Templates\search.css ..\Documentation\DSP\html\search\.
156copy /Y Doxygen_Templates\search.css ..\Documentation\DAP\html\search\.
157
158ECHO.
159POPD
160
161:: -- Copy generated doxygen files
162XCOPY /Q /S /Y ..\Documentation\*.* %RELEASE_PATH%\CMSIS\Documentation\*.*
163
164:: -- Remove generated doxygen files
165PUSHD ..\Documentation
166FOR %%A IN (Core, DAP, Driver, DSP, General, Pack, RTOS, RTOS2, SVD) DO IF EXIST %%A (RMDIR /S /Q %%A)
167POPD
168
169
170:: Checking
Joachim Krechb3c26d92016-11-10 16:03:05 +0100171Win32\PackChk.exe %RELEASE_PATH%\ARM.CMSIS.pdsc -n %RELEASE_PATH%\PackName.txt -x M353 -x M364
Martin Günther89be6522016-05-13 07:57:31 +0200172
173:: --Check if PackChk.exe has completed successfully
174IF %errorlevel% neq 0 GOTO ErrPackChk
175
Martin Günther89be6522016-05-13 07:57:31 +0200176:: Packing
177PUSHD %RELEASE_PATH%
178
179:: -- Pipe Pack's Name into Variable
Joachim Krech347ff5a2016-05-13 08:56:15 +0200180SET /P PackName=<PackName.txt
181DEL /Q PackName.txt
Martin Günther89be6522016-05-13 07:57:31 +0200182
183:: Pack files
Joachim Krechc6316a62016-11-10 09:46:05 +0100184ECHO Creating pack file ...
1857z.exe a %PackName% -tzip > zip.log
186ECHO Packaging complete
Martin Günther89be6522016-05-13 07:57:31 +0200187POPD
188GOTO End
189
Martin Günther89be6522016-05-13 07:57:31 +0200190:ErrPackChk
191ECHO PackChk.exe has encountered an error!
192EXIT /b
193
194:End
Joachim Krechc6316a62016-11-10 09:46:05 +0100195ECHO Removing temporary files and folders
Martin Günther89be6522016-05-13 07:57:31 +0200196RMDIR /Q /S %RELEASE_PATH%\CMSIS
197RMDIR /Q /S %RELEASE_PATH%\Device
Joachim Krech7e3c7732016-11-07 17:16:31 +0100198DEL %RELEASE_PATH%\LICENSE.txt
Joachim Krechc6316a62016-11-10 09:46:05 +0100199DEL %RELEASE_PATH%\zip.log
Martin Günther89be6522016-05-13 07:57:31 +0200200
Joachim Krechc6316a62016-11-10 09:46:05 +0100201ECHO gen_pack.bat completed successfully