123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- // -*- mode:doc; -*-
- // vim: set syntax=asciidoc:
- [[make-tips]]
- === 'make' tips
- This is a collection of tips that help you make the most of Buildroot.
- .Display all commands executed by make:
- --------------------
- $ make V=1 <target>
- --------------------
- .Display the list of boards with a defconfig:
- --------------------
- $ make list-defconfigs
- --------------------
- .Display all available targets:
- --------------------
- $ make help
- --------------------
- Not all targets are always available,
- some settings in the +.config+ file may hide some targets:
- * +busybox-menuconfig+ only works when +busybox+ is enabled;
- * +linux-menuconfig+ and +linux-savedefconfig+ only work when
- +linux+ is enabled;
- * +uclibc-menuconfig+ is only available when the uClibc C library is
- selected in the internal toolchain backend;
- * +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the
- +barebox+ bootloader is enabled.
- * +uboot-menuconfig+ and +uboot-savedefconfig+ only work when the
- +U-Boot+ bootloader is enabled.
- .Cleaning:
- Explicit cleaning is required when any of the architecture or toolchain
- configuration options are changed.
- To delete all build products (including build directories, host, staging
- and target trees, the images and the toolchain):
- --------------------
- $ make clean
- --------------------
- .Generating the manual:
- The present manual sources are located in the 'docs/manual' directory.
- To generate the manual:
- ---------------------------------
- $ make manual-clean
- $ make manual
- ---------------------------------
- The manual outputs will be generated in 'output/docs/manual'.
- .Notes
- - A few tools are required to build the documentation (see:
- xref:requirement-optional[]).
- .Resetting Buildroot for a new target:
- To delete all build products as well as the configuration:
- --------------------
- $ make distclean
- --------------------
- .Notes
- If +ccache+ is enabled, running +make clean+ or +distclean+ does
- not empty the compiler cache used by Buildroot. To delete it, refer
- to xref:ccache[].
- .Dumping the internal make variables:
- One can dump the variables known to make, along with their values:
- ----
- $ make -s printvars VARS='VARIABLE1 VARIABLE2'
- VARIABLE1=value_of_variable
- VARIABLE2=value_of_variable
- ----
- It is possible to tweak the output using some variables:
- - +VARS+ will limit the listing to variables which names match the
- specified make-patterns - this must be set else nothing is printed
- - +QUOTED_VARS+, if set to +YES+, will single-quote the value
- - +RAW_VARS+, if set to +YES+, will print the unexpanded value
- For example:
- ----
- $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES
- BUSYBOX_DEPENDENCIES=skeleton toolchain
- BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain
- BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain
- BUSYBOX_FINAL_PATCH_DEPENDENCIES=
- BUSYBOX_RDEPENDENCIES=ncurses util-linux
- ----
- ----
- $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES
- BUSYBOX_DEPENDENCIES='skeleton toolchain'
- BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain'
- BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain'
- BUSYBOX_FINAL_PATCH_DEPENDENCIES=''
- BUSYBOX_RDEPENDENCIES='ncurses util-linux'
- ----
- ----
- $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES
- BUSYBOX_DEPENDENCIES=skeleton toolchain
- BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES))
- BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES))
- BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES))
- BUSYBOX_RDEPENDENCIES=ncurses util-linux
- ----
- The output of quoted variables can be reused in shell scripts, for example:
- ----
- $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES)
- $ echo $BUSYBOX_DEPENDENCIES
- skeleton toolchain
- ----
|