-
Notifications
You must be signed in to change notification settings - Fork 102
/
Build.bat
302 lines (270 loc) · 11 KB
/
Build.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
@ECHO OFF
CLS
COLOR 1B
TITLE XBMC Build Prepare Script
rem ----PURPOSE----
rem - Create a working XBMC build with a single click
rem -------------------------------------------------------------
rem Config
rem If you get an error that Visual studio was not found, SET your path for VSNET main executable.
rem ONLY needed if you have a very old bios, SET the path for xbepatch. Not needed otherwise.
rem If Winrar isn't installed under standard programs, SET the path for WinRAR's (freeware) rar.exe
rem and finally set the options for the final rar.
rem -------------------------------------------------------------
rem Remove 'rem' from 'web / python' below to copy these to the BUILD directory.
rem -------------------------------------------------------------
rem CONFIG START
IF "%VS71COMNTOOLS%"=="" (
set NET="%ProgramFiles%\Microsoft Visual Studio .NET 2003\Common7\IDE\devenv.com"
) ELSE (
set NET="%VS71COMNTOOLS%\..\IDE\devenv.com"
)
IF NOT EXIST %NET% (
set DIETEXT=Visual Studio .NET 2003 was not found.
goto DIE
)
set OPTS=xbmc.sln /build release
set CLEAN=xbmc.sln /clean release
set XBE=release\default.xbe
set OPTS_EXE=tools\Win32\XBMC_PC.sln /build "Release (SDL) Win32"
set CLEAN_EXE=tools\Win32\XBMC_PC.sln /clean "Release (SDL) Win32"
set EXE= "tools\Win32\Release (SDL)\XBMC.exe"
set XBE_PATCH=tools\xbepatch\xbepatch.exe
set RAR="%ProgramFiles%\Winrar\rar.exe"
set RAR_ROOT=rar.exe
set RAROPS=a -r -idp -inul -m5 XBMC.rar BUILD
set RAROPS_EXE=a -r -idp -inul -m5 XBMC_PC.rar BUILD_WIN32
rem CONFIG END
rem -------------------------------------------------------------
ECHO ²²²²²²²±±±±±±±±°°°°°°°
ECHO ²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²²²²²²±±±±±°°°°°° ßßß²ÜÜ
ECHO ÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²²²²±±±°° ßßÜ
ECHO ²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²° Ý
ECHO ²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ° ²
ECHO ±ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Þ
ECHO °ÛÛÛÛÛÛ²±° ßÛß ßÛÛÛß ß²ß ßÛÛÛß °²ÛÛÛ Þ
ECHO ÛÛÛÛÛÛÛÛÛÛÝ ÜÛÛÛÝ ²ÛÛÛÜ ÞÛÝ Ü²ÛÜ ÜÛÛÜ ÞÛ ÜÛÛÛÛÛÛÛ Þ
ECHO ²ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÝ ÛÛÛÛÛÝ Û ÞÛÛÛÛÝ ÞÛÛÛÛÝ Ý ÞÛÛÛÛÛÛÛÛ ²
ECHO ±ÛÛÛÛÛÛÛÛÛÝ ÞÛÛÛÛÛÝ ÛÛÛÛÛÝ Û ÛÛÛÛÛÝ ÛÛÛÛÛÝ ²ÛÛÛÛÛÛÛ² Ý
ECHO °²ÛÛÛÛÛÛÛß ßÛÛÛÛÝ ßÛÛÛß ÞÝ ÛÛÛÛÛÝ ÛÛÛÛÛÝ ° ßÛÛÛÛÛÛÛÝ Ý
ECHO ±ÛÛÛ²±° ÜÛÛÜ °±²ÛÛÜ ÜÛ²ÜÛÛÛÛÛÛÜÛÛÛÛÛ² ÛÜ °²ÛÛÛÝÞ
ECHO °²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ²
ECHO ±ÛÛÛÛÛßßßßÛßßÛßßÛÛßÛÛßÛÛÛÛßßÛßßÛßßßÛßßÛßßÛßßÛÛÛÛÛÛÛ Ý
ECHO °²ÛÛÛÛ ÝÞ Û ßÛ Û Û ÛÝÜÞÛÛÛ ÛÛ ßÛ Û ÛÝÞÛ ßÛ ßÜÛÛÛÛÛ± Ý
ECHO ±ÛÛÛÛ ÝÞ Û ßÛ ßÜÛ Û Ü ÛÛÛ ßÛ ßÛ Û ÛÝÞÛ ßÛ Û ÛÛÛÛÛ°Þ
ECHO °²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²
ECHO ±°ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ °±²²²²
ECHO °²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²°°±²ß
ECHO ±²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²Û²²ßßßß
ECHO ²²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²Û²²ßßßß
ECHO ß²ÛÛÛÛ²Û²²²ßßßßßß
ECHO ------------------------------------------------------------
ECHO XBMC prepare menu
ECHO ------------------------------------------------------------
ECHO [1] Build XBMC XBE ( for XBOX use )
ECHO [2] Build XBMC_WIN32 ( for Windows use)
ECHO ------------------------------------------------------------
set /P XBMC_COMPILE_ANSWER=Please enter the number you want to build! [1/2]:
if /I %XBMC_COMPILE_ANSWER% EQU 1 goto XBE_COMPILE
if /I %XBMC_COMPILE_ANSWER% EQU 2 goto EXE_COMPILE
:XBE_COMPILE
rem ---------------------------------------------
rem check for existing xbe
rem ---------------------------------------------
IF EXIST %XBE% (
goto XBE_EXIST
)
goto COMPILE
:EXE_COMPILE
rem ---------------------------------------------
rem check for existing xbe
rem ---------------------------------------------
IF EXIST %EXE% (
goto EXE_EXIST
)
goto COMPILE_EXE
:XBE_EXIST
ECHO ------------------------------------------------------------
ECHO Found a previous Compiled XBE!
ECHO [1] a NEW XBE will be compiled for the BUILD
ECHO [2] existing XBE will be updated (quick mode compile) for the BUILD
ECHO [3] existing XBE will be used for the BUILD
ECHO ------------------------------------------------------------
set /P XBMC_COMPILE_ANSWER=Compile a new XBE? [1/2/3]:
if /I %XBMC_COMPILE_ANSWER% EQU 1 goto COMPILE
if /I %XBMC_COMPILE_ANSWER% EQU 2 goto COMPILE_NO_CLEAN
if /I %XBMC_COMPILE_ANSWER% EQU 3 goto MAKE_BUILD
:EXE_EXIST
ECHO ------------------------------------------------------------
ECHO Found a previous Compiled WIN32 EXE!
ECHO [1] a NEW EXE will be compiled for the BUILD_WIN32
ECHO [2] existing EXE will be updated (quick mode compile) for the BUILD_WIN32
ECHO [3] existing EXE will be used for the BUILD_WIN32
ECHO ------------------------------------------------------------
set /P XBMC_COMPILE_ANSWER=Compile a new EXE? [1/2/3]:
if /I %XBMC_COMPILE_ANSWER% EQU 1 goto COMPILE_EXE
if /I %XBMC_COMPILE_ANSWER% EQU 2 goto COMPILE_NO_CLEAN_EXE
if /I %XBMC_COMPILE_ANSWER% EQU 3 goto MAKE_BUILD_EXE
:COMPILE
ECHO Wait while preparing the build.
ECHO ------------------------------------------------------------
ECHO Cleaning Solution...
%NET% %CLEAN%
del release\xbmc.map
ECHO Compiling Solution...
%NET% %OPTS%
IF NOT EXIST %XBE% (
set DIETEXT=Default.xbe failed to build! See .\Release\BuildLog.htm for details.
goto DIE
)
ECHO Done!
ECHO ------------------------------------------------------------
GOTO MAKE_BUILD
:COMPILE_EXE
ECHO Wait while preparing the build.
ECHO ------------------------------------------------------------
ECHO Cleaning Solution...
%NET% %CLEAN_EXE%
ECHO Compiling Solution...
%NET% %OPTS_EXE%
IF NOT EXIST %EXE% (
set DIETEXT="XBMC.EXE failed to build! See .\tools\Win32\Release (SDL)\BuildLog.htm for details."
goto DIE
)
ECHO Done!
ECHO ------------------------------------------------------------
GOTO MAKE_BUILD_EXE
:COMPILE_NO_CLEAN
ECHO Wait while preparing the build.
ECHO ------------------------------------------------------------
ECHO Compiling Solution...
%NET% %OPTS%
IF NOT EXIST %XBE% (
set DIETEXT=Default.xbe failed to build! See .\Release\BuildLog.htm for details.
goto DIE
)
ECHO Done!
ECHO ------------------------------------------------------------
GOTO MAKE_BUILD
:COMPILE_NO_CLEAN_EXE
ECHO Wait while preparing the build.
ECHO ------------------------------------------------------------
ECHO Compiling Solution...
%NET% %OPTS_EXE%
IF NOT EXIST %EXE% (
set DIETEXT="XBMC.EXE failed to build! See .\tools\Win32\Release (SDL)\BuildLog.htm for details."
goto DIE
)
ECHO Done!
ECHO ------------------------------------------------------------
GOTO MAKE_BUILD_EXE
:MAKE_BUILD
ECHO Copying files...
ECHO - XBE Patching %XBE%
%XBE_PATCH% %XBE%
ECHO - Patching Done!
rmdir BUILD /S /Q
md BUILD
Echo .svn>exclude.txt
Echo Thumbs.db>>exclude.txt
Echo Desktop.ini>>exclude.txt
Echo dsstdfx.bin>>exclude.txt
Echo exclude.txt>>exclude.txt
xcopy %XBE% BUILD
xcopy UserData BUILD\UserData /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy *.txt BUILD /EXCLUDE:exclude.txt
rem xcopy *.xml BUILD\
cd "skin\Project Mayhem III"
CALL build.bat
cd ..\..
xcopy "skin\Project Mayhem III\BUILD\Project Mayhem III" "BUILD\skin\Project Mayhem III" /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy credits BUILD\credits /Q /I /Y /EXCLUDE:exclude.txt
xcopy language BUILD\language /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy screensavers BUILD\screensavers /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy visualisations BUILD\visualisations /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy system BUILD\system /E /Q /I /Y /EXCLUDE:exclude.txt
rem %rar% x web\Project_Mayhem_webserver*.rar build\web\
rem %rar% x web\Project_Mayem_III_webserver*.rar build\web\
xcopy media BUILD\media /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy sounds BUILD\sounds /E /Q /I /Y /EXCLUDE:exclude.txt
del exclude.txt
ECHO ------------------------------------------------------------
ECHO Build Succeeded!
GOTO RAR_XBE
:MAKE_BUILD_EXE
ECHO Copying files...
rmdir BUILD_WIN32 /S /Q
md BUILD_WIN32\Xbmc
Echo .svn>exclude.txt
Echo Thumbs.db>>exclude.txt
Echo Desktop.ini>>exclude.txt
Echo dsstdfx.bin>>exclude.txt
Echo exclude.txt>>exclude.txt
xcopy %EXE% BUILD_WIN32\Xbmc
xcopy UserData BUILD_WIN32\Xbmc\UserData /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy *.txt BUILD_WIN32 /EXCLUDE:exclude.txt
rem xcopy *.xml BUILD_WIN32\
rem xcopy tools\Win32\run_me_first.bat BUILD_WIN32 /EXCLUDE:exclude.txt
cd "skin\Project Mayhem III"
CALL build.bat
cd ..\..
xcopy "skin\Project Mayhem III\BUILD\Project Mayhem III" "BUILD_WIN32\Xbmc\skin\Project Mayhem III" /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy credits BUILD_WIN32\Xbmc\credits /Q /I /Y /EXCLUDE:exclude.txt
xcopy language BUILD_WIN32\Xbmc\language /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy screensavers BUILD_WIN32\Xbmc\screensavers /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy visualisations BUILD_WIN32\Xbmc\visualisations /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy system BUILD_WIN32\Xbmc\system /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy media BUILD_WIN32\Xbmc\media /E /Q /I /Y /EXCLUDE:exclude.txt
xcopy sounds BUILD_WIN32\Xbmc\sounds /E /Q /I /Y /EXCLUDE:exclude.txt
del exclude.txt
ECHO ------------------------------------------------------------
ECHO Build Succeeded!
GOTO RAR_EXE
:RAR_XBE
ECHO ------------------------------------------------------------
ECHO Compressing build to XBMC.rar file...
ECHO ------------------------------------------------------------
IF EXIST %RAR% ( %RAR% %RAROPS%
) ELSE (
IF EXIST %RAR_ROOT% ( %RAR_ROOT% %RAROPS%
) ELSE (
ECHO WinRAR not installed! Skipping .rar compression...
)
)
ECHO ------------------------------------------------------------
GOTO VIEWLOG_XBE
:RAR_EXE
ECHO ------------------------------------------------------------
ECHO Compressing build to XBMC_WIN32.rar file...
ECHO ------------------------------------------------------------
IF EXIST %RAR% ( %RAR% %RAROPS_EXE%
) ELSE (
IF EXIST %RAR_ROOT% ( %RAR_ROOT% %RAROPS_EXE%
) ELSE (
ECHO WinRAR not installed! Skipping .rar compression...
)
)
ECHO ------------------------------------------------------------
GOTO VIEWLOG_EXE
:DIE
ECHO ------------------------------------------------------------
ECHO !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-
ECHO ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
ECHO !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-
set DIETEXT=ERROR: %DIETEXT%
echo %DIETEXT%
ECHO ------------------------------------------------------------
:VIEWLOG_XBE
set /P XBMC_BUILD_ANSWER=View the build log in your HTML browser? [y/n]
if /I %XBMC_BUILD_ANSWER% NEQ y goto END
start /D"%~dp0Release (SDL)" BuildLog.htm"
goto END
:VIEWLOG_EXE
set /P XBMC_BUILD_ANSWER=View the build log in your HTML browser? [y/n]
if /I %XBMC_BUILD_ANSWER% NEQ y goto END
start /D"%~dp0tools\Win32\Release (SDL)" BuildLog.htm"
goto END
:END
set XBMC_BUILD_ANSWER=
ECHO Press any key to exit...
pause > NUL