Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 1 | :: Batch file for generating CMSIS pack |
| 2 | :: This batch file uses: |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 3 | :: 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ünther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 6 | @ECHO off |
| 7 | |
| 8 | SETLOCAL |
| 9 | |
| 10 | :: Tool path for zipping tool 7-Zip |
| 11 | SET ZIPPATH=C:\Program Files\7-Zip |
| 12 | |
| 13 | :: Tool path for doxygen |
| 14 | SET DOXYGENPATH=C:\Program Files\doxygen\bin |
| 15 | |
| 16 | :: Tool path for mscgen utility |
| 17 | SET MSCGENPATH=C:\Program Files (x86)\Mscgen |
| 18 | |
| 19 | :: These settings should be passed on to subprocesses as well |
| 20 | SET PATH=%ZIPPATH%;%DOXYGENPATH%;%MSCGENPATH%;%PATH% |
| 21 | |
| 22 | :: Pack Path (where generated pack is stored) |
| 23 | SET RELEASE_PATH=..\..\Local_Release |
| 24 | |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 25 | :: !!!!!!!!!!!!!!!!! |
| 26 | :: DO NOT EDIT BELOW |
| 27 | :: !!!!!!!!!!!!!!!!! |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 28 | |
| 29 | :: Remove previous build |
| 30 | IF EXIST %RELEASE_PATH% ( |
| 31 | ECHO removing %RELEASE_PATH% |
| 32 | RMDIR /Q /S %RELEASE_PATH% |
| 33 | ) |
| 34 | |
| 35 | :: Create build output directory |
| 36 | MKDIR %RELEASE_PATH% |
| 37 | |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 38 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 39 | :: Copy PDSC file |
| 40 | COPY ..\..\ARM.CMSIS.pdsc %RELEASE_PATH%\ARM.CMSIS.pdsc |
| 41 | |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 42 | :: Copy LICENSE file |
Joachim Krech | 77988a2 | 2016-11-07 17:15:07 +0100 | [diff] [blame] | 43 | COPY ..\..\LICENSE.txt %RELEASE_PATH%\LICENSE.txt |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 44 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 45 | :: Copy Device folder |
| 46 | XCOPY /Q /S /Y ..\..\Device\*.* %RELEASE_PATH%\Device\*.* |
| 47 | |
| 48 | :: Copy CMSIS folder |
| 49 | :: -- Core files |
| 50 | XCOPY /Q /S /Y ..\..\CMSIS\Core\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.* |
Christopher Seidl | 2e8b814 | 2016-10-25 16:29:05 +0200 | [diff] [blame] | 51 | XCOPY /Q /S /Y ..\..\CMSIS\Core\Template\ARMv8-M\*.* %RELEASE_PATH%\CMSIS\Core\Template\ARMv8-M\*.* |
brondani | b6bdb2c | 2017-03-02 16:15:52 +0100 | [diff] [blame] | 52 | XCOPY /Q /S /Y ..\..\CMSIS\Core_A\Include\*.* %RELEASE_PATH%\CMSIS\Core_A\Include\*.* |
Vladimir Umek | 4df83f8 | 2017-07-03 09:36:49 +0200 | [diff] [blame^] | 53 | XCOPY /Q /S /Y ..\..\CMSIS\Core_A\Source\*.* %RELEASE_PATH%\CMSIS\Core_A\Source\*.* |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 54 | |
| 55 | :: -- DAP files |
| 56 | XCOPY /Q /S /Y ..\..\CMSIS\DAP\*.* %RELEASE_PATH%\CMSIS\DAP\*.* |
| 57 | |
| 58 | :: -- Driver files |
| 59 | XCOPY /Q /S /Y ..\..\CMSIS\Driver\*.* %RELEASE_PATH%\CMSIS\Driver\*.* |
| 60 | |
| 61 | :: -- DSP files |
| 62 | XCOPY /Q /S /Y ..\..\CMSIS\DSP\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.* |
| 63 | XCOPY /Q /S /Y ..\..\CMSIS\DSP\Source\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Source\*.* |
Martin Günther | 10babd8 | 2016-06-14 14:10:36 +0200 | [diff] [blame] | 64 | XCOPY /Q /S /Y ..\..\CMSIS\DSP\Projects\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Source\*.* |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 65 | XCOPY /Q /S /Y ..\..\CMSIS\DSP\Examples\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Examples\*.* |
| 66 | |
| 67 | :: -- DSP libraries |
Martin Günther | 10babd8 | 2016-06-14 14:10:36 +0200 | [diff] [blame] | 68 | XCOPY /Q /S /Y ..\..\CMSIS\Lib\ARM\*.lib %RELEASE_PATH%\CMSIS\Lib\ARM\*.* |
| 69 | XCOPY /Q /S /Y ..\..\CMSIS\Lib\GCC\*.a %RELEASE_PATH%\CMSIS\Lib\GCC\*.* |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 70 | |
| 71 | :: -- Pack files |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 72 | XCOPY /Q /S /Y ..\..\CMSIS\Pack\Example\*.* %RELEASE_PATH%\CMSIS\Pack\Example\*.* |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 73 | XCOPY /Q /S /Y ..\..\CMSIS\Pack\Tutorials\*.* %RELEASE_PATH%\CMSIS\Pack\Tutorials\*.* |
| 74 | |
| 75 | :: -- RTOS files |
| 76 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS\Template\*.* %RELEASE_PATH%\CMSIS\RTOS\Template\*.* |
| 77 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS\RTX\*.* |
| 78 | |
| 79 | :: -- RTOS2 files |
Robert Rostohar | eefdc5a | 2016-07-05 07:25:38 +0200 | [diff] [blame] | 80 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Include\*.* %RELEASE_PATH%\CMSIS\RTOS2\Include\*.* |
Robert Rostohar | 04fa90a | 2017-06-09 13:22:27 +0200 | [diff] [blame] | 81 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Source\*.* %RELEASE_PATH%\CMSIS\RTOS2\Source\*.* |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 82 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Template\*.* %RELEASE_PATH%\CMSIS\RTOS2\Template\*.* |
Robert Rostohar | dab42a2 | 2016-07-01 23:23:16 +0200 | [diff] [blame] | 83 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS2\RTX\*.* |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 84 | |
| 85 | :: -- SVD files |
| 86 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\ARM_Example.* %RELEASE_PATH%\CMSIS\SVD\*.* |
| 87 | |
| 88 | :: -- Utilities files |
Martin Günther | 9614355 | 2016-09-28 13:30:22 +0200 | [diff] [blame] | 89 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\CMSIS-SVD.xsd %RELEASE_PATH%\CMSIS\Utilities\*.* |
| 90 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\PACK.xsd %RELEASE_PATH%\CMSIS\Utilities\*.* |
Martin Günther | 9614355 | 2016-09-28 13:30:22 +0200 | [diff] [blame] | 91 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Win32\*.* %RELEASE_PATH%\CMSIS\Utilities\Win32\*.* |
| 92 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.4.4\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.4.4\*.* |
| 93 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.8.3\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.8.3\*.* |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 94 | |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 95 | :: -- index file |
Martin Günther | 9614355 | 2016-09-28 13:30:22 +0200 | [diff] [blame] | 96 | REM COPY ..\..\CMSIS\index.html %RELEASE_PATH%\CMSIS\index.html |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 97 | |
| 98 | :: Generate Documentation |
| 99 | :: -- Generate doxygen files |
| 100 | PUSHD ..\DoxyGen |
| 101 | |
| 102 | :: -- Delete previous generated HTML files |
| 103 | ECHO. |
| 104 | ECHO Delete previous generated HTML files |
| 105 | |
| 106 | PUSHD ..\Documentation |
Joachim Krech | a92f991 | 2017-03-10 17:08:23 +0100 | [diff] [blame] | 107 | FOR %%A IN (Core, Core_A, DAP, Driver, DSP, General, Pack, RTOS, RTOS2, SVD, Zone) DO IF EXIST %%A (RMDIR /S /Q %%A) |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 108 | POPD |
| 109 | |
| 110 | :: -- Generate HTML Files |
| 111 | ECHO. |
| 112 | ECHO Generate HTML Files |
| 113 | |
| 114 | pushd Core |
| 115 | doxygen core.dxy |
| 116 | popd |
| 117 | |
Joachim Krech | a92f991 | 2017-03-10 17:08:23 +0100 | [diff] [blame] | 118 | pushd Core_A |
| 119 | doxygen core_A.dxy |
| 120 | popd |
| 121 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 122 | pushd DAP |
| 123 | doxygen dap.dxy |
| 124 | popd |
| 125 | |
| 126 | pushd Driver |
| 127 | doxygen Driver.dxy |
| 128 | popd |
| 129 | |
| 130 | pushd DSP |
| 131 | doxygen dsp.dxy |
| 132 | popd |
| 133 | |
| 134 | pushd General |
| 135 | doxygen general.dxy |
| 136 | popd |
| 137 | |
| 138 | pushd Pack |
| 139 | doxygen Pack.dxy |
| 140 | popd |
| 141 | |
| 142 | pushd RTOS |
| 143 | doxygen rtos.dxy |
| 144 | popd |
| 145 | |
| 146 | pushd RTOS2 |
| 147 | doxygen rtos.dxy |
| 148 | popd |
| 149 | |
| 150 | pushd SVD |
| 151 | doxygen svd.dxy |
| 152 | popd |
| 153 | |
Joachim Krech | a92f991 | 2017-03-10 17:08:23 +0100 | [diff] [blame] | 154 | pushd Zone |
| 155 | doxygen zone.dxy |
| 156 | popd |
| 157 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 158 | :: -- Copy search style sheet |
| 159 | ECHO. |
| 160 | ECHO Copy search style sheets |
| 161 | copy /Y Doxygen_Templates\search.css ..\Documentation\CORE\html\search\. |
| 162 | copy /Y Doxygen_Templates\search.css ..\Documentation\Driver\html\search\. |
| 163 | REM copy /Y Doxygen_Templates\search.css ..\Documentation\General\html\search\. |
| 164 | copy /Y Doxygen_Templates\search.css ..\Documentation\Pack\html\search\. |
| 165 | REM copy /Y Doxygen_Templates\search.css ..\Documentation\SVD\html\search\. |
| 166 | copy /Y Doxygen_Templates\search.css ..\Documentation\DSP\html\search\. |
| 167 | copy /Y Doxygen_Templates\search.css ..\Documentation\DAP\html\search\. |
| 168 | |
| 169 | ECHO. |
| 170 | POPD |
| 171 | |
| 172 | :: -- Copy generated doxygen files |
| 173 | XCOPY /Q /S /Y ..\Documentation\*.* %RELEASE_PATH%\CMSIS\Documentation\*.* |
| 174 | |
| 175 | :: -- Remove generated doxygen files |
| 176 | PUSHD ..\Documentation |
Joachim Krech | a92f991 | 2017-03-10 17:08:23 +0100 | [diff] [blame] | 177 | FOR %%A IN (Core, Core_A, DAP, Driver, DSP, General, Pack, RTOS, RTOS2, SVD, Zone) DO IF EXIST %%A (RMDIR /S /Q %%A) |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 178 | POPD |
| 179 | |
| 180 | |
| 181 | :: Checking |
Joachim Krech | b3c26d9 | 2016-11-10 16:03:05 +0100 | [diff] [blame] | 182 | Win32\PackChk.exe %RELEASE_PATH%\ARM.CMSIS.pdsc -n %RELEASE_PATH%\PackName.txt -x M353 -x M364 |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 183 | |
| 184 | :: --Check if PackChk.exe has completed successfully |
| 185 | IF %errorlevel% neq 0 GOTO ErrPackChk |
| 186 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 187 | :: Packing |
| 188 | PUSHD %RELEASE_PATH% |
| 189 | |
| 190 | :: -- Pipe Pack's Name into Variable |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 191 | SET /P PackName=<PackName.txt |
| 192 | DEL /Q PackName.txt |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 193 | |
| 194 | :: Pack files |
Joachim Krech | c6316a6 | 2016-11-10 09:46:05 +0100 | [diff] [blame] | 195 | ECHO Creating pack file ... |
| 196 | 7z.exe a %PackName% -tzip > zip.log |
| 197 | ECHO Packaging complete |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 198 | POPD |
| 199 | GOTO End |
| 200 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 201 | :ErrPackChk |
| 202 | ECHO PackChk.exe has encountered an error! |
| 203 | EXIT /b |
| 204 | |
| 205 | :End |
Joachim Krech | c6316a6 | 2016-11-10 09:46:05 +0100 | [diff] [blame] | 206 | ECHO Removing temporary files and folders |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 207 | RMDIR /Q /S %RELEASE_PATH%\CMSIS |
| 208 | RMDIR /Q /S %RELEASE_PATH%\Device |
Joachim Krech | 7e3c773 | 2016-11-07 17:16:31 +0100 | [diff] [blame] | 209 | DEL %RELEASE_PATH%\LICENSE.txt |
Joachim Krech | c6316a6 | 2016-11-10 09:46:05 +0100 | [diff] [blame] | 210 | DEL %RELEASE_PATH%\zip.log |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 211 | |
Joachim Krech | c6316a6 | 2016-11-10 09:46:05 +0100 | [diff] [blame] | 212 | ECHO gen_pack.bat completed successfully |