Subversion Repositories Kolibri OS

Rev

Rev 1505 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1505 Rev 1508
Line 1... Line 1...
1
@echo off
1
@echo off
2
cls
2
 
3
set languages=en ru ge et
3
set languages=en ru
4
set drivers=sound sis infinity ensoniq ps2mouse com_mouse uart ati2d vmode
-
 
5
set targets=all kernel drivers skins clean
-
 
6
 
4
 
7
call :Check_Target %1
5
call :Check_Lang en
8
for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2
-
 
9
call :Target_%target%
6
call :Target_kernel
Line 10... Line 7...
10
 
7
 
Line 11... Line 8...
11
if ERRORLEVEL 0 goto Exit_OK
8
if ERRORLEVEL 0 goto Exit_OK
12
 
9
 
Line 29... Line 26...
29
 
26
 
30
   set /P res=">
27
   set /P res=">
31
   goto Check_Lang_loop
28
   goto Check_Lang_loop
Line 32... Line -...
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
 
-
 
40
   echo Target '%res%' is incorrect
-
 
41
   echo Enter valid target [ %targets% ]:
-
 
42
 
-
 
43
   set /P res=">
-
 
44
   goto Check_Target_loop
-
 
Line 45... Line 29...
45
goto :eof
29
goto :eof
46
 
30
 
Line 47... Line 31...
47
 
31
 
Line 54... Line 38...
54
   if not %errorlevel%==0 goto :Error_FasmFailed
38
   if not %errorlevel%==0 goto :Error_FasmFailed
55
   erase lang.inc
39
   erase lang.inc
56
goto :eof
40
goto :eof
Line 57... Line -...
57
 
-
 
58
 
-
 
59
:Target_all
-
 
60
   call :Target_kernel
-
 
61
   call :Target_drivers
-
 
62
   call :Target_skins
-
 
63
goto :eof
-
 
64
 
-
 
65
 
-
 
66
:Target_drivers
-
 
67
   echo *** building drivers ...
-
 
68
 
-
 
69
   if not exist bin\drivers mkdir bin\drivers
-
 
70
   cd drivers
-
 
71
   for %%a in (%drivers%) do (
-
 
72
     fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj
-
 
73
     if not %errorlevel%==0 goto :Error_FasmFailed
-
 
74
   )
-
 
75
   cd ..
-
 
76
   move bin\drivers\vmode.obj bin\drivers\vmode.mdr
-
 
77
 
-
 
78
 
-
 
79
kpack >nul 2>&1
-
 
80
 
-
 
81
if %errorlevel%==9009 goto :Error_KpackFailed
-
 
82
 
-
 
83
echo *
-
 
84
echo ##############################################
-
 
85
echo *
-
 
86
echo Kpack KolibriOS drivers?
-
 
87
echo *    
-
 
88
 
-
 
89
set /P res=[y/n]?
-
 
90
 
-
 
91
if "%res%"=="y" (
-
 
92
 
-
 
93
  echo *
-
 
94
  echo Compressing system
-
 
95
 
-
 
96
  echo *
-
 
97
  for %%a in (bin\drivers\*.obj) do (
-
 
98
    echo ================== kpack %%a
-
 
99
    kpack %%a
-
 
100
    if not %errorlevel%==0 goto :Error_KpackFailed
-
 
101
  )
-
 
102
 
-
 
103
)
-
 
104
goto :eof
-
 
105
 
-
 
106
 
-
 
107
:Target_skins
-
 
108
   echo *** building skins ...
-
 
109
 
-
 
110
   if not exist bin\skins mkdir bin\skins
-
 
111
   cd skin
-
 
112
   fasm -m 65536 default.asm ..\bin\skins\default.skn
-
 
113
   if not %errorlevel%==0 goto :Error_FasmFailed
-
 
114
   cd ..
-
 
115
goto :eof
-
 
116
 
-
 
117
:Target_clean
-
 
118
   echo *** cleaning ...
-
 
119
   rmdir /S /Q bin
-
 
Line 120... Line 41...
120
goto :Exit_OK
41
 
121
 
42
 
122
 
43
 
123
:Error_FasmFailed
-
 
124
echo error: fasm execution failed
-
 
125
erase lang.inc >nul 2>&1
-
 
126
echo.
-
 
127
pause
-
 
128
exit 1
-
 
129
 
-
 
130
:Error_KpackFailed
-
 
131
echo   *** NOTICE ***
-
 
132
echo If you want to pack all applications you may 
44
:Error_FasmFailed
133
echo place "kpack" in accessible directory or system %PATH%.
45
echo error: fasm execution failed
Line 134... Line 46...
134
echo You can get this tool from KolibriOS distribution kit.
46
erase lang.inc
135
pause
-
 
136
exit 1
47
pause
137
 
48
exit 1
138
:Exit_OK
49