aboutsummaryrefslogtreecommitdiffstats
path: root/roms/openbios/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'roms/openbios/Makefile')
-rw-r--r--roms/openbios/Makefile51
1 files changed, 51 insertions, 0 deletions
diff --git a/roms/openbios/Makefile b/roms/openbios/Makefile
new file mode 100644
index 00000000..172f4507
--- /dev/null
+++ b/roms/openbios/Makefile
@@ -0,0 +1,51 @@
+include config-host.mak
+
+all: requirements info build
+
+requirements:
+ @which xsltproc &>/dev/null || ( echo ; echo "Please install libxslt2"; \
+ echo; exit 1 )
+
+info:
+ @echo "Building OpenBIOS for $(TARGETS)"
+
+clean:
+ @echo "Cleaning up..."
+ @for dir in $(ODIRS); do \
+ $(MAKE) -C $$dir clean; \
+ done
+
+build: start-build
+ @for dir in $(ODIRS); do \
+ $(MAKE) -C $$dir > $$dir/build.log 2>&1 && echo "ok." || \
+ ( echo "error:"; tail -15 $$dir/build.log; exit 1 ) \
+ done
+
+SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGETS))
+SUBDIR_MAKEFLAGS=$(if $(V),,--no-print-directory)
+
+quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1))
+
+build-verbose: start-build $(SUBDIR_RULES)
+
+subdir-%:
+ $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C obj-$* V="$(V)" all,)
+
+start-build:
+ @echo "Building..."
+
+run:
+ @echo "Running..."
+ @for dir in $(ODIRS); do \
+ $$dir/openbios-unix $$dir/openbios-unix.dict; \
+ done
+
+
+# The following two targets will only work on x86 so far.
+#
+$(ODIR)/openbios.iso: $(ODIR)/openbios.multiboot $(ODIR)/openbios-x86.dict
+ @mkisofs -input-charset UTF-8 -r -b boot/grub/stage2_eltorito -no-emul-boot \
+ -boot-load-size 4 -boot-info-table -o $@ utils/iso $^
+
+runiso: $(ODIR)/openbios.iso
+ qemu -cdrom $^