aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJames Barnett <noreply@jamesbarnett.xyz>2018-08-29 19:11:20 +0100
committerJames Barnett <noreply@jamesbarnett.xyz>2018-08-29 19:11:20 +0100
commitda686609820298b1e245b53ca86ec946e79684cb (patch)
tree318791296254ad4765c0ef66092ff8c9136976de /Makefile
parent05295faee701148e2b4fcb6ebde09826d32bab05 (diff)
downloadtinyOS-da686609820298b1e245b53ca86ec946e79684cb.tar.xz
tinyOS-da686609820298b1e245b53ca86ec946e79684cb.zip
Add Makefile
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile22
1 files changed, 22 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..919334d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,22 @@
+
+CC = gcc
+CFLAGS = -m32 -std=c99
+
+default: build
+
+setup:
+ mkdir -p bin
+
+build: setup kernel/kernel.c kernel/io/vga/text_mode_display.c kernel/kernel-bootstrap.asm
+ nasm -f elf32 kernel/kernel-bootstrap.asm -o bin/kernel-bootstrap.o
+ $(CC) $(CFLAGS) -c kernel/kernel.c -o bin/kernel.o
+ $(CC) $(CFLAGS) -c kernel/io/vga/text_mode_display.c -o bin/text_mode_display.o
+ ld -m elf_i386 -T link.ld -o bin/kernel bin/*.o
+
+clean:
+ rm -f bin/*
+
+run:
+ qemu-system-i386 -kernel bin/kernel
+
+build-and-run: build run \ No newline at end of file