ODIRS=$(wildcard obj-*) TARGETS=$(subst obj-,,$(ODIRS)) 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: @printf "Building..." @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 build-verbose: @echo "Building..." @for dir in $(ODIRS); do \ $(MAKE) -C $$dir || exit 1; \ done 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 $^