Subversion Repositories Kolibri OS

Rev

Rev 3555 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
231 mikedld 1
@echo off
1093 Lrz 2
cls
3555 Serge 3
set languages=en ru ge et sp
5201 serge 4
set targets=kernel clean
231 mikedld 5
 
232 victor 6
call :Check_Target %1
5201 serge 7
for %%a in (kernel) do if %%a==%target% call :Check_Lang %2
232 victor 8
call :Target_%target%
231 mikedld 9
 
232 victor 10
if ERRORLEVEL 0 goto Exit_OK
231 mikedld 11
 
467 mikedld 12
echo There was an error executing script.
13
echo For any help, please send a report.
232 victor 14
pause
15
goto :eof
231 mikedld 16
 
17
 
18
 
232 victor 19
 
20
:Check_Lang
21
   set res=%1
22
  :Check_Lang_loop
23
   for %%a in (%languages%) do if %%a==%res% set lang=%res%
24
   if defined lang goto :eof
25
 
467 mikedld 26
   echo Language '%res%' is incorrect
27
   echo Enter valid language [ %languages% ]:
232 victor 28
 
29
   set /P res=">
30
   goto Check_Lang_loop
31
goto :eof
32
 
33
:Check_Target
34
   set res=%1
35
  :Check_Target_loop
36
   for %%a in (%targets%) do if %%a==%res% set target=%res%
37
   if defined target goto :eof
38
 
467 mikedld 39
   echo Target '%res%' is incorrect
40
   echo Enter valid target [ %targets% ]:
232 victor 41
 
42
   set /P res=">
43
   goto Check_Target_loop
44
goto :eof
45
 
46
 
47
:Target_kernel
467 mikedld 48
   echo *** building kernel with language '%lang%' ...
232 victor 49
 
50
   if not exist bin mkdir bin
51
   echo lang fix %lang% > lang.inc
373 mikedld 52
   fasm -m 65536 kernel.asm bin\kernel.mnt
232 victor 53
   if not %errorlevel%==0 goto :Error_FasmFailed
54
   erase lang.inc
55
goto :eof
56
 
57
 
231 mikedld 58
:Target_clean
467 mikedld 59
   echo *** cleaning ...
489 victor 60
   rmdir /S /Q bin
231 mikedld 61
goto :Exit_OK
62
 
63
 
64
:Error_FasmFailed
65
echo error: fasm execution failed
1093 Lrz 66
erase lang.inc >nul 2>&1
67
echo.
232 victor 68
pause
231 mikedld 69
exit 1
70
 
71
:Exit_OK
1093 Lrz 72
echo.
1095 diamond 73
echo all operations have been done
232 victor 74
pause
467 mikedld 75
exit 0