SConscript 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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_USING_DFS_ELMFAT:
  52. src_local = src_local + elmfat
  53. # path = path + [RTT_ROOT + '/components/dfs/filesystems/elmfat']
  54. # group definitions
  55. group = {}
  56. group['name'] = 'Filesystem'
  57. group['src'] = File(src_local)
  58. group['CCFLAGS'] = ''
  59. group['CPPPATH'] = path
  60. group['CPPDEFINES'] = ''
  61. group['LINKFLAGS'] = ''
  62. # add group to project list
  63. projects.append(group)
  64. env.Append(CCFLAGS = group['CCFLAGS'])
  65. env.Append(CPPPATH = group['CPPPATH'])
  66. env.Append(CPPDEFINES = group['CPPDEFINES'])
  67. env.Append(LINKFLAGS = group['LINKFLAGS'])
  68. obj = env.Object(group['src'])
  69. Return('obj')