SConscript 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. Import('env')
  2. Import('rtconfig')
  3. Import('RTT_ROOT')
  4. Import('projects')
  5. dfs = Split("""
  6. src/dfs_fs.c
  7. src/dfs_init.c
  8. src/dfs_posix.c
  9. src/dfs_raw.c
  10. src/dfs_util.c
  11. """)
  12. # DFS-FatFs options
  13. fatfs = Split("""
  14. filesystems/fatfs/fatfs_cache.c
  15. filesystems/fatfs/fatfs_direntry.c
  16. filesystems/fatfs/fatfs_fat.c
  17. filesystems/fatfs/fatfs_file.c
  18. filesystems/fatfs/fatfs_filename.c
  19. filesystems/fatfs/fatfs_init.c
  20. filesystems/fatfs_misc.c
  21. filesystems/fatfs/fatfs_mount.c""")
  22. # DFS-ELMFAT options
  23. elmfat = Split("""
  24. filesystems/elmfat/dfs_elm.c
  25. filesystems/elmfat/ff.c
  26. """)
  27. # DFS-YAFFS2 options
  28. yaffs2_main = Split("""
  29. filesystems/yaffs2/direct/yaffscfg.c
  30. filesystems/yaffs2/direct/yaffs_fileem.c
  31. filesystems/yaffs2/direct/yaffsfs.c
  32. filesystems/yaffs2/direct/dfs_yaffs2.c
  33. """)
  34. yaffs2_comm = Split("""
  35. filesystems/yaffs2/yaffs_ecc.c
  36. filesystems/yaffs2/yaffs_guts.c
  37. filesystems/yaffs2/yaffs_packedtags1.c
  38. filesystems/yaffs2/yaffs_tagscompat.c
  39. filesystems/yaffs2/yaffs_packedtags2.c
  40. filesystems/yaffs2/yaffs_tagsvalidity.c
  41. filesystems/yaffs2/yaffs_nand.c
  42. filesystems/yaffs2/yaffs_checkptrw.c
  43. filesystems/yaffs2/yaffs_qsort.c
  44. """)
  45. src_local = dfs
  46. # The set of source files associated with this SConscript file.
  47. path = [RTT_ROOT + '/components/dfs', RTT_ROOT + '/components/dfs/include']
  48. if rtconfig.RT_USING_DFS_YAFFS2:
  49. src_local = src_local + yaffs2_main + yaffs2_comm
  50. path = path + [RTT_ROOT + '/components/dfs/filesystems/yaffs2', RTT_ROOT + '/components/dfs/filesystems/yaffs2/direct']
  51. if rtconfig.RT_DFS_ELM_USE_LFN:
  52. elmfat += ['filesystems/elmfat/option/cc936.c']
  53. if rtconfig.RT_USING_DFS_ELMFAT:
  54. src_local = src_local + elmfat
  55. # path = path + [RTT_ROOT + '/components/dfs/filesystems/elmfat']
  56. # group definitions
  57. group = {}
  58. group['name'] = 'Filesystem'
  59. group['src'] = File(src_local)
  60. group['CCFLAGS'] = ''
  61. group['CPPPATH'] = path
  62. group['CPPDEFINES'] = ''
  63. group['LINKFLAGS'] = ''
  64. # add group to project list
  65. projects.append(group)
  66. env.Append(CCFLAGS = group['CCFLAGS'])
  67. env.Append(CPPPATH = group['CPPPATH'])
  68. env.Append(CPPDEFINES = group['CPPDEFINES'])
  69. env.Append(LINKFLAGS = group['LINKFLAGS'])
  70. obj = env.Object(group['src'])
  71. Return('obj')