Subversion Repositories Kolibri OS

Rev

Rev 769 | Rev 1093 | 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
2
 
271 kaitz 3
set languages=en ru ge et
769 Rus 4
set drivers=sound sis infinity ensoniq ps2mouse com_mouse uart ati2d vmode
529 spraid 5
set targets=all kernel drivers skins clean
231 mikedld 6
 
232 victor 7
call :Check_Target %1
8
for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2
9
call :Target_%target%
231 mikedld 10
 
232 victor 11
if ERRORLEVEL 0 goto Exit_OK
231 mikedld 12
 
467 mikedld 13
echo There was an error executing script.
14
echo For any help, please send a report.
232 victor 15
pause
16
goto :eof
231 mikedld 17
 
18
 
19
 
232 victor 20
 
21
:Check_Lang
22
   set res=%1
23
  :Check_Lang_loop
24
   for %%a in (%languages%) do if %%a==%res% set lang=%res%
25
   if defined lang goto :eof
26
 
467 mikedld 27
   echo Language '%res%' is incorrect
28
   echo Enter valid language [ %languages% ]:
232 victor 29
 
30
   set /P res=">
31
   goto Check_Lang_loop
32
goto :eof
33
 
34
:Check_Target
35
   set res=%1
36
  :Check_Target_loop
37
   for %%a in (%targets%) do if %%a==%res% set target=%res%
38
   if defined target goto :eof
39
 
467 mikedld 40
   echo Target '%res%' is incorrect
41
   echo Enter valid target [ %targets% ]:
232 victor 42
 
43
   set /P res=">
44
   goto Check_Target_loop
45
goto :eof
46
 
47
 
48
:Target_kernel
467 mikedld 49
   echo *** building kernel with language '%lang%' ...
232 victor 50
 
51
   if not exist bin mkdir bin
52
   echo lang fix %lang% > lang.inc
373 mikedld 53
   fasm -m 65536 kernel.asm bin\kernel.mnt
232 victor 54
   if not %errorlevel%==0 goto :Error_FasmFailed
55
   erase lang.inc
56
goto :eof
57
 
58
 
231 mikedld 59
:Target_all
232 victor 60
   call :Target_kernel
61
   call :Target_drivers
62
   call :Target_skins
63
goto :eof
231 mikedld 64
 
65
 
66
:Target_drivers
467 mikedld 67
   echo *** building drivers ...
231 mikedld 68
 
232 victor 69
   if not exist bin\drivers mkdir bin\drivers
70
   cd drivers
71
   for %%a in (%drivers%) do (
373 mikedld 72
     fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj
232 victor 73
     if not %errorlevel%==0 goto :Error_FasmFailed
74
   )
75
   cd ..
467 mikedld 76
   move bin\drivers\vmode.obj bin\drivers\vmode.mdr
1091 Lrz 77
 
78
echo *
79
echo ##############################################
80
echo *
81
echo Kpack KolibriOS drivers?
82
echo *
83
 
84
set /P res=[y/n]?
85
 
86
if "%res%"=="y" (
87
 
88
echo *
89
echo Compressing system
90
 
91
echo *
92
REM   for %*.obj in (bin\drivers) do (
93
REM     kpack bin\drivers\%*.obj
94
REM     if not %errorlevel%==0 goto :Error_FasmFailed
95
REM   )
96
 
97
 
98
echo ================== kpack ati2d.obj
99
@kpack bin\drivers\ati2d.obj
100
echo ================== kpack com_mouse.obj
101
@kpack bin\drivers\com_mouse.obj
102
echo ================== kpack ensoniq.obj
103
@kpack bin\drivers\ensoniq.obj
104
echo ================== kpack infinity.obj
105
@kpack bin\drivers\infinity.obj
106
echo ================== kpack ps2mouse.obj
107
@kpack bin\drivers\ps2mouse.obj
108
echo ================== kpack sis.obj
109
@kpack bin\drivers\sis.obj
110
echo ================== kpack sound.obj
111
@kpack bin\drivers\sound.obj
112
echo ================== kpack uart.obj
113
@kpack bin\drivers\uart.obj
114
)
232 victor 115
goto :eof
231 mikedld 116
 
117
 
118
:Target_skins
467 mikedld 119
   echo *** building skins ...
231 mikedld 120
 
232 victor 121
   if not exist bin\skins mkdir bin\skins
122
   cd skin
373 mikedld 123
   fasm -m 65536 default.asm ..\bin\skins\default.skn
232 victor 124
   if not %errorlevel%==0 goto :Error_FasmFailed
125
   cd ..
126
goto :eof
231 mikedld 127
 
128
:Target_clean
467 mikedld 129
   echo *** cleaning ...
489 victor 130
   rmdir /S /Q bin
231 mikedld 131
goto :Exit_OK
132
 
133
 
134
:Error_FasmFailed
135
echo error: fasm execution failed
136
erase lang.inc
232 victor 137
pause
231 mikedld 138
exit 1
139
 
140
:Exit_OK
232 victor 141
echo all operations has been done
142
pause
467 mikedld 143
exit 0