]> begriffs open source - cmsis-freertos/blob - Utilities/gen_pack.bat
Added native FreeRTOS example project and a condition to Device:Startup, changed...
[cmsis-freertos] / Utilities / gen_pack.bat
1 :: Batch file for generating CMSIS-FreeRTOS pack
2 :: This batch file uses:
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)
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
25 :: !!!!!!!!!!!!!!!!!
26 :: DO NOT EDIT BELOW
27 :: !!!!!!!!!!!!!!!!! 
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
38
39 :: Copy PDSC file
40 COPY .\..\ARM.CMSIS-FreeRTOS.pdsc %RELEASE_PATH%\ARM.CMSIS-FreeRTOS.pdsc
41
42 :: Copy LICENSE file
43 XCOPY /Q /S /Y .\..\License\*.* %RELEASE_PATH%\License\*.*
44
45 :: Copy various root files
46 COPY .\..\readme.txt %RELEASE_PATH%\readme.txt
47 COPY .\..\links_to_doc_pages_for_the_demo_projects.url %RELEASE_PATH%\links_to_doc_pages_for_the_demo_projects.url
48
49 :: Copy CMSIS folder
50 XCOPY /Q /S /Y .\..\CMSIS\*.* %RELEASE_PATH%\CMSIS\*.*
51
52 :: Copy Config folder
53 XCOPY /Q /S /Y .\..\Config\*.* %RELEASE_PATH%\Config\*.*
54
55 :: Copy Demo folder
56 XCOPY /Q /S /Y .\..\Demo\*.* %RELEASE_PATH%\Demo\*.*
57
58 :: Copy Source folder
59 XCOPY /Q /S /Y .\..\Source\*.* %RELEASE_PATH%\Source\*.*
60
61
62 :: Generate Documentation 
63 :: -- Generate doxygen files 
64 PUSHD ..\DoxyGen
65
66 :: -- Delete previous generated HTML files
67 ECHO.
68 ECHO Delete previous generated HTML files
69
70 IF EXIST ..\Documentation (
71   ECHO Documenation folder already exists
72   PUSHD ..\Documentation
73   FOR %%A IN (General) DO IF EXIST %%A (RMDIR /S /Q %%A)
74   POPD
75 ) ELSE (
76   ECHO create Documentation folder
77   MKDIR ..\Documentation
78 )
79
80 :: -- Generate HTML Files
81 ECHO.
82 ECHO Generate HTML Files
83
84 pushd General
85 doxygen general.dxy
86 popd
87
88 :: -- Copy search style sheet
89 ECHO.
90 ECHO Copy search style sheets
91 XCOPY /Q /S /Y Doxygen_Templates\search.css ..\Documentation\General\html\search\ 
92   
93 ECHO.
94 POPD
95
96 :: -- Copy generated doxygen files 
97 XCOPY /Q /S /Y ..\Documentation\*.* %RELEASE_PATH%\CMSIS\Documentation\*.*
98
99 :: -- Remove generated doxygen files
100 PUSHD ..\Documentation
101 FOR %%A IN (General) DO IF EXIST %%A (RMDIR /S /Q %%A)
102 POPD
103
104
105 :: Checking 
106 :: Silencing warnings that are irrelevant in the context (M324, M382, M363)
107 Win32\PackChk.exe %RELEASE_PATH%\ARM.CMSIS-FreeRTOS.pdsc -n %RELEASE_PATH%\PackName.txt -x M353 -x M364 -x M324 -x M382 -x M363 -x M362
108
109 :: --Check if PackChk.exe has completed successfully
110 IF %errorlevel% neq 0 GOTO ErrPackChk
111
112 :: Packing 
113 PUSHD %RELEASE_PATH%
114
115 :: -- Pipe Pack's Name into Variable
116 SET /P PackName=<PackName.txt
117 DEL /Q PackName.txt
118
119 :: Pack files
120 ECHO Creating pack file ...
121 7z.exe a %PackName% -tzip > zip.log
122 ECHO Packaging complete
123 POPD
124 GOTO End
125
126 :ErrPackChk
127 ECHO PackChk.exe has encountered an error!
128 EXIT /b
129
130 :End
131 ECHO Removing temporary files and folders
132 PUSHD %RELEASE_PATH%
133 FOR %%A IN (CMSIS Config Demo Source) DO IF EXIST %%A (RMDIR /S /Q %%A)
134 DEL links_to_doc_pages_for_the_demo_projects.url
135 DEL readme.txt
136 DEL License\license.txt
137 RMDIR /Q License
138 DEL zip.log
139 POPD
140
141 ECHO gen_pack.bat completed successfully