+tasks/build_extraheaders: $(upstream)/misc/extraheaders.sh tasks/build_newlib
+ # Add extra nestedvm specific headers to include
+ cd $(cross_root)/include && sh $<
+ touch $@
+
+top_lev_stuff := $(patsubst %,../build/org/ibex/nestedvm/%.o, crt0 support support_aux)
+
+$(top_lev_stuff):
+ # HACK: Get the top level makefile to build the support stuff
+ $(MAKE) -C .. $(top_lev_stuff:../%=%)
+
+tasks/build_libc: tasks/build_newlib tasks/build_extraheaders tasks/build_regex tasks/build_openbsdglob misc/extraheaders.sh $(top_lev_stuff)
+ # Add our support stuff to libc
+ mips-unknown-elf-ar sr $(cross_root)/lib/libc.a $(patsubst %,../build/org/ibex/nestedvm/%.o, support support_aux)
+ mips-unknown-elf-ar sr $(cross_root)/lib/single-float/libc.a $(patsubst %,../build/org/ibex/nestedvm/%.o, support support_aux)
+ rm -f $(cross_root)/lib/crt0.o
+ cp $(root)/build/org/ibex/nestedvm/crt0.o $(cross_root)/lib/crt0.o
+
+ touch $@
+
+tasks/build_linker: tasks/build_binutils $(root)/src/org/ibex/nestedvm/linker.ld
+ cp $(root)/src/org/ibex/nestedvm/linker.ld $(cross_root)/lib/ldscripts/nestedvm.ld
+ for f in $(cross_root)/lib/ldscripts/elf32ebmip.*; do \
+ rm -f "$$f"; \
+ ln -s nestedvm.ld "$$f"; \
+ done