SConscript 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. nfs = Split('''
  46. filesystems/nfs/mount_clnt.c
  47. filesystems/nfs/mount_xdr.c
  48. filesystems/nfs/nfs_clnt.c
  49. filesystems/nfs/nfs_xdr.c
  50. filesystems/nfs/dfs_nfs.c
  51. filesystems/nfs/rpc/auth_none.c
  52. filesystems/nfs/rpc/clnt_generic.c
  53. filesystems/nfs/rpc/clnt_udp.c
  54. filesystems/nfs/rpc/rpc_prot.c
  55. filesystems/nfs/rpc/pmap.c
  56. filesystems/nfs/rpc/xdr.c
  57. filesystems/nfs/rpc/xdr_mem.c
  58. ''')
  59. src_local = dfs
  60. # The set of source files associated with this SConscript file.
  61. path = [RTT_ROOT + '/components/dfs', RTT_ROOT + '/components/dfs/include']
  62. if 'RT_USING_DFS_YAFFS2' in dir(rtconfig) and rtconfig.RT_USING_DFS_YAFFS2:
  63. src_local = src_local + yaffs2_main + yaffs2_comm
  64. path = path + [RTT_ROOT + '/components/dfs/filesystems/yaffs2', RTT_ROOT + '/components/dfs/filesystems/yaffs2/direct']
  65. if 'RT_DFS_ELM_USE_LFN' in dir(rtconfig) and rtconfig.RT_DFS_ELM_USE_LFN:
  66. elmfat += ['filesystems/elmfat/option/cc936.c']
  67. if 'RT_USING_DFS_ELMFAT' in dir(rtconfig) and rtconfig.RT_USING_DFS_ELMFAT:
  68. src_local = src_local + elmfat
  69. if 'RT_USING_DFS_NFS' in dir(rtconfig) and rtconfig.RT_USING_DFS_NFS:
  70. src_local = src_local + nfs
  71. path = path + [RTT_ROOT + '/components/dfs/filesystems/nfs']
  72. # group definitions
  73. group = {}
  74. group['name'] = 'Filesystem'
  75. group['src'] = File(src_local)
  76. group['CCFLAGS'] = ''
  77. group['CPPPATH'] = path
  78. group['CPPDEFINES'] = ''
  79. group['LINKFLAGS'] = ''
  80. # add group to project list
  81. projects.append(group)
  82. env.Append(CCFLAGS = group['CCFLAGS'])
  83. env.Append(CPPPATH = group['CPPPATH'])
  84. env.Append(CPPDEFINES = group['CPPDEFINES'])
  85. env.Append(LINKFLAGS = group['LINKFLAGS'])
  86. obj = env.Object(group['src'])
  87. Return('obj')