aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-05-06 23:35:59 -0400
committerKevin O'Connor <kevin@koconnor.net>2009-05-06 23:35:59 -0400
commit1f2c307bc3ed23625c1a2842ff8f92a44917aebf (patch)
tree5a5296955020ac03b0b2babbb097d2b74a55ea85 /Makefile
parentf8e176c48b0a4c6609f06786052ba711b324ca2a (diff)
downloadseabios-1f2c307bc3ed23625c1a2842ff8f92a44917aebf.tar.gz
Add initial port of the "open source vga bios" project.
This is an initial import of the code from: http://www.nongnu.org/vgabios/ The code has been ported from bcc to gcc and gas. This is an initial import - many functions have not been ported; many bugs are present.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile28
1 files changed, 26 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index e079f12f..5890fa55 100644
--- a/Makefile
+++ b/Makefile
@@ -52,8 +52,8 @@ STRIP=strip
.PHONY : all FORCE
-vpath %.c src
-vpath %.S src
+vpath %.c src vgasrc
+vpath %.S src vgasrc
################ Build rules
@@ -132,6 +132,30 @@ $(OUT)bios.bin: $(OUT)bios.bin.elf
$(Q)$(OBJCOPY) -O binary $< $@
+################ VGA build rules
+
+# VGA src files
+SRCVGA=src/output.c src/util.c vgasrc/vga.c vgasrc/vgatables.c \
+ vgasrc/vgafonts.c vgasrc/clext.c
+
+$(OUT)vgaccode.16.s: ; $(call whole-compile, $(CFLAGS16) -S -Isrc, $(SRCVGA),$@)
+
+$(OUT)vgalayout16.o: vgaentry.S $(OUT)vgaccode.16.s $(OUT)asm-offsets.h
+ @echo " Compiling (16bit) $@"
+ $(Q)$(CC) $(CFLAGS16INC) -c -D__ASSEMBLY__ -Isrc $< -o $@
+
+$(OUT)vgarom.o: $(OUT)vgalayout16.o $(OUT)vgalayout.lds
+ @echo " Linking $@"
+ $(Q)$(LD) -T $(OUT)vgalayout.lds $(OUT)vgalayout16.o -o $@
+
+$(OUT)vgabios.bin.raw: $(OUT)vgarom.o
+ @echo " Extracting binary $@"
+ $(Q)$(OBJCOPY) -O binary $< $@
+
+$(OUT)vgabios.bin: $(OUT)vgabios.bin.raw
+ @echo " Finalizing rom $@"
+ $(Q)./tools/buildrom.py $< $@
+
####### Generic rules
clean:
$(Q)rm -rf $(OUT)