The layout of the pacakge direcotry has changed, as upstream has added more than just trace-cmd in the repository (e.g. kernel-shark). However, the buildsystem for trace-cmd is... unconventional: - the top-level Makefile will recurse into the trace-cmd/ sub-directory, but does not pass any variable on the $(MAKE) command line; instead, it exports them in the environment, e.g.: export CFLAGS - the top-level Makefile appends some definitions to CFLAGS et al., sometimes with a simple append-assignment, sometimes with an overriden append-assignment, e.g.: CFLAGS += -DVSOCK override CFLAGS += -DNO_PTRACE - the top-level Makefile does not export all the variables. For example, LDFLAGS is not exported; - the Makefile in the trace-cmd/ sub-directory expects some variables to be set, which is done by the top-level Makefile. As a consequence, we can no longer pass our variable definitions as make variable defintions on the command line; we must pass them in the environment. Note that for some, like CFLAGS, that would still work, but it would not for others, like LDFLAGS; for consistency, we put all in the environment. We can however use the provided 'make install', that behaves as expected. But we must repeat most environment variables; especially, we duplicate TARGET_CONFIGURE_OPTS as it has PATH et al. which are needed by the top-level Makefile to properly detect tools (e.g. swig), which it uses to decide what it should install. Drop upstreamed patch. Update the licensing information: new license files have been added in a sub-directory, and the top-level COPYING now only references those two (rather than being the actual text of the GPL-2). Use two spaces in hash file. Signed-off-by: Norbert Lange <nolange79@gmail.com> [yann.morin.1998@free.fr: - keep using a git clone - unbreak the build: - use the default make target rule, or the plugins and python bindings be built at install time, with the host compiler - use the default install target rule - expand commit log: - detail buildsystem issues - add new license files and their hashes ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on Freenode IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches