blob: b02e5a6231ff2b2a9f454757849946c7b53174a5 [file] [log] [blame]
:: Batch file for generating CMSIS pack
:: This batch file uses:
:: 7-Zip for packaging
:: Doxygen version 1.8.2 and Mscgen version 0.20 for generating html documentation.
:: The generated pack and pdsc file are placed in folder %RELEASE_PATH% (../../Local_Release)
@ECHO off
SETLOCAL
:: Tool path for zipping tool 7-Zip
SET ZIPPATH=C:\Program Files\7-Zip
:: Tool path for doxygen
SET DOXYGENPATH=C:\Program Files\doxygen\bin
:: Tool path for mscgen utility
SET MSCGENPATH=C:\Program Files (x86)\Mscgen
:: These settings should be passed on to subprocesses as well
SET PATH=%ZIPPATH%;%DOXYGENPATH%;%MSCGENPATH%;%PATH%
:: Pack Path (where generated pack is stored)
SET RELEASE_PATH=..\..\Local_Release
:: !!!!!!!!!!!!!!!!!
:: DO NOT EDIT BELOW
:: !!!!!!!!!!!!!!!!!
:: Remove previous build
IF EXIST %RELEASE_PATH% (
ECHO removing %RELEASE_PATH%
RMDIR /Q /S %RELEASE_PATH%
)
:: Create build output directory
MKDIR %RELEASE_PATH%
:: Copy PDSC file
COPY ..\..\ARM.CMSIS.pdsc %RELEASE_PATH%\ARM.CMSIS.pdsc
:: Copy LICENSE file
COPY ..\..\LICENSE.txt %RELEASE_PATH%\LICENSE.txt
:: Copy Device folder
XCOPY /Q /S /Y ..\..\Device\*.* %RELEASE_PATH%\Device\*.*
:: Copy CMSIS folder
:: -- Core files
XCOPY /Q /S /Y ..\..\CMSIS\Core\Include\*.* %RELEASE_PATH%\CMSIS\Core\Include\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Core\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Core\Template\ARMv8-M\*.* %RELEASE_PATH%\CMSIS\Core\Template\ARMv8-M\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Core_A\Include\*.* %RELEASE_PATH%\CMSIS\Core_A\Include\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Core_A\Source\*.* %RELEASE_PATH%\CMSIS\Core_A\Source\*.*
:: -- DAP files
XCOPY /Q /S /Y ..\..\CMSIS\DAP\*.* %RELEASE_PATH%\CMSIS\DAP\*.*
:: -- Driver files
XCOPY /Q /S /Y ..\..\CMSIS\Driver\*.* %RELEASE_PATH%\CMSIS\Driver\*.*
:: -- DSP files
XCOPY /Q /S /Y ..\..\CMSIS\DSP\Include\*.* %RELEASE_PATH%\CMSIS\DSP\Include\*.*
XCOPY /Q /S /Y ..\..\CMSIS\DSP\Include\*.* %RELEASE_PATH%\CMSIS\Include\*.*
XCOPY /Q /S /Y ..\..\CMSIS\DSP\Source\*.* %RELEASE_PATH%\CMSIS\DSP\Source\*.*
XCOPY /Q /S /Y ..\..\CMSIS\DSP\Projects\*.* %RELEASE_PATH%\CMSIS\DSP\Projects\*.*
XCOPY /Q /S /Y ..\..\CMSIS\DSP\Examples\*.* %RELEASE_PATH%\CMSIS\DSP\Examples\*.*
XCOPY /Q /S /Y ..\..\CMSIS\DSP\Lib\*.* %RELEASE_PATH%\CMSIS\DSP\Lib\*.*
:: -- NN files
XCOPY /Q /S /Y ..\..\CMSIS\NN\*.* %RELEASE_PATH%\CMSIS\NN\*.*
:: -- Pack files
XCOPY /Q /S /Y ..\..\CMSIS\Pack\Example\*.* %RELEASE_PATH%\CMSIS\Pack\Example\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Pack\Tutorials\*.* %RELEASE_PATH%\CMSIS\Pack\Tutorials\*.*
:: -- RTOS files
XCOPY /Q /S /Y ..\..\CMSIS\RTOS\Template\*.* %RELEASE_PATH%\CMSIS\RTOS\Template\*.*
XCOPY /Q /S /Y ..\..\CMSIS\RTOS\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS\RTX\*.*
:: -- RTOS2 files
XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Include\*.* %RELEASE_PATH%\CMSIS\RTOS2\Include\*.*
XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Source\*.* %RELEASE_PATH%\CMSIS\RTOS2\Source\*.*
XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\Template\*.* %RELEASE_PATH%\CMSIS\RTOS2\Template\*.*
XCOPY /Q /S /Y ..\..\CMSIS\RTOS2\RTX\*.* %RELEASE_PATH%\CMSIS\RTOS2\RTX\*.*
:: -- SVD files
XCOPY /Q /S /Y ..\..\CMSIS\Utilities\ARM_Example.* %RELEASE_PATH%\CMSIS\SVD\*.*
:: -- Utilities files
XCOPY /Q /S /Y ..\..\CMSIS\Utilities\CMSIS-SVD.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Utilities\PACK.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Utilities\PackIndex.xsd %RELEASE_PATH%\CMSIS\Utilities\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Win32\*.* %RELEASE_PATH%\CMSIS\Utilities\Win32\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.4.4\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.4.4\*.*
XCOPY /Q /S /Y ..\..\CMSIS\Utilities\Linux-gcc-4.8.3\*.* %RELEASE_PATH%\CMSIS\Utilities\Linux-gcc-4.8.3\*.*
:: -- index file
REM COPY ..\..\CMSIS\index.html %RELEASE_PATH%\CMSIS\index.html
:: Generate Documentation
:: -- Generate doxygen files
PUSHD ..\DoxyGen
:: -- Delete previous generated HTML files
ECHO.
ECHO Delete previous generated HTML files
PUSHD ..\Documentation
FOR %%A IN (Core, Core_A, DAP, Driver, DSP, General, Pack, RTOS, RTOS2, SVD, Zone) DO IF EXIST %%A (RMDIR /S /Q %%A)
POPD
:: -- Generate HTML Files
ECHO.
ECHO Generate HTML Files
pushd Core
doxygen core.dxy
popd
pushd Core_A
doxygen core_A.dxy
popd
pushd DAP
doxygen dap.dxy
popd
pushd Driver
doxygen Driver.dxy
popd
pushd DSP
doxygen dsp.dxy
popd
pushd General
doxygen general.dxy
popd
pushd NN
doxygen nn.dxy
popd
pushd Pack
doxygen Pack.dxy
popd
pushd RTOS
doxygen rtos.dxy
popd
pushd RTOS2
doxygen rtos.dxy
popd
pushd SVD
doxygen svd.dxy
popd
pushd Zone
doxygen zone.dxy
popd
:: -- Copy search style sheet
ECHO.
ECHO Copy search style sheets
copy /Y Doxygen_Templates\search.css ..\Documentation\CORE\html\search\.
copy /Y Doxygen_Templates\search.css ..\Documentation\Driver\html\search\.
REM copy /Y Doxygen_Templates\search.css ..\Documentation\General\html\search\.
copy /Y Doxygen_Templates\search.css ..\Documentation\Pack\html\search\.
REM copy /Y Doxygen_Templates\search.css ..\Documentation\SVD\html\search\.
copy /Y Doxygen_Templates\search.css ..\Documentation\DSP\html\search\.
copy /Y Doxygen_Templates\search.css ..\Documentation\DAP\html\search\.
copy /Y Doxygen_Templates\search.css ..\Documentation\NN\html\search\.
xcopy /E /I /Q /Y Zone\genmodel ..\Documentation\Zone\genmodel
ECHO.
POPD
:: -- Copy generated doxygen files
XCOPY /Q /S /Y ..\Documentation\*.* %RELEASE_PATH%\CMSIS\Documentation\*.*
:: -- Remove generated doxygen files
PUSHD ..\Documentation
FOR %%A IN (Core, Core_A, DAP, Driver, DSP, General, NN, Pack, RTOS, RTOS2, SVD, Zone) DO IF EXIST %%A (RMDIR /S /Q %%A)
POPD
:: Checking
Win32\PackChk.exe %RELEASE_PATH%\ARM.CMSIS.pdsc -n %RELEASE_PATH%\PackName.txt -x M353 -x M364 -x M335
:: --Check if PackChk.exe has completed successfully
IF %errorlevel% neq 0 GOTO ErrPackChk
:: Packing
PUSHD %RELEASE_PATH%
:: -- Pipe Pack's Name into Variable
SET /P PackName=<PackName.txt
DEL /Q PackName.txt
:: Pack files
ECHO Creating pack file ...
7z.exe a %PackName% -tzip > zip.log
ECHO Packaging complete
POPD
GOTO End
:ErrPackChk
ECHO PackChk.exe has encountered an error!
EXIT /b
:End
ECHO Removing temporary files and folders
RMDIR /Q /S %RELEASE_PATH%\CMSIS
RMDIR /Q /S %RELEASE_PATH%\Device
DEL %RELEASE_PATH%\LICENSE.txt
DEL %RELEASE_PATH%\zip.log
ECHO gen_pack.bat completed successfully