Subversion Repositories Kolibri OS

Rev

Rev 352 | Rev 467 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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