summaryrefslogtreecommitdiff
path: root/Makefile.d/addseabios.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.d/addseabios.mk')
-rw-r--r--Makefile.d/addseabios.mk18
1 files changed, 18 insertions, 0 deletions
diff --git a/Makefile.d/addseabios.mk b/Makefile.d/addseabios.mk
new file mode 100644
index 0000000..50c4af6
--- /dev/null
+++ b/Makefile.d/addseabios.mk
@@ -0,0 +1,18 @@
+roms/%_with_seabios.rom: roms/%.rom \
+ src/$(host_arch)/seabios/out/vgabios.bin \
+ src/$(host_arch)/seabios/out/bios.bin.elf \
+ resources/grub/config/seabios.cfg \
+ $(CBFSTOOL)
+ cp $< $@.tmp
+ $(CBFSTOOL) $@.tmp add -f src/$(host_arch)/seabios/out/vgabios.bin -n vgaroms/vgabios.bin -t raw
+ $(CBFSTOOL) $@.tmp add -f src/$(host_arch)/seabios/out/bios.bin.elf -n bios.bin.elf -t raw
+ $(CBFSTOOL) $@.tmp extract -n grub.cfg -f $@.tmp.grub.cfg
+ $(CBFSTOOL) $@.tmp extract -n grubtest.cfg -f $@.tmp.grubtest.cfg
+ $(CBFSTOOL) $@.tmp remove -n grub.cfg
+ $(CBFSTOOL) $@.tmp remove -n grubtest.cfg
+ cat resources/grub/config/seabios.cfg >> $@.tmp.grub.cfg
+ cat resources/grub/config/seabios.cfg >> $@.tmp.grubtest.cfg
+ $(CBFSTOOL) $@.tmp add -f $@.tmp.grub.cfg -n grub.cfg -t raw
+ $(CBFSTOOL) $@.tmp add -f $@.tmp.grubtest.cfg -n grubtest.cfg -t raw
+ rm -f $@.tmp.grub.cfg $@.tmp.grubtest.cfg
+ mv $@.tmp $@