aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile13
1 files changed, 8 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 0fb6c95..2e8a142 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,14 @@
obj16-y = e820.o int10.o int15.o
-obj-y = $(obj16-y) entry.o
+obj-y = $(obj16-y) entry.o main.o string.o printf.o cstart.o
all-y = bios.bin
+CFLAGS := -O2 -Wall -g
+
BIOS_CFLAGS += -m32
BIOS_CFLAGS += -march=i386
BIOS_CFLAGS += -mregparm=3
-BIOS_CFLAGS += -fno-stack-protector
+BIOS_CFLAGS += -fno-stack-protector -fno-delete-null-pointer-checks
+BIOS_CFLAGS += -ffreestanding
BIOS_CFLAGS += -Iinclude
$(obj16-y): BIOS_CFLAGS += -include code16gcc.h
@@ -17,11 +20,11 @@ all: $(all-y)
%.o: %.S
$(CC) $(CFLAGS) $(BIOS_CFLAGS) -c -s $< -o $@
-bios.bin.elf: $(obj-y) rom.ld.S
- $(LD) -T rom.ld.S -o bios.bin.elf $(obj-y)
+bios.bin.elf: $(obj-y) flat.lds
+ $(LD) -T flat.lds -o bios.bin.elf $(obj-y)
bios.bin: bios.bin.elf
objcopy -O binary bios.bin.elf bios.bin
clean:
- rm $(obj-y) $(all-y) bios.bin.elf
+ rm -f $(obj-y) $(all-y) bios.bin.elf