Subversion Repositories Kolibri OS

Rev

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