Subversion Repositories Kolibri OS

Rev

Rev 232 | 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
  4. set drivers=unisound sis infinity ati2d
  5.  
  6. set opt_ok=0
  7. for %%a in (%languages%) do if %%a==%1 set opt_ok=1
  8. if %opt_ok%==0 goto :Check_Targets
  9.  
  10. echo building kernel with language %1 ...
  11.  
  12. if not exist bin mkdir bin
  13. echo lang fix %1 > lang.inc
  14. fasm kernel.asm bin\kernel.mnt
  15. if not %errorlevel%==0 goto :Error_FasmFailed
  16. erase lang.inc
  17. goto :Exit_OK
  18.  
  19. :Check_Targets
  20.  
  21. for %%a in (all drivers skins clean) do if %%a==%1 set opt_ok=1
  22. if %opt_ok%==0 goto :Error_WrongOption
  23. goto :Target_%1
  24.  
  25. :Target_all
  26.  
  27. echo building all ...
  28.  
  29. if not exist bin mkdir bin
  30. for %%a in (%languages%) do (
  31.   echo lang fix %%a > lang.inc
  32.   fasm kernel.asm bin\kernel_%%a.mnt
  33.   if not %errorlevel%==0 goto :Error_FasmFailed
  34. )
  35. erase lang.inc
  36. call :Target_drivers
  37. call :Target_skins
  38. exit :Exit_OK
  39.  
  40. :Target_drivers
  41.  
  42. echo building drivers ...
  43.  
  44. if not exist bin\drivers mkdir bin\drivers
  45. cd drivers
  46. for %%a in (%drivers%) do (
  47.   fasm %%a.asm ..\bin\drivers\%%a.obj
  48.   if not %errorlevel%==0 goto :Error_FasmFailed
  49. )
  50. cd ..
  51. goto :Exit_OK
  52.  
  53. :Target_skins
  54.  
  55. echo building skins ...
  56.  
  57. if not exist bin\skins mkdir bin\skins
  58. cd skin
  59. fasm default.asm ..\bin\skins\default.skn
  60. if not %errorlevel%==0 goto :Error_FasmFailed
  61. cd ..
  62. goto :Exit_OK
  63.  
  64. :Target_clean
  65.  
  66. echo cleaning ...
  67.  
  68. del /Q bin\drivers\*.*
  69. del /Q bin\skins\*.*
  70. del /Q bin\*.*
  71. rmdir bin\drivers
  72. rmdir bin\skins
  73. rmdir bin
  74. goto :Exit_OK
  75.  
  76. :Error_WrongOption
  77.  
  78. echo error: specified option is incorrect - '%1'
  79. exit 1
  80.  
  81. :Error_FasmFailed
  82.  
  83. echo error: fasm execution failed
  84. erase lang.inc
  85. exit 1
  86.  
  87. :Exit_OK
  88.