Subversion Repositories Kolibri OS

Rev

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

Rev 2259 Rev 2268
1
@echo off
1
@echo off
2
cls
2
cls
3
set languages=en ru ge et
3
set languages=en ru ge et
4
set drivers=com_mouse emu10k1x ensoniq fm801 infinity sis sound viasound vt823x
4
set drivers=com_mouse emu10k1x fm801 infinity sis sound viasound vt823x
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 There was an error executing script.
13
echo There was an error executing script.
14
echo For any help, please send a report.
14
echo For any help, please 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 incorrect
27
   echo Language '%res%' is incorrect
28
   echo Enter valid language [ %languages% ]:
28
   echo Enter valid language [ %languages% ]:
29
 
29
 
30
   set /P res=">
30
   set /P res=">
31
   goto Check_Lang_loop
31
   goto Check_Lang_loop
32
goto :eof
32
goto :eof
33
 
33
 
34
:Check_Target
34
:Check_Target
35
   set res=%1
35
   set res=%1
36
  :Check_Target_loop
36
  :Check_Target_loop
37
   for %%a in (%targets%) do if %%a==%res% set target=%res%
37
   for %%a in (%targets%) do if %%a==%res% set target=%res%
38
   if defined target goto :eof
38
   if defined target goto :eof
39
 
39
 
40
   echo Target '%res%' is incorrect
40
   echo Target '%res%' is incorrect
41
   echo Enter valid target [ %targets% ]:
41
   echo Enter valid target [ %targets% ]:
42
 
42
 
43
   set /P res=">
43
   set /P res=">
44
   goto Check_Target_loop
44
   goto Check_Target_loop
45
goto :eof
45
goto :eof
46
 
46
 
47
 
47
 
48
:Target_kernel
48
:Target_kernel
49
   echo *** building kernel with language '%lang%' ...
49
   echo *** building kernel with language '%lang%' ...
50
 
50
 
51
   if not exist bin mkdir bin
51
   if not exist bin mkdir bin
52
   echo lang fix %lang% > lang.inc
52
   echo lang fix %lang% > lang.inc
53
   fasm -m 65536 kernel.asm bin\kernel.mnt
53
   fasm -m 65536 kernel.asm bin\kernel.mnt
54
   if not %errorlevel%==0 goto :Error_FasmFailed
54
   if not %errorlevel%==0 goto :Error_FasmFailed
55
   erase lang.inc
55
   erase lang.inc
56
goto :eof
56
goto :eof
57
 
57
 
58
 
58
 
59
:Target_all
59
:Target_all
60
   call :Target_kernel
60
   call :Target_kernel
61
   call :Target_drivers
61
   call :Target_drivers
62
   call :Target_skins
62
   call :Target_skins
63
goto :eof
63
goto :eof
64
 
64
 
65
 
65
 
66
:Target_drivers
66
:Target_drivers
67
   echo *** building drivers ...
67
   echo *** building drivers ...
68
 
68
 
69
   if not exist bin\drivers mkdir bin\drivers
69
   if not exist bin\drivers mkdir bin\drivers
70
   cd drivers
70
   cd drivers
71
   for %%a in (%drivers%) do (
71
   for %%a in (%drivers%) do (
72
     fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj
72
     fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj
73
     if not %errorlevel%==0 goto :Error_FasmFailed
73
     if not %errorlevel%==0 goto :Error_FasmFailed
74
   )
74
   )
75
   cd ..
75
   cd ..
76
   move bin\drivers\vmode.obj bin\drivers\vmode.mdr
-
 
77
 
-
 
78
 
76
 
79
kpack >nul 2>&1
77
kpack >nul 2>&1
80
 
78
 
81
if %errorlevel%==9009 goto :Error_KpackFailed
79
if %errorlevel%==9009 goto :Error_KpackFailed
82
 
80
 
83
echo *
81
echo *
84
echo ##############################################
82
echo ##############################################
85
echo *
83
echo *
86
echo Kpack KolibriOS drivers?
84
echo Kpack KolibriOS drivers?
87
echo *    
85
echo *    
88
 
86
 
89
set /P res=[y/n]?
87
set /P res=[y/n]?
90
 
88
 
91
if "%res%"=="y" (
89
if "%res%"=="y" (
92
 
90
 
93
  echo *
91
  echo *
94
  echo Compressing system
92
  echo Compressing system
95
 
93
 
96
  echo *
94
  echo *
97
  for %%a in (bin\drivers\*.obj) do (
95
  for %%a in (bin\drivers\*.obj) do (
98
    echo ================== kpack %%a
96
    echo ================== kpack %%a
99
    kpack %%a
97
    kpack %%a
100
    if not %errorlevel%==0 goto :Error_KpackFailed
98
    if not %errorlevel%==0 goto :Error_KpackFailed
101
  )
99
  )
102
 
100
 
103
)
101
)
104
goto :eof
102
goto :eof
105
 
103
 
106
 
104
 
107
:Target_skins
105
:Target_skins
108
   echo *** building skins ...
106
   echo *** building skins ...
109
 
107
 
110
   if not exist bin\skins mkdir bin\skins
108
   if not exist bin\skins mkdir bin\skins
111
   cd skin
109
   cd skin
112
   fasm -m 65536 default.asm ..\bin\skins\default.skn
110
   fasm -m 65536 default.asm ..\bin\skins\default.skn
113
   if not %errorlevel%==0 goto :Error_FasmFailed
111
   if not %errorlevel%==0 goto :Error_FasmFailed
114
   cd ..
112
   cd ..
115
goto :eof
113
goto :eof
116
 
114
 
117
:Target_clean
115
:Target_clean
118
   echo *** cleaning ...
116
   echo *** cleaning ...
119
   rmdir /S /Q bin
117
   rmdir /S /Q bin
120
goto :Exit_OK
118
goto :Exit_OK
121
 
119
 
122
 
120
 
123
:Error_FasmFailed
121
:Error_FasmFailed
124
echo error: fasm execution failed
122
echo error: fasm execution failed
125
erase lang.inc >nul 2>&1
123
erase lang.inc >nul 2>&1
126
echo.
124
echo.
127
pause
125
pause
128
exit 1
126
exit 1
129
 
127
 
130
:Error_KpackFailed
128
:Error_KpackFailed
131
echo   *** NOTICE ***
129
echo   *** NOTICE ***
132
echo If you want to pack all applications you may 
130
echo If you want to pack all applications you may 
133
echo place "kpack" in accessible directory or system %PATH%.
131
echo place "kpack" in accessible directory or system %PATH%.
134
echo You can get this tool from KolibriOS distribution kit.
132
echo You can get this tool from KolibriOS distribution kit.
135
pause
133
pause
136
exit 1
134
exit 1
137
 
135
 
138
:Exit_OK
136
:Exit_OK
139
echo.
137
echo.
140
echo all operations have been done
138
echo all operations have been done
141
pause
139
pause
142
exit 0
140
exit 0