Make treat copy-kernel.o as intermediate and delete it when it's no longer needed. This can fail when the same submake was triggered multiple times for different devices. arm-openwrt-linux-muslgnueabi-as -k -o copy-kernel.o copy-kernel.S export MAKEFLAGS= ;make -w -C copy-kernel CROSS_COMPILE=arm-openwrt-linux-muslgnueabi- arm-openwrt-linux-muslgnueabi-objcopy -O binary -S copy-kernel.o copy-kernel.bin make[5]: Entering directory '/builder/shared-workdir/build/target/linux/gemini/image/copy-kernel' arm-openwrt-linux-muslgnueabi-objcopy -O binary -S copy-kernel.o copy-kernel.bin rm copy-kernel.o make[5]: Leaving directory '/builder/shared-workdir/build/target/linux/gemini/image/copy-kernel' # "App" partition is the rootfs arm-openwrt-linux-muslgnueabi-objcopy: 'copy-kernel.o': No such file Makefile:27: recipe for target 'copy-kernel.bin' failed make[5]: Leaving directory '/builder/shared-workdir/build/target/linux/gemini/image/copy-kernel' make[5]: *** [copy-kernel.bin] Error 1 Makefile:244: recipe for target '/builder/shared-workdir/build/build_dir/target-arm_fa526_musl_eabi/linux-gemini/tmp/openwrt-gemini-storlink_sl93512r-ext4-factory.bin' failed make[4]: *** [/builder/shared-workdir/build/build_dir/target-arm_fa526_musl_eabi/linux-gemini/tmp/openwrt-gemini-storlink_sl93512r-ext4-factory.bin] Error 2 With this change, output files are directed to $(KDIR) Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> |
||
|---|---|---|
| .github | ||
| config | ||
| include | ||
| package | ||
| scripts | ||
| target | ||
| toolchain | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| BSDmakefile | ||
| Config.in | ||
| feeds.conf.default | ||
| LICENSE | ||
| Makefile | ||
| README | ||
| rules.mk | ||
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
This is the buildsystem for the OpenWrt Linux distribution.
To build your own firmware you need a Linux, BSD or MacOSX system (case
sensitive filesystem required). Cygwin is unsupported because of the lack
of a case sensitive file system.
You need gcc, binutils, bzip2, flex, python3.5+, perl, make, find, grep, diff,
unzip, gawk, getopt, subversion, libz-dev and libc headers installed.
1. Run "./scripts/feeds update -a" to obtain all the latest package definitions
defined in feeds.conf / feeds.conf.default
2. Run "./scripts/feeds install -a" to install symlinks for all obtained
packages into package/feeds/
3. Run "make menuconfig" to select your preferred configuration for the
toolchain, target system & firmware packages.
4. Run "make" to build your firmware. This will download all sources, build
the cross-compile toolchain and then cross-compile the Linux kernel & all
chosen applications for your target system.
Sunshine!
Your OpenWrt Community
http://www.openwrt.org