From 9d097a780c0ffe2c9dbe146046d5b68123c47708 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 16 Mar 2014 19:51:41 +0100 Subject: add OpenADK manual. --- docs/package-reference.txt | 135 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 docs/package-reference.txt (limited to 'docs/package-reference.txt') diff --git a/docs/package-reference.txt b/docs/package-reference.txt new file mode 100644 index 000000000..650694bf2 --- /dev/null +++ b/docs/package-reference.txt @@ -0,0 +1,135 @@ +[[package-reference]] + ++package+ Reference +~~~~~~~~~~~~~~~~~~~ + +The list of variables that can be set in a +Makefile+ to give metadata +information is: + +* +PKG_NAME+, mandatory, must contain the name of the package. + +* +PKG_VERSION+, mandatory, must contain the version of the package. + +* +PKG_RELEASE+, mandatory, must contain the OpenADK specific release of the package. + +* +PKG_MD5SUM+, mandatory, must contain the MD5 hash of the package, will be used + to check if a download of a package is complete. + +* +PKG_SECTION+, mandatory, must contain the OpenADK specific section, see package/section.lst. + +* +PKG_RELEASE+, mandatory, must contain an one line summary of the package description. + +* +PKG_URL+, optional, may contain the url to the homepage of the package + +* +PKG_SITES+, mandatory, must contain the download url for the package, multiple entries + with space separated, are allowed. Only HTTP/HTTPS or FTP URLS are allowed. + A backup site (http://www.openadk.org/distfiles) is always used, if the package site is + not available. There is no direct support for cvs/svn/git/hg/bzr repositories, because + building OpenADK behind a HTTP proxy should be working without any configuration hassle. + There are also some predefined mirror sites in +mk/mirrors.mk+, + which can be used. + Example: PKG_SITES:= ${MASTER_SITE_GNU:=foo/} + +* +DISTFILES+ optional, may contain the name of the tarball of + the package. If +DISTFILES+ is not specified, it defaults to +PKG_NAME-PKG_VERSION.tar.gz+. + Example: DISTFILES= ${PKG_NAME}${PKG_VERSION}.tar.xz + +* +NO_DISTFILES+ optional, may be set to 1, to disable fetching of any archives. + Provide the source code for the package in +package//src+, which will be + automatically copied to the WRKBUILD/WRKSRC directory. + +* +PKG_BUILDDEP+ optional, lists the build time dependencies (in terms of package + directory name, see +package/+) that are required for the current target package to + compile. These dependencies are guaranteed to be compiled and + installed before the configuration of the current package starts. + +* +PKG_DEPENDS+ optional, lists the runtime dependencies that are required to + run the software package on the target. It conatins a list of package names, + which might be different to the package directory name. See what is used + in PKG_template, to find out the package name used here. + +* +PKG_NOPARALLEL+ optional, may be set to 1, to disable parallel building of the + package via make -jn, n=4 is default, but can be changed in +Global Settings+ in the + menu based configuration. + +* +PKG_OPTS+ optional, may be set to following values: + +dev+ create a development package automatically, containing header files and +.pc+ files. + Only useful for library packages, when you want to compile on the target. + +devonly+ only creates a development package with header files, normally not needed on + the target. + +noscripts+ do not automatically install *-config and other build related scripts into + +STAGING_TARGET_DIR/scripts+, required for automake/autoconf package + +noremove+ do not automatically remove package files from +STAGING_TARGET_DIR+ + +* +PKG_NEED_CXX+ optional, package need C++ compiler + +* +PKG_CXX+ optional, package can use either `uClibc++` or `libstdc++` + +The recommended way to define these variables is to use the following +syntax: + +---------------------- +PKG_VERSION:= 2.11 +---------------------- + +Or for lines longer than 80 characters use: +---------------------- +PKG_DEPENDS:= foo bar baz +PKG_DEPENDS+= muh maeh +---------------------- + + +The variables that define what should be performed at the +different steps of the configure, build and install process. + +* +CONFIG_STYLE+ either manual, auto or minimal + +* +CONFIGURE_ARGS+ add --enable-foo/--disable-foo to configure + +* +CONFIGURE_ENV+ add additional environment variables to configure step + +* +HOST_STYLE+ either manual or auto + +* +HOST_CONFIGURE_ARGS+ add --enable-foo/--disable-foo to host configure + +* +HOST_CONFIGURE_ENV+ add additional environment variables to the host configure step + +* +AUTOTOOL_STYLE+ either autoreconf, autoconf or bootstrap + +* +BUILD_STYLE+ either manual or auto + +* +MAKE_ENV+ add additional variables to build step + +* +MAKE_FLAGS+ add additinal make flags to build step + +* +FAKE_FLAGS+ add additional make flags to fake install step + +* +XAKE_FLAGS+ add additional make flags to build and fake install step + +* +INSTALL_STYLE+ either manual or auto + +* +CONFIGURE_PROG+ overwrite default configure programm + +* +MAKE_FILE+ overwrite default Makefile + +* +ALL_TARGET+ overwrite default build target + +* +INSTALL_TARGET+ overwrite default install target + +The variables to add or overwrite preprocessor, compiler and linker flags: + +* +TARGET_CPPFLAGS+ flags for the preprocessor + +* +TARGET_CFLAGS+ flags for the compiler + +* +TARGET_LDFLAGS+ flags for the linker + +* +TARGET_CXXFLAGS+ flags for the C++ compiler + +* +CPPFLAGS_FOR_BUILD+ flags used for host preprocessing + +* +CFLAGS_FOR_BUILD+ flags used for host compiling + +* +LDFLAGS_FOR_BUILD+ flags used for host linking + + -- cgit v1.2.3