extended_export.txt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. Overview
  2. --------
  3. Raptor bld.inf processing now recognises the :xexport prefix within export
  4. sections to denote an "Extended export". Extended exports support whole
  5. directory copies (optionally recursive) with wildcard filename matching of
  6. source files.
  7. Syntax
  8. ------
  9. :xexport requires both a source directory and a destination directory with
  10. which to operate, and optionally takes arguments in square brackets of the
  11. form ':xexport[option1=value option2=value optionN=value]'.
  12. Initially supported arguments are:
  13. match="filename pattern match": limits copies to source files matching
  14. a pattern - supports "*" (multiple character) and "?" (single character)
  15. wildcards. Not using 'match' is the equivalent to specifying [match="*"].
  16. recursive=true|false: if 'true', applies operations to sub-directories
  17. found at the source directory onwards. Not using 'recursive' is the
  18. equivalent to specifying [recursive=false]
  19. Argument order is not significant.
  20. This gives the following general syntax:
  21. PRJ_EXPORTS
  22. :xexport[match="filename_match" recursive=true|false] source_dir dest_dir
  23. PRJ_TESTEXPORTS
  24. :xexport[match="filename_match" recursive=true|false] source_dir dest_dir
  25. Examples
  26. --------
  27. File System - Source
  28. /component/bld.inf
  29. /component/dir1/file1dir1.txt
  30. /component/dir1/file2dir1.txt
  31. /component/dir1/dir2/file1dir2.txt
  32. /component/dir1/dir2/file2dir2.txt
  33. /component/dir1/dir2/dir3/file1dir3.txt
  34. /component/dir1/dir2/dir3/file2dir3.txt
  35. /component/bld.inf
  36. PRJ_EXPORTS
  37. dir1/file1dir1.txt destdir1
  38. :xexport dir1/dir2 destdir2
  39. :xexport[recursive=true] dir1/dir2 destdir3
  40. :xexport[match="*1dir?.txt"] dir1/dir2 destdir4
  41. :xexport[match="*1dir?.txt" recursive=true] dir1/dir2 destdir5/subdir
  42. File System - Destination
  43. $EPOCROOT/epoc32/include/destdir1/file1dir1.txt
  44. $EPOCROOT/epoc32/include/destdir2/file1dir2.txt
  45. $EPOCROOT/epoc32/include/destdir2/file2dir2.txt
  46. $EPOCROOT/epoc32/include/destdir3/file1dir2.txt
  47. $EPOCROOT/epoc32/include/destdir3/file2dir2.txt
  48. $EPOCROOT/epoc32/include/destdir3/dir3/file1dir3.txt
  49. $EPOCROOT/epoc32/include/destdir3/dir3/file2dir3.txt
  50. $EPOCROOT/epoc32/include/destdir4/file1dir2.txt
  51. $EPOCROOT/epoc32/include/destdir5/subdir/file1dir2.txt
  52. $EPOCROOT/epoc32/include/destdir5/subdir/dir3/file1dir3.txt
  53. Notes
  54. -----
  55. * Extended exports ignore symbolic link to directories (on host OSs that
  56. support them)
  57. * Destination locations are resolved as directories using the same rules that
  58. apply to normal exports e.g. implicit $EPOCROOT/epoc32/include off-sets if no
  59. destination is given, etc.
  60. * Pattern matches listed using 'match' apply to files only, not directories
  61. * As with normal exports, source files must exist if they are to be exported
  62. to their destination in the same build