Subversion Repositories Kolibri OS

Rev

Rev 352 | Rev 467 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 352 Rev 373
1
@echo off
1
@echo off
2
 
2
 
3
set languages=en ru ge et
3
set languages=en ru ge et
4
set drivers=sound sis infinity ati2d
4
set drivers=sound sis infinity ati2d
5
set targets=all kernel drivers skins clean
5
set targets=all kernel drivers skins clean
6
 
6
 
7
call :Check_Target %1
7
call :Check_Target %1
8
for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2
8
for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2
9
call :Target_%target%
9
call :Target_%target%
10
 
10
 
11
if ERRORLEVEL 0 goto Exit_OK
11
if ERRORLEVEL 0 goto Exit_OK
12
 
12
 
13
echo Probably at runing has been created error
13
echo Probably at runing has been created error
14
echo For help send a report...
14
echo For help send a report...
15
pause
15
pause
16
goto :eof
16
goto :eof
17
 
17
 
18
 
18
 
19
 
19
 
20
 
20
 
21
:Check_Lang
21
:Check_Lang
22
   set res=%1
22
   set res=%1
23
  :Check_Lang_loop
23
  :Check_Lang_loop
24
   for %%a in (%languages%) do if %%a==%res% set lang=%res%
24
   for %%a in (%languages%) do if %%a==%res% set lang=%res%
25
   if defined lang goto :eof
25
   if defined lang goto :eof
26
 
26
 
27
   echo Language "%res%" is not founded
27
   echo Language "%res%" is not founded
28
   echo Enter valide languege
28
   echo Enter valide languege
29
   echo     [%languages%]
29
   echo     [%languages%]
30
 
30
 
31
   set /P res=">
31
   set /P res=">
32
   goto Check_Lang_loop
32
   goto Check_Lang_loop
33
goto :eof
33
goto :eof
34
 
34
 
35
:Check_Target
35
:Check_Target
36
   set res=%1
36
   set res=%1
37
  :Check_Target_loop
37
  :Check_Target_loop
38
   for %%a in (%targets%) do if %%a==%res% set target=%res%
38
   for %%a in (%targets%) do if %%a==%res% set target=%res%
39
   if defined target goto :eof
39
   if defined target goto :eof
40
 
40
 
41
   echo Target "%res%" is not valide
41
   echo Target "%res%" is not valide
42
   echo Enter valide target
42
   echo Enter valide target
43
   echo     [%targets%]
43
   echo     [%targets%]
44
 
44
 
45
   set /P res=">
45
   set /P res=">
46
   goto Check_Target_loop
46
   goto Check_Target_loop
47
goto :eof
47
goto :eof
48
 
48
 
49
 
49
 
50
:Target_kernel
50
:Target_kernel
51
   echo building kernel with language %lang% ...
51
   echo building kernel with language %lang% ...
52
 
52
 
53
   if not exist bin mkdir bin
53
   if not exist bin mkdir bin
54
   echo lang fix %lang% > lang.inc
54
   echo lang fix %lang% > lang.inc
55
   fasm kernel.asm bin\kernel.mnt
55
   fasm -m 65536 kernel.asm bin\kernel.mnt
56
   if not %errorlevel%==0 goto :Error_FasmFailed
56
   if not %errorlevel%==0 goto :Error_FasmFailed
57
   erase lang.inc
57
   erase lang.inc
58
goto :eof
58
goto :eof
59
 
59
 
60
 
60
 
61
:Target_all
61
:Target_all
62
   echo building all ...
62
   echo building all ...
63
   call :Target_kernel
63
   call :Target_kernel
64
   call :Target_drivers
64
   call :Target_drivers
65
   call :Target_skins
65
   call :Target_skins
66
goto :eof
66
goto :eof
67
 
67
 
68
 
68
 
69
:Target_drivers
69
:Target_drivers
70
   echo building drivers ...
70
   echo building drivers ...
71
 
71
 
72
   if not exist bin\drivers mkdir bin\drivers
72
   if not exist bin\drivers mkdir bin\drivers
73
   cd drivers
73
   cd drivers
74
   for %%a in (%drivers%) do (
74
   for %%a in (%drivers%) do (
75
     fasm %%a.asm ..\bin\drivers\%%a.obj
75
     fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj
76
     if not %errorlevel%==0 goto :Error_FasmFailed
76
     if not %errorlevel%==0 goto :Error_FasmFailed
77
   )
77
   )
78
   cd ..
78
   cd ..
79
goto :eof
79
goto :eof
80
 
80
 
81
 
81
 
82
:Target_skins
82
:Target_skins
83
   echo building skins ...
83
   echo building skins ...
84
 
84
 
85
   if not exist bin\skins mkdir bin\skins
85
   if not exist bin\skins mkdir bin\skins
86
   cd skin
86
   cd skin
87
   fasm default.asm ..\bin\skins\default.skn
87
   fasm -m 65536 default.asm ..\bin\skins\default.skn
88
   if not %errorlevel%==0 goto :Error_FasmFailed
88
   if not %errorlevel%==0 goto :Error_FasmFailed
89
   cd ..
89
   cd ..
90
goto :eof
90
goto :eof
91
 
91
 
92
 
92
 
93
:Target_clean
93
:Target_clean
94
   echo cleaning ...
94
   echo cleaning ...
95
 
95
 
96
   del /Q bin\drivers\*.*
96
   del /Q bin\drivers\*.*
97
   del /Q bin\skins\*.*
97
   del /Q bin\skins\*.*
98
   del /Q bin\*.*
98
   del /Q bin\*.*
99
   rmdir bin\drivers
99
   rmdir bin\drivers
100
   rmdir bin\skins
100
   rmdir bin\skins
101
   rmdir bin
101
   rmdir bin
102
goto :Exit_OK
102
goto :Exit_OK
103
 
103
 
104
 
104
 
105
:Error_FasmFailed
105
:Error_FasmFailed
106
echo error: fasm execution failed
106
echo error: fasm execution failed
107
erase lang.inc
107
erase lang.inc
108
pause
108
pause
109
exit 1
109
exit 1
110
 
110
 
111
:Exit_OK
111
:Exit_OK
112
echo all operations has been done
112
echo all operations has been done
113
pause
113
pause
114
exit 0
114
exit 0