SConscript 2.5 KB

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