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