aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2012-03-05 17:45:55 -0500
committerKevin O'Connor <kevin@koconnor.net>2012-03-06 07:18:38 -0500
commit35f42dc4ae4f582a49565bf106902136ab7a3d80 (patch)
tree13652012bc411760fb492d3fb088558d23b159bb /Makefile
parent429024188f7b4dceca768eec235f2437b347efc2 (diff)
downloadseabios-35f42dc4ae4f582a49565bf106902136ab7a3d80.tar.gz
vgabios: Initial support for fixing up assembler to workaround x86emu.
Perform post-processing of the vgabios assembler to remove certain instructions that gcc generates and x86emu can't handle. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile8
1 files changed, 7 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index eaf46a94..00da02c5 100644
--- a/Makefile
+++ b/Makefile
@@ -60,6 +60,7 @@ export HOSTCC := $(CC)
export CONFIG_SHELL := sh
export KCONFIG_AUTOHEADER := autoconf.h
export KCONFIG_CONFIG := $(CURDIR)/.config
+AS=as
OBJCOPY=objcopy
OBJDUMP=objdump
STRIP=strip
@@ -193,7 +194,12 @@ SRCVGA=src/output.c src/util.c src/pci.c \
CFLAGS16VGA = $(CFLAGS16INC) -Isrc
-$(OUT)vgaccode16.o: $(OUT)autoconf.h ; $(call whole-compile, $(CFLAGS16VGA), $(SRCVGA),$@)
+$(OUT)vgaccode16.raw.s: $(OUT)autoconf.h ; $(call whole-compile, $(CFLAGS16VGA) -S, $(SRCVGA),$@)
+
+$(OUT)vgaccode16.o: $(OUT)vgaccode16.raw.s
+ @echo " Fixup VGA rom assembler"
+ $(Q)$(PYTHON) ./tools/vgafixup.py $< $(OUT)vgaccode16.s
+ $(Q)$(AS) --32 src/code16gcc.s $(OUT)vgaccode16.s -o $@
$(OUT)vgaentry.o: vgaentry.S $(OUT)autoconf.h
@echo " Compiling (16bit) $@"