treewide: add ORIG_PATH variable Add a variable that stores the original value of $PATH in the host system's shell, before Make alters it. This can be useful for when it is necessary to ignore symlinks and programs made by the build system. Define this new variable before all instances of 'export PATH:=' or similar. Signed-off-by: Michael Pratt <mcpratt@pm.me>
toolchain: wrapper.sh: fix TOOLCHAIN_SYSROOT path 62c1740676 changed the location of the script from $(TOOLCHAIN_DIR)/usr to $(TOOLCHAIN_DIR), but the TOOLCHAIN_SYSROOT used in wrapper.sh was still expecting to find the script under usr/bin. Fixes: 62c1740676 toolchain: fix the sysroot mess by getting... Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
target: fix copying of licenses for SDK/toolchain The SDK and target/toolchain copy the license file into their directories. During the rename/move from LICENSE to a LICENSES folder, this has not been updated. Update it now, and include the new COPYING file. While at it, improve formatting/indent. Fixes: 882e3014610b ("LICENSES: include all used licenses in LICENSES directory") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
build: improve ccache support Set CCACHE_DIR to $(TOPDIR)/.ccache and CCACHE_BASEDIR to $(TOPDIR). This allows to do clean and dirclean. Cache hit rate for test build after dirclean is ~65%. If CCACHE is enabled stats are printed out at the end of building process. CCACHE_DIR config variable allows to override default, which could be useful when sharing cache with many builds. cacheclean make target allows to clean the cache. Changes from v1: - remove ccache directory using CCACHE_DIR variable - remove ccache leftovers from sdk and toolchain make files - introduce CONFIG_CCACHE_DIR variable - introduce cacheclean make target Signed-off-by: Roman Yeryomin <roman@advem.lv>
toolchain/wrapper.sh: fix remaining shellcheck warnings Fixes following warnings: In target/toolchain/files/wrapper.sh line 18: REALNAME=$(readlink -f $0) ^-- SC2086: Double quote to prevent globbing and word splitting. -- In target/toolchain/files/wrapper.sh line 20: REALNAME_BASE=$(basename $REALNAME) ^-------^ SC2086: Double quote to prevent globbing and word splitting. -- In target/toolchain/files/wrapper.sh line 21: REALNAME_DIR=$(dirname $REALNAME) ^-------^ SC2086: Double quote to prevent globbing and word splitting. -- In target/toolchain/files/wrapper.sh line 74: exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin $GCC_SYSROOT_FLAGS $TARGET_FUNDAMENTAL_CFLAGS $TARGET_ROOTFS_CFLAGS "$@" ^-----------------------^ SC2086: Double quote to prevent globbing and word splitting. -- In target/toolchain/files/wrapper.sh line 77: exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin $LD_SYSROOT_FLAGS $TARGET_FUNDAMENTAL_LDFLAGS "$@" ^-----------------------^ SC2086: Double quote to prevent globbing and word splitting. -- In target/toolchain/files/wrapper.sh line 80: exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin $TARGET_FUNDAMENTAL_ASFLAGS "$@" ^-----------------------^ SC2086: Double quote to prevent globbing and word splitting. -- In target/toolchain/files/wrapper.sh line 83: exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin "$@" ^-----------------------^ SC2086: Double quote to prevent globbing and word splitting. Signed-off-by: Petr Štetiar <ynezz@true.cz>
toolchain/wrapper: replace legacy backticks with $() This replaces deprecated backticks by more versatile $(...) syntax. Found with shellcheck. Signed-off-by: Rosen Penev <rosenp@gmail.com> [alter commit title, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/toolchain: Fix toolchain packaging without package build If the toolchain is packaged for later use as external toolchain, the resulting tarball is created in $BIN_DIR. But without building all packages first that directory isn't created, hence 'make target/toolchain/compile' fails when trying to create the toolchain tarball with error "Cannot open: No such file or directory". To fix that the $BIN_DIR is created before using it. Signed-off-by: Micha Lenk <micha@lenk.info>