package-reference.txt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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 conatins 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_NOPARALLEL+ optional, may be set to 1, to disable parallel building of the
  37. package via make -jn, n=4 is default, but can be changed in +Global Settings+ in the
  38. menu based configuration.
  39. * +PKG_OPTS+ optional, may be set to following values:
  40. +dev+ create a development package automatically, containing header files and +.pc+ files.
  41. Only useful for library packages, when you want to compile on the target.
  42. +devonly+ only creates a development package with header files, normally not needed on
  43. the target.
  44. +noscripts+ do not automatically install *-config and other build related scripts into
  45. +STAGING_TARGET_DIR/scripts+, required for automake/autoconf package
  46. +noremove+ do not automatically remove package files from +STAGING_TARGET_DIR+
  47. * +PKG_NEED_CXX+ optional, package need C++ compiler
  48. * +PKG_CXX+ optional, package can use either `uClibc++` or `libstdc++`
  49. The recommended way to define these variables is to use the following
  50. syntax:
  51. ----------------------
  52. PKG_VERSION:= 2.11
  53. ----------------------
  54. Or for lines longer than 80 characters use:
  55. ----------------------
  56. PKG_DEPENDS:= foo bar baz
  57. PKG_DEPENDS+= muh maeh
  58. ----------------------
  59. The variables that define what should be performed at the
  60. different steps of the configure, build and install process.
  61. * +CONFIG_STYLE+ manual, auto, minimal, basic, perl or cmake
  62. * +CONFIGURE_ARGS+ add --enable-foo/--disable-foo to configure
  63. * +CONFIGURE_ENV+ add additional environment variables to configure step
  64. * +HOST_STYLE+ either manual or auto
  65. * +HOST_CONFIGURE_ARGS+ add --enable-foo/--disable-foo to host configure
  66. * +HOST_CONFIGURE_ENV+ add additional environment variables to the host configure step
  67. * +AUTOTOOL_STYLE+ either autoreconf, autoconf or bootstrap
  68. * +BUILD_STYLE+ either manual or auto
  69. * +MAKE_ENV+ add additional variables to build step
  70. * +MAKE_FLAGS+ add additinal make flags to build step
  71. * +FAKE_FLAGS+ add additional make flags to fake install step
  72. * +XAKE_FLAGS+ add additional make flags to build and fake install step
  73. * +INSTALL_STYLE+ either manual or auto
  74. * +CONFIGURE_PROG+ overwrite default configure programm
  75. * +MAKE_FILE+ overwrite default Makefile
  76. * +ALL_TARGET+ overwrite default build target
  77. * +INSTALL_TARGET+ overwrite default install target
  78. The variables to add or overwrite preprocessor, compiler and linker flags:
  79. * +TARGET_CPPFLAGS+ flags for the preprocessor
  80. * +TARGET_CFLAGS+ flags for the compiler
  81. * +TARGET_LDFLAGS+ flags for the linker
  82. * +TARGET_CXXFLAGS+ flags for the C++ compiler
  83. * +HOST_CPPFLAGS+ flags used for host preprocessing
  84. * +HOST_CFLAGS+ flags used for host compiling
  85. * +HOST_LDFLAGS+ flags used for host linking
  86. * +HOST_CXXFLAGS+ flags for the C++ host compiler