| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | // -*- mode:doc; -*-// vim: set syntax=asciidoc:Daily use---------Understanding when a full rebuild is necessary~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~OpenADK tries to detect what part of the system should be rebuilt when thesystem configuration is changed through +make menuconfig+.  In some cases itautomatically rebuilt packages, but sometimes just a warning is printed to theterminal, that a rebuild is necessary to make the changes an effect. If strangethings are happening, the autodetection might have not worked correctly, thenyou should consider to rebuild everything. If you are following development youshould always do a full rebuild after fetching updates via +git pull+. It isnot always required, but if anything fails, you are on your own.Use following to do a full rebuild without refetching distfiles:-------------------- $ make cleandir && make--------------------Understanding how to rebuild packages~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~In OpenADK you can rebuild a single package with:-------------------- $ make package=<pkgname> clean package--------------------It will automatically remove all files added to the staging target directory+target_*+. If you just want to restart compilation process, after makingsome fixes in +build_*/w-<pkgname>-<pkgversion>/+, just do:-------------------- $ make package=<pkgname> package--------------------If you are happy with your changes to the package sources, you can automaticallygenerate a patch, which will be saved in +package/<pkgname>/patches and automaticallyapplied on the next clean rebuild:-------------------- $ make package=<pkgname> update-patches--------------------The newly created patches will be opened in $EDITOR, so you can add some comments tothe top of the file, before the diff.Offline builds~~~~~~~~~~~~~~If you intend to do an offline build and just want to downloadall sources that you previously selected in the configuratorthen issue:-------------------- $ make download--------------------You can now disconnect or copy the content of your +dl+directory to the build-host.[[env-vars]]Environment variables~~~~~~~~~~~~~~~~~~~~~OpenADK also honors some environment variables, when they are passedto +make+.* +ADK_TARGET_ARCH+, the architecture of the target system* +ADK_TARGET_SYSTEM+, the embedded target system name* +ADK_TARGET_LIBC+, the C library for the target system* +ADK_VERBOSE+, verbose build, when set to 1An example that creates a configuration file for Raspberry PI with allsoftware packages enabled, but not included in the resulting firmware image:-------------------- $ make ADK_TARGET_ARCH=arm ADK_TARGET_SYSTEM=raspberry-pi ADK_TARGET_LIBC=musl allmodconfig--------------------This is often used in the development process of a target system, to verify thatall packages are compilable.
 |