{ "bootstrap": { "type": "export" , "flexible_config": ["ARCH", "TARGET_ARCH", "TOOLCHAIN_CONFIG", "ENV"] , "target": "bootstrap-make" } , "toolchain": { "type": "export" , "flexible_config": ["ARCH", "TARGET_ARCH", "TOOLCHAIN_CONFIG", "ENV"] , "target": "make" } , "files": {"type": "install", "deps": [["TREE", null, "."]]} , "bootstrap-make": { "type": ["@", "rules", "CC/foreign/shell", "data"] , "project": ["files"] , "localbase": [["@", "busybox", "", "bootstrap"]] , "cmds": [ "export PATH=${LOCALBASE}/bin:$PATH" , "export LD=${CC}" , "export AR=true" , "export RANLIB=true" , "export SHELL=${LOCALBASE}/bin/sh" , "export CONFIG_SHELL=${LOCALBASE}/bin/sh" , "unset LDFLAGS" , "cd ${TMPDIR}" , "(sh ${WORKDIR}/configure --prefix=/ --disable-nls --disable-rpath --disable-load --disable-dependency-tracking >configure.log 2>&1) || (cat configure.log && exit 1)" , "(sh ./build.sh >build.log 2>&1) || true" , "${CC} -o make $(ls src/*.o lib/*.o | LC_ALL=C sort) >build.log 2>&1 || (cat configure.log build.log && exit 1)" , "mv make ${DESTDIR}/bin/" ] , "outs": ["bin/make"] } , "staged-localbase": { "type": "install" , "dirs": [ [["@", "busybox", "", "toolchain"], "busybox"] , ["bootstrap", "make"] , [["@", "gcc", "", "toolchain"], "gcc"] ] } , "make": { "type": ["@", "rules", "CC/foreign/shell", "data"] , "project": ["files"] , "localbase": ["staged-localbase"] , "cmds": [ "export NJOBS=$(nproc --all 2>/dev/null || echo 1)" , "unset CFLAGS LDFLAGS" , "export PATH=${LOCALBASE}/busybox/bin:${LOCALBASE}/busybox/usr/bin:${LOCALBASE}/make/bin:${LOCALBASE}/gcc/bin:$PATH" , "export MAKE=${LOCALBASE}/make/bin/make" , "export CC=${LOCALBASE}/gcc/bin/gcc" , "export CXX=unused" , "sh ./configure --prefix=/ --disable-rpath --disable-load >configure.log 2>&1 || (cat configure.log && exit 1)" , "${MAKE} -j${NJOBS} MAKEINFO=missing >build.log 2>&1 || (cat configure.log build.log && exit 1)" , "${MAKE} -j${NJOBS} MAKEINFO=missing DESTDIR=${DESTDIR} install-strip >>build.log 2>&1 || (cat configure.log build.log && exit 1)" ] , "out_dirs": ["."] } }