LIBEXEC_CC:= $(subst ${BRSOURCEDIR},${BRLIBEXECDEST},${CC})
LIBEXEC_CXX:= $(subst ${BRSOURCEDIR},${BRLIBEXECDEST},${CXX})
LIBEXEC_OBJCOPY:= ${BRLIBEXECDEST}/${MACHINE_GNU_PLATFORM}-objcopy
+LIBEXEC_SIZE:= ${BRLIBEXECDEST}/${MACHINE_GNU_PLATFORM}-size
LIBEXEC_READELF:= ${BRLIBEXECDEST}/${MACHINE_GNU_PLATFORM}-readelf
TOOLS_CC := ${RRDEST}/bin/$(TOOLTUPLE)-${_CCVARIANT}
-e 's#!LIBEXEC_CXX!#$(LIBEXEC_CXX)#g;' \
-e 's#!LIBEXEC_OBJCOPY!#$(LIBEXEC_OBJCOPY)#g;' \
-e 's#!LIBEXEC_READELF!#$(LIBEXEC_READELF)#g;' \
+ -e 's#!LIBEXEC_SIZE!#$(LIBEXEC_SIZE)#g;' \
-e 's#!TOOLS_CC!#$(TOOLS_CC)#g;' \
-e 's#!TOOLS_CXX!#$(TOOLS_CXX)#g;' \
-e 's#!MACHINE_GNU_ARCH!#$(MACHINE_GNU_ARCH)#g;' \
: ${RUMPRUN_COOKFS_CC:=!LIBEXEC_CC!}
: ${RUMPRUN_COOKFS_OBJCOPY:=!LIBEXEC_OBJCOPY!}
+: ${RUMPRUN_COOKFS_SIZE:=!LIBEXEC_SIZE!}
: ${RUMPRUN_COOKFS_INCDIR:=!DESTDIR!/rumprun-!MACHINE_GNU_ARCH!/include}
usage ()
-nostdlib -Wl,-r -o ${TMPDIR}/fin.o ${TMPDIR}/d*.o ${TMPDIR}/constr.c
${RUMPRUN_COOKFS_OBJCOPY} ${LSYM} ${TMPDIR}/fin.o ${OUTFILE}
+totsize=$(${RUMPRUN_COOKFS_SIZE} ${OUTFILE} | awk 'NR == 2{print $4}')
+if [ ${totsize} -gt $((1024*1024)) ]; then
+ echo ">> WARNING: cookfs images will be loaded into memory." 2>&1
+ echo ">> Maximum recommended size is 1024 kB." 2>&1
+ echo ">> Your image memory footprint is $((${totsize}/1024)) kB." 2>&1
+fi
+
exit 0
dependall:
( cd ${.CURDIR} && \
- RUMPRUN_COOKFS_CC="${CC}" RUMPRUN_COOKFS_OBJCOPY="${OBJCOPY}" \
+ RUMPRUN_COOKFS_CC="${CC}" \
+ RUMPRUN_COOKFS_OBJCOPY="${OBJCOPY}" \
+ RUMPRUN_COOKFS_SIZE="${SIZE}" \
RUMPRUN_COOKFS_INCDIR="${RROBJ}/dest.stage/include" \
${RROBJ}/app-tools/${TOOLTUPLE}-cookfs -s 1 \
${MAKEOBJDIR}/librumprunfs_base.a rootfs )