diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 44 |
1 files changed, 43 insertions, 1 deletions
@@ -33,6 +33,8 @@ default help: @echo @echo "build targets:" @echo " edk2 -- build UEFI firmware" + @echo " seabios -- build BIOS firmware" + @echo " vgabios -- build VGABIOS firmware" @echo @echo "other targets:" @echo " clean -- cleanup" @@ -46,8 +48,9 @@ default help: install: mkdir -p $(datadir) cp -avr blobs/edk2-* $(datadir) + cp -av blobs/*.bin $(datadir) -clean: edk2-clean +clean: edk2-clean seabios-clean submodule-%: git submodule update --init repos/$* @@ -80,3 +83,42 @@ edk2-clean: rm -rf repos/edk2/Conf/build_rule.txt rm -rf repos/edk2/Conf/target.txt rm -rf repos/edk2/Conf/tools_def.txt + + +############################################################################# +# seabios build rules + +# tag our seabios builds +SEABIOS_EXTRAVERSION="-prebuilt.qemu.org" + +vgabios_variants := stdvga cirrus vmware qxl isavga virtio +vgabios_targets := $(subst -isavga,,$(patsubst %,vgabios-%.bin,$(vgabios_variants))) + +seabios bios: build-seabios-config-seabios-128k build-seabios-config-seabios-256k + cp repos/seabios/builds/seabios-128k/bios.bin blobs/bios.bin + cp repos/seabios/builds/seabios-256k/bios.bin blobs/bios-256k.bin + +vgabios: $(patsubst %,vgabios-%,$(vgabios_variants)) + +vgabios-isavga: build-seabios-config-vga-isavga + cp repos/seabios/builds/vga-isavga/vgabios.bin blobs/vgabios.bin + +vgabios-%: build-seabios-config-vga-% + cp repos/seabios/builds/vga-$*/vgabios.bin blobs/vgabios-$*.bin + +build-seabios-config-%: configs/% submodule-seabios + mkdir -p repos/seabios/builds/$* + cp $< repos/seabios/builds/$*/.config + $(MAKE) -C repos/seabios \ + EXTRAVERSION=$(SEABIOS_EXTRAVERSION) \ + CROSS_COMPILE=$(x86_64_cross_prefix) \ + KCONFIG_CONFIG=$(CURDIR)/repos/seabios/builds/$*/.config \ + OUT=$(CURDIR)/repos/seabios/builds/$*/ oldnoconfig + $(MAKE) -C repos/seabios \ + EXTRAVERSION=$(SEABIOS_EXTRAVERSION) \ + CROSS_COMPILE=$(x86_64_cross_prefix) \ + KCONFIG_CONFIG=$(CURDIR)/repos/seabios/builds/$*/.config \ + OUT=$(CURDIR)/repos/seabios/builds/$*/ all + +seabios-clean: + rm -rf repos/seabios/.config repos/seabios/out repos/seabios/builds |