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\*.* |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 53 | |
| 54 | :: -- DAP files |
| 55 | XCOPY /Q /S /Y ..\..\CMSIS\DAP\*.* %RELEASE_PATH%\CMSIS\DAP\*.* |
| 56 | |
| 57 | :: -- Driver files |
| 58 | XCOPY /Q /S /Y ..\..\CMSIS\Driver\*.* %RELEASE_PATH%\CMSIS\Driver\*.* |
| 59 | |
| 60 | :: -- DSP files |
| 61 | XCOPY /Q /S /Y ..\..\CMSIS\DSP\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.* |
| 62 | 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] | 63 | 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] | 64 | XCOPY /Q /S /Y ..\..\CMSIS\DSP\Examples\*.* %RELEASE_PATH%\CMSIS\DSP_Lib\Examples\*.* |
| 65 | |
| 66 | :: -- DSP libraries |
Martin Günther | 10babd8 | 2016-06-14 14:10:36 +0200 | [diff] [blame] | 67 | XCOPY /Q /S /Y ..\..\CMSIS\Lib\ARM\*.lib %RELEASE_PATH%\CMSIS\Lib\ARM\*.* |
| 68 | 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] | 69 | |
| 70 | :: -- Pack files |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 71 | 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] | 72 | XCOPY /Q /S /Y ..\..\CMSIS\Pack\Tutorials\*.* %RELEASE_PATH%\CMSIS\Pack\Tutorials\*.* |
| 73 | |
| 74 | :: -- RTOS files |
| 75 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS\Template\*.* %RELEASE_PATH%\CMSIS\RTOS\Template\*.* |
| 76 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS\RTX\*.* |
| 77 | |
| 78 | :: -- RTOS2 files |
Robert Rostohar | eefdc5a | 2016-07-05 07:25:38 +0200 | [diff] [blame] | 79 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Include\*.* %RELEASE_PATH%\CMSIS\RTOS2\Include\*.* |
Robert Rostohar | 04fa90a | 2017-06-09 13:22:27 +0200 | [diff] [blame^] | 80 | 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] | 81 | XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Template\*.* %RELEASE_PATH%\CMSIS\RTOS2\Template\*.* |
Robert Rostohar | dab42a2 | 2016-07-01 23:23:16 +0200 | [diff] [blame] | 82 | 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] | 83 | |
| 84 | :: -- SVD files |
| 85 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\ARM_Example.* %RELEASE_PATH%\CMSIS\SVD\*.* |
| 86 | |
| 87 | :: -- Utilities files |
Martin Günther | 9614355 | 2016-09-28 13:30:22 +0200 | [diff] [blame] | 88 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\CMSIS-SVD.xsd %RELEASE_PATH%\CMSIS\Utilities\*.* |
| 89 | 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] | 90 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Win32\*.* %RELEASE_PATH%\CMSIS\Utilities\Win32\*.* |
| 91 | XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.4.4\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.4.4\*.* |
| 92 | 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] | 93 | |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 94 | :: -- index file |
Martin Günther | 9614355 | 2016-09-28 13:30:22 +0200 | [diff] [blame] | 95 | REM COPY ..\..\CMSIS\index.html %RELEASE_PATH%\CMSIS\index.html |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 96 | |
| 97 | :: Generate Documentation |
| 98 | :: -- Generate doxygen files |
| 99 | PUSHD ..\DoxyGen |
| 100 | |
| 101 | :: -- Delete previous generated HTML files |
| 102 | ECHO. |
| 103 | ECHO Delete previous generated HTML files |
| 104 | |
| 105 | PUSHD ..\Documentation |
Joachim Krech | a92f991 | 2017-03-10 17:08:23 +0100 | [diff] [blame] | 106 | 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] | 107 | POPD |
| 108 | |
| 109 | :: -- Generate HTML Files |
| 110 | ECHO. |
| 111 | ECHO Generate HTML Files |
| 112 | |
| 113 | pushd Core |
| 114 | doxygen core.dxy |
| 115 | popd |
| 116 | |
Joachim Krech | a92f991 | 2017-03-10 17:08:23 +0100 | [diff] [blame] | 117 | pushd Core_A |
| 118 | doxygen core_A.dxy |
| 119 | popd |
| 120 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 121 | pushd DAP |
| 122 | doxygen dap.dxy |
| 123 | popd |
| 124 | |
| 125 | pushd Driver |
| 126 | doxygen Driver.dxy |
| 127 | popd |
| 128 | |
| 129 | pushd DSP |
| 130 | doxygen dsp.dxy |
| 131 | popd |
| 132 | |
| 133 | pushd General |
| 134 | doxygen general.dxy |
| 135 | popd |
| 136 | |
| 137 | pushd Pack |
| 138 | doxygen Pack.dxy |
| 139 | popd |
| 140 | |
| 141 | pushd RTOS |
| 142 | doxygen rtos.dxy |
| 143 | popd |
| 144 | |
| 145 | pushd RTOS2 |
| 146 | doxygen rtos.dxy |
| 147 | popd |
| 148 | |
| 149 | pushd SVD |
| 150 | doxygen svd.dxy |
| 151 | popd |
| 152 | |
Joachim Krech | a92f991 | 2017-03-10 17:08:23 +0100 | [diff] [blame] | 153 | pushd Zone |
| 154 | doxygen zone.dxy |
| 155 | popd |
| 156 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 157 | :: -- Copy search style sheet |
| 158 | ECHO. |
| 159 | ECHO Copy search style sheets |
| 160 | copy /Y Doxygen_Templates\search.css ..\Documentation\CORE\html\search\. |
| 161 | copy /Y Doxygen_Templates\search.css ..\Documentation\Driver\html\search\. |
| 162 | REM copy /Y Doxygen_Templates\search.css ..\Documentation\General\html\search\. |
| 163 | copy /Y Doxygen_Templates\search.css ..\Documentation\Pack\html\search\. |
| 164 | REM copy /Y Doxygen_Templates\search.css ..\Documentation\SVD\html\search\. |
| 165 | copy /Y Doxygen_Templates\search.css ..\Documentation\DSP\html\search\. |
| 166 | copy /Y Doxygen_Templates\search.css ..\Documentation\DAP\html\search\. |
| 167 | |
| 168 | ECHO. |
| 169 | POPD |
| 170 | |
| 171 | :: -- Copy generated doxygen files |
| 172 | XCOPY /Q /S /Y ..\Documentation\*.* %RELEASE_PATH%\CMSIS\Documentation\*.* |
| 173 | |
| 174 | :: -- Remove generated doxygen files |
| 175 | PUSHD ..\Documentation |
Joachim Krech | a92f991 | 2017-03-10 17:08:23 +0100 | [diff] [blame] | 176 | 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] | 177 | POPD |
| 178 | |
| 179 | |
| 180 | :: Checking |
Joachim Krech | b3c26d9 | 2016-11-10 16:03:05 +0100 | [diff] [blame] | 181 | 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] | 182 | |
| 183 | :: --Check if PackChk.exe has completed successfully |
| 184 | IF %errorlevel% neq 0 GOTO ErrPackChk |
| 185 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 186 | :: Packing |
| 187 | PUSHD %RELEASE_PATH% |
| 188 | |
| 189 | :: -- Pipe Pack's Name into Variable |
Joachim Krech | 347ff5a | 2016-05-13 08:56:15 +0200 | [diff] [blame] | 190 | SET /P PackName=<PackName.txt |
| 191 | DEL /Q PackName.txt |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 192 | |
| 193 | :: Pack files |
Joachim Krech | c6316a6 | 2016-11-10 09:46:05 +0100 | [diff] [blame] | 194 | ECHO Creating pack file ... |
| 195 | 7z.exe a %PackName% -tzip > zip.log |
| 196 | ECHO Packaging complete |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 197 | POPD |
| 198 | GOTO End |
| 199 | |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 200 | :ErrPackChk |
| 201 | ECHO PackChk.exe has encountered an error! |
| 202 | EXIT /b |
| 203 | |
| 204 | :End |
Joachim Krech | c6316a6 | 2016-11-10 09:46:05 +0100 | [diff] [blame] | 205 | ECHO Removing temporary files and folders |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 206 | RMDIR /Q /S %RELEASE_PATH%\CMSIS |
| 207 | RMDIR /Q /S %RELEASE_PATH%\Device |
Joachim Krech | 7e3c773 | 2016-11-07 17:16:31 +0100 | [diff] [blame] | 208 | DEL %RELEASE_PATH%\LICENSE.txt |
Joachim Krech | c6316a6 | 2016-11-10 09:46:05 +0100 | [diff] [blame] | 209 | DEL %RELEASE_PATH%\zip.log |
Martin Günther | 89be652 | 2016-05-13 07:57:31 +0200 | [diff] [blame] | 210 | |
Joachim Krech | c6316a6 | 2016-11-10 09:46:05 +0100 | [diff] [blame] | 211 | ECHO gen_pack.bat completed successfully |