diff options
| author | James Barnett <noreply@jamesbarnett.xyz> | 2018-08-29 19:11:20 +0100 |
|---|---|---|
| committer | James Barnett <noreply@jamesbarnett.xyz> | 2018-08-29 19:11:20 +0100 |
| commit | da686609820298b1e245b53ca86ec946e79684cb (patch) | |
| tree | 318791296254ad4765c0ef66092ff8c9136976de | |
| parent | 05295faee701148e2b4fcb6ebde09826d32bab05 (diff) | |
| download | tinyOS-da686609820298b1e245b53ca86ec946e79684cb.tar.xz tinyOS-da686609820298b1e245b53ca86ec946e79684cb.zip | |
Add Makefile
| -rw-r--r-- | Makefile | 22 | ||||
| -rwxr-xr-x | build.sh | 11 |
2 files changed, 22 insertions, 11 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 diff --git a/build.sh b/build.sh deleted file mode 100755 index 6de1500..0000000 --- a/build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# TODO - proper makefile - -rm -rf bin/kernel/* -mkdir -p bin/kernel/io/vga -nasm -f elf32 kernel/kernel-bootstrap.asm -o bin/kernel-bootstrap.o -gcc -m32 -std=c99 -c kernel/kernel.c -o bin/kernel/kernel.o -gcc -m32 -std=c99 -c kernel/io/vga/text_mode_display.c -o bin/kernel/io/vga/text_mode_display.o -ld -m elf_i386 -T link.ld -o bin/kern bin/kernel-bootstrap.o bin/kernel/kernel.o bin/kernel/io/vga/text_mode_display.o -#ld -m elf_i386 -T link.ld -o bin/kern bin/kernel-bootstrap.o bin/**/*.o
\ No newline at end of file |