package-reference.txt 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. [[package-reference]]
  2. +package+ Reference
  3. ~~~~~~~~~~~~~~~~~~~
  4. The list of variables that can be set in a +Makefile+ to give metadata
  5. information is:
  6. * +PKG_NAME+, mandatory, must contain the name of the package.
  7. * +PKG_VERSION+, mandatory, must contain the version of the package.
  8. * +PKG_RELEASE+, mandatory, must contain the OpenADK specific release of the package.
  9. * +PKG_HASH+, mandatory, must contain the SHA256 hash of the package, will be used
  10. to check if a download of a package is complete.
  11. * +PKG_SECTION+, mandatory, must contain the OpenADK specific section, see package/section.lst.
  12. * +PKG_RELEASE+, mandatory, must contain an one line summary of the package description.
  13. * +PKG_URL+, optional, may contain the url to the homepage of the package
  14. * +PKG_SITES+, mandatory, must contain the download url for the package, multiple entries
  15. with space separated, are allowed. Only HTTP/HTTPS or FTP URLS are allowed.
  16. A backup site (http://www.openadk.org/distfiles) is always used, if the package site is
  17. not available. There is no direct support for cvs/svn/git/hg/bzr repositories, because
  18. building OpenADK behind a HTTP proxy should be working without any configuration hassle.
  19. There are also some predefined mirror sites in +mk/mirrors.mk+,
  20. which can be used.
  21. Example: PKG_SITES:= +${MASTER_SITE_GNU:=foo/}+
  22. * +DISTFILES+ optional, may contain the name of the tarball of
  23. the package. If +DISTFILES+ is not specified, it defaults to +PKG_NAME-PKG_VERSION.tar.xz+.
  24. Example: DISTFILES= +${PKG_NAME}${PKG_VERSION}.tar.gz+
  25. * +NO_DISTFILES+ optional, may be set to 1, to disable fetching of any archives.
  26. Provide the source code for the package in +package/<pkgname>/src+, which will be
  27. automatically copied to the WRKBUILD/WRKSRC directory.
  28. * +PKG_BUILDDEP+ optional, lists the build time dependencies (in terms of package
  29. directory name, see +package/+) that are required for the current target package to
  30. compile. These dependencies are guaranteed to be compiled and
  31. installed before the configuration of the current package starts.
  32. * +PKG_DEPENDS+ optional, lists the runtime dependencies that are required to
  33. run the software package on the target. It contains a list of package names,
  34. which might be different to the package directory name. See what is used
  35. in PKG_template, to find out the package name used here.
  36. * +PKG_KDEPENDS+ optional, lists the kernel module dependencies that are required to
  37. run the software package on the target. It contains a list of kernel module names
  38. in lower case as used in +target/linux/config+. (use minus instead of underscores)
  39. * +PKG_NEEDS+ optional, lists the features that are required to build or
  40. run the software package on the target. It contains a list of keywords.
  41. Supported are +threads+ +rt+ +c+++
  42. * +PKG_NOPARALLEL+ optional, may be set to 1, to disable parallel building of the
  43. package via make -jn, n=4 is default, but can be changed in +Global Settings+ in the
  44. menu based configuration.
  45. * +PKG_OPTS+ optional, may be set to following values:
  46. +dev+ create a development package automatically, containing header files and +.pc+ files.
  47. Only useful for library packages, when you want to compile on the target.
  48. +devonly+ only creates a development package with header files, normally not needed on
  49. the target.
  50. +noscripts+ do not automatically install *-config and other build related scripts into
  51. +STAGING_TARGET_DIR/scripts+, required for automake/autoconf package
  52. +noremove+ do not automatically remove package files from +STAGING_TARGET_DIR+
  53. The recommended way to define these variables is to use the following
  54. syntax:
  55. ----------------------
  56. PKG_VERSION:= 2.11
  57. ----------------------
  58. Or for lines longer than 80 characters use:
  59. ----------------------
  60. PKG_DEPENDS:= foo bar baz
  61. PKG_DEPENDS+= muh maeh
  62. ----------------------
  63. The variables that define what should be performed at the
  64. different steps of the configure, build and install process.
  65. * +CONFIG_STYLE+ manual, auto, minimal, basic, perl or cmake
  66. * +CONFIGURE_ARGS+ add --enable-foo/--disable-foo to configure
  67. * +CONFIGURE_ENV+ add additional environment variables to configure step
  68. * +HOST_STYLE+ either manual or auto
  69. * +HOST_CONFIGURE_ARGS+ add --enable-foo/--disable-foo to host configure
  70. * +HOST_CONFIGURE_ENV+ add additional environment variables to the host configure step
  71. * +AUTOTOOL_STYLE+ either autoreconf, autoconf or bootstrap
  72. * +BUILD_STYLE+ either manual or auto
  73. * +MAKE_ENV+ add additional variables to build step
  74. * +MAKE_FLAGS+ add additinal make flags to build step
  75. * +FAKE_FLAGS+ add additional make flags to fake install step
  76. * +XAKE_FLAGS+ add additional make flags to build and fake install step
  77. * +INSTALL_STYLE+ either manual or auto
  78. * +CONFIGURE_PROG+ overwrite default configure programm
  79. * +MAKE_FILE+ overwrite default Makefile
  80. * +ALL_TARGET+ overwrite default build target
  81. * +INSTALL_TARGET+ overwrite default install target
  82. The variables to add or overwrite preprocessor, compiler and linker flags:
  83. * +TARGET_CPPFLAGS+ flags for the preprocessor
  84. * +TARGET_CFLAGS+ flags for the compiler
  85. * +TARGET_LDFLAGS+ flags for the linker
  86. * +TARGET_CXXFLAGS+ flags for the C++ compiler
  87. * +HOST_CPPFLAGS+ flags used for host preprocessing
  88. * +HOST_CFLAGS+ flags used for host compiling
  89. * +HOST_LDFLAGS+ flags used for host linking
  90. * +HOST_CXXFLAGS+ flags for the C++ host compiler