Subversion Repositories NedoOS

Rev

Rev 122 | Rev 289 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

  1. @ECHO OFF
  2. setlocal enabledelayedexpansion
  3. set wascurrentdir=%currentdir%
  4.  
  5. set C_FILES=ff
  6. set ASM_FILES=mylib.asm
  7. SET ADD_LINK_FILES=
  8.  
  9. set Z80_IDE_PATH=..\..\iar
  10. IF NOT EXIST %Z80_IDE_PATH%\bin\iccz80.exe (
  11.         ECHO IAR not found. Skipping build FatFS
  12.         EXIT /b
  13. )
  14.  
  15. set ICCZ80=%Z80_IDE_PATH%\bin\iccz80
  16. set AZ80=%Z80_IDE_PATH%\bin\az80
  17. set XLINK=%Z80_IDE_PATH%\bin\xlink
  18. set IARINC=%Z80_IDE_PATH%\inc\
  19. set IARLIB=%Z80_IDE_PATH%\lib\
  20. IF NOT EXIST %ICCZ80%.exe (
  21.         ECHO IAR not found. Skipping build "%PRJNAME%"
  22.         EXIT /b
  23. )
  24. echo Build fatfs
  25. set C_OPTIONS=-S -v0 -ml -uua -q -e -K -gA -z9 -t4 -T -Llist\ -Olist\ -Alist\ -I%IARINC%
  26. set LINK_OPTIONS=-S -cZ80 -Ilist -FRAW-BINARY -C %IARLIB%\clz80 -o fatfs.raw -l list/cout.l -xe
  27. set LINK_OPTIONS=!LINK_OPTIONS! -Z(CODE)TRST,RCODE,CODE,CDATA0,CONST,CSTR,CCSTR,DATA0,IDATA0,UDATA0,ECSTR,NO_INIT,TEMP=4000-7FFF
  28.  
  29. if not exist list mkdir list
  30.  
  31. FOR %%f IN (!C_FILES!) do (
  32.         SET ADD_LINK_FILES=!ADD_LINK_FILES! %%~nf.r01
  33.         %ICCZ80% %C_OPTIONS% %%f
  34. )
  35.  
  36. FOR %%f IN (!ASM_FILES!) do (
  37.         SET ADD_LINK_FILES=!ADD_LINK_FILES! %%~nf.r01
  38.         %AZ80% -S -Olist\ -uu %%f
  39. )
  40.  
  41. %XLINK% !ADD_LINK_FILES! !LINK_OPTIONS!
  42.  
  43. echo ;FatFS calls > ..\kernel\ffsfunc.asm
  44. echo ffsfunc >> ..\kernel\ffsfunc.asm
  45. FOR /F "eol=# tokens=1,2,3 delims=_ " %%i in (list/cout.l) do (
  46.         IF "%%i"=="f" @echo .%%i_%%j EQU 0x%%k >> ..\kernel\ffsfunc.asm
  47. )
  48. rem if "%wascurrentdir%"=="" (pause)
  49.