app-tools: ${GENS}
include ../global.mk
-LDFLAGS_BAKE:= ${LDFLAGS.${MACHINE_ARCH}.${PLATFORM}}
+LDFLAGS_BAKE:= ${LDFLAGS.${MACHINE_GNU_ARCH}.${PLATFORM}}
BRSOURCEDIR:=$(dir ${AR})
-BRLIBEXECINST:= ${INSTALLDIR}/libexec/rumprun-${MACHINE_ARCH}-${PLATFORM}/
-BRLIBEXECDEST:= ${RRDEST}/libexec/rumprun-${MACHINE_ARCH}-${PLATFORM}/
+BRLIBEXECINST:= ${INSTALLDIR}/libexec/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}/
+BRLIBEXECDEST:= ${RRDEST}/libexec/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}/
-ARCHDIR:= rumprun-${MACHINE_ARCH}
-MACHDIR:= rumprun-${MACHINE_ARCH}-${PLATFORM}
+ARCHDIR:= rumprun-${MACHINE_GNU_ARCH}
+MACHDIR:= rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}
LIBEXEC_CC:= $(subst ${BRSOURCEDIR},${BRLIBEXECDEST},${CC})
LIBEXEC_CXX:= $(subst ${BRSOURCEDIR},${BRLIBEXECDEST},${CXX})
-e 's#!LIBEXEC_CXX!#$(LIBEXEC_CXX)#g;' \
-e 's#!TOOLS_CC!#$(TOOLS_CC)#g;' \
-e 's#!TOOLS_CXX!#$(TOOLS_CXX)#g;' \
- -e 's#!MACHINE_ARCH!#$(MACHINE_ARCH)#g;' \
+ -e 's#!MACHINE_GNU_ARCH!#$(MACHINE_GNU_ARCH)#g;' \
-e 's#!TOOLTUPLE!#$(TOOLTUPLE)#g;' \
-e 's#!DESTDIR!#$(RRDEST)#g;' \
-e 's#!PLATFORM!#$(PLATFORM)#g;' \
case ${MODE} in
compile)
exec ${CC} ${CFLAGS} -no-integrated-cpp \
- -specs=!DESTDIR!/lib/rumprun-!MACHINE_ARCH!/specs-compile_or_ferment \
+ -specs=!DESTDIR!/lib/rumprun-!MACHINE_GNU_ARCH!/specs-compile_or_ferment \
"$@" ${EXTRALIBS}
;;
ferment)
# with no rump components. '-u main' is necessary to pull in main if the
# user is linking it in from a library.
${CC} ${CFLAGS} -no-integrated-cpp \
- -specs=!DESTDIR!/lib/rumprun-!MACHINE_ARCH!/specs-compile_or_ferment \
+ -specs=!DESTDIR!/lib/rumprun-!MACHINE_GNU_ARCH!/specs-compile_or_ferment \
-Wl,-r -Wl,-u,main \
"$@" !DESTDIR!/share/!TOOLTUPLE!-recipe.s ${EXTRALIBS} || die
# Try a stub link with minimal rump components. If that fails then stop.
${CC} ${CFLAGS} -no-integrated-cpp \
- -specs=!DESTDIR!/lib/rumprun-!MACHINE_ARCH!/specs-stub \
+ -specs=!DESTDIR!/lib/rumprun-!MACHINE_GNU_ARCH!/specs-stub \
${OUTFILE} -o /dev/null
if [ $? -ne 0 ]; then
if [ "${RUMPRUN_STUBLINK}" = "succeed" ]; then
objnum=$((${objnum}+1))
done
-MACHINE_ARCH=${RUMPBAKE_TUPLE%%-*}
+MACHINE_GNU_ARCH=${RUMPBAKE_TUPLE%%-*}
# Final link using cc to produce the unikernel image.
${runcmd} ${RUMPBAKE_BACKINGCC} ${RUMPBAKE_CFLAGS} \
- -specs=${RUMPBAKE_TOOLDIR}/lib/rumprun-${MACHINE_ARCH}-${PLATFORM}/specs-bake \
+ -specs=${RUMPBAKE_TOOLDIR}/lib/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}/specs-bake \
-o ${OUTPUT} ${allobjs} \
-Wl,--whole-archive ${LIBS} || exit 1
*startfile:
-!DESTDIR!/lib/rumprun-!MACHINE_ARCH!-!PLATFORM!/rumprun.o
+!DESTDIR!/lib/rumprun-!MACHINE_GNU_ARCH!-!PLATFORM!/rumprun.o
*endfile:
*lib:
-!LDFLAGS_BAKE! -L!DESTDIR!/lib/rumprun-!MACHINE_ARCH!-!PLATFORM! \
+!LDFLAGS_BAKE! -L!DESTDIR!/lib/rumprun-!MACHINE_GNU_ARCH!-!PLATFORM! \
--whole-archive -lrump --no-whole-archive \
--start-group -lrumprun_base -lpthread -lc --end-group
*link:
-%{m64:-m elf_x86_64;mx32:-m elf32_x86_64;m32:-m elf_i386} -T !DESTDIR!/lib/rumprun-!MACHINE_ARCH!-!PLATFORM!.ldscript %:replace-outfile(-lstdc++ -lc++) %{rdynamic:}
+%{m64:-m elf_x86_64;mx32:-m elf32_x86_64;m32:-m elf_i386} -T !DESTDIR!/lib/rumprun-!MACHINE_GNU_ARCH!-!PLATFORM!.ldscript %:replace-outfile(-lstdc++ -lc++) %{rdynamic:}
%rename link_libgcc old_link_libgcc
*lib:
--L!DESTDIR!/lib/rumprun-!MACHINE_ARCH!
+-L!DESTDIR!/lib/rumprun-!MACHINE_GNU_ARCH!
*link:
%{m64:-m elf_x86_64;mx32:-m elf32_x86_64;m32:-m elf_i386} %:remove-outfile(-lstdc++) %{rdynamic:}
*lib:
--L!DESTDIR!/lib/rumprun-!MACHINE_ARCH! \
+-L!DESTDIR!/lib/rumprun-!MACHINE_GNU_ARCH! \
--start-group -lpthread -lc --end-group \
- !DESTDIR!/lib/rumprun-!MACHINE_ARCH!/pseudolinkstubs.o
+ !DESTDIR!/lib/rumprun-!MACHINE_GNU_ARCH!/pseudolinkstubs.o
*link:
%{m64:-m elf_x86_64;mx32:-m elf32_x86_64;m32:-m elf_i386} %:replace-outfile(-lstdc++ -lc++) %{rdynamic:}
. ${RUMPTOOLS}/proberes.sh
MACHINE="${BUILDRUMP_MACHINE}"
- MACHINE_ARCH="${BUILDRUMP_MACHINE_GNU_ARCH}"
+ MACHINE_GNU_ARCH="${BUILDRUMP_MACHINE_GNU_ARCH}"
if [ -z "${RROBJ}" ]; then
RROBJ="./obj-${MACHINE}-${PLATFORM}${EXTSRC}"
checkprevbuilds
extracflags=
- [ "${MACHINE_ARCH}" = "x86_64" ] \
+ [ "${MACHINE_GNU_ARCH}" = "x86_64" ] \
&& extracflags='-F CFLAGS=-mno-red-zone'
# build tools
RUMPMAKE=$(pwd)/${RUMPTOOLS}/rumpmake
- # this is slightly ridiculous
- echo ${MACHINE_ARCH} > ${RROBJ}/.machine_arch
-
TOOLTUPLE=$(${RUMPMAKE} -f bsd.own.mk \
-V '${MACHINE_GNU_PLATFORM:S/--netbsd/-rumprun-netbsd/}')
echo "RUMPMAKE=${quote}${RUMPMAKE}${quote}" >> ${1}
echo "BUILDRUMP_TOOLFLAGS=${quote}$(pwd)/${RUMPTOOLS}/toolchain-conf.mk${quote}" >> ${1}
echo "MACHINE=${quote}${MACHINE}${quote}" >> ${1}
- echo "MACHINE_ARCH=${quote}${MACHINE_ARCH}${quote}" >> ${1}
+ echo "MACHINE_GNU_ARCH=${quote}${MACHINE_GNU_ARCH}${quote}" >> ${1}
echo "TOOLTUPLE=${quote}${TOOLTUPLE}${quote}" >> ${1}
echo "KERNONLY=${quote}${KERNONLY}${quote}" >> ${1}
echo "PLATFORM=${quote}${PLATFORM}${quote}" >> ${1}
. ${PLATFORMDIR}/platform.conf
buildrump "$@"
- mkdir -p ${STAGING}/lib/rumprun-${MACHINE_ARCH} \
+ mkdir -p ${STAGING}/lib/rumprun-${MACHINE_GNU_ARCH} \
|| die cannot create libdir
- mkdir -p ${STAGING}/lib/rumprun-${MACHINE_ARCH}-${PLATFORM} \
+ mkdir -p ${STAGING}/lib/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM} \
|| die cannot create libdir
${MAKE} -C ${PLATFORMDIR} links
cd ${STAGING}
rm -rf lib/pkgconfig
find lib -maxdepth 1 -name librump\*.a \
- -exec mv -f '{}' lib/rumprun-${MACHINE_ARCH}-${PLATFORM}/ \;
+ -exec mv -f '{}' lib/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}/ \;
find lib -maxdepth 1 -name \*.a \
- -exec mv -f '{}' lib/rumprun-${MACHINE_ARCH}/ \;
+ -exec mv -f '{}' lib/rumprun-${MACHINE_GNU_ARCH}/ \;
# make sure special cases are visible everywhere
for x in c pthread ; do
- rm -f lib/rumprun-${MACHINE_ARCH}-${PLATFORM}/lib${x}.a
- ln -s ../rumprun-${MACHINE_ARCH}/lib${x}.a \
- lib/rumprun-${MACHINE_ARCH}-${PLATFORM}/lib${x}.a
+ rm -f lib/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}/lib${x}.a
+ ln -s ../rumprun-${MACHINE_GNU_ARCH}/lib${x}.a \
+ lib/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}/lib${x}.a
done
find . -maxdepth 1 \! -path . \! -path ./include\* \
| xargs tar -cf -
COMMONDIR:= $(abspath ../)
-INSTALLDIR_LIBARCH:= ${INSTALLDIR}/lib/rumprun-${MACHINE_ARCH}
-INSTALLDIR_LIBPLAT:= ${INSTALLDIR}/lib/rumprun-${MACHINE_ARCH}-${PLATFORM}
+INSTALLDIR_LIBARCH:= ${INSTALLDIR}/lib/rumprun-${MACHINE_GNU_ARCH}
+INSTALLDIR_LIBPLAT:= ${INSTALLDIR}/lib/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}
define BUILDLIB_target
.PHONY: $${RROBJLIB}/${1}/${1}.a
.PHONY: installkern
installkern:
install -m 0444 ${MAINOBJ} ${INSTALLDIR_LIBPLAT}
- install -m 0444 ${LDSCRIPT} ${INSTALLDIR}/lib/rumprun-${MACHINE_ARCH}-${PLATFORM}.ldscript
+ install -m 0444 ${LDSCRIPT} ${INSTALLDIR}/lib/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}.ldscript
.PHONY: installuser
installuser:
endif
ARCHDIR?= ${MACHINE}
-HW_MACHINE_ARCH?= ${MACHINE_ARCH}
+HW_MACHINE_ARCH?= ${MACHINE_GNU_ARCH}
LDSCRIPT:= $(abspath arch/${ARCHDIR}/kern.ldscript)
OBJS_BMK+= intr.o clock_subr.o kernel.o multiboot.o undefs.o
CFLAGS+= ${BUILDRUMP_TOOL_CFLAGS}
-LDFLAGS:= -L$(abspath ../../rumprun/lib/rumprun-${MACHINE_ARCH}-${PLATFORM})
+LDFLAGS:= -L$(abspath ../../rumprun/lib/rumprun-${MACHINE_GNU_ARCH}-${PLATFORM})
LDFLAGS+= -L${RROBJ}/lib/libcompiler_rt
CPPFLAGS+= -I../../include -I../../rumprun/include/rumprun
LDSCRIPT= ${RROBJ}/bmk.ldscript
-LDFLAGS+= ${LDFLAGS.${MACHINE_ARCH}.${PLATFORM}}
+LDFLAGS+= ${LDFLAGS.${MACHINE_GNU_ARCH}.${PLATFORM}}
OBJS= main.o ${RROBJ}/rumprun.o