aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: a50cf4b6d04df81dfc6eb27368283c821a40d0b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
CC				= i586-elf-gcc
LD				= i586-elf-ld
AS				= nasm

CFLAGS			= -I. -std=gnu99 -ffreestanding -O2 -Wall -Wextra
ASFLAGS			= -felf
LDFLAGS			= -Tlink.ld

KERNEL			= toastk

TOAST_TARGET	= ~/programming/toast/toast-hdd-img/
SOURCES			=	boot/boot.o \
					screen/console.o \
					string/common.o \
					kernel.o \
					lowlevel.o\
					panic.o

all: $(SOURCES) link

clean:
	- rm *.o */*.o $(KERNEL)

link:
	- $(LD) $(LDFLAGS) -o $(KERNEL) $(SOURCES)

.s.o:
	- nasm $(ASFLAGS) $<

install:
	# need a better way to automate this first bit
	sudo mount /dev/loop0p1 $(TOAST_TARGET)

	sudo cp $(KERNEL) $(TOAST_TARGET)
	ls $(TOAST_TARGET)
	sudo umount $(TOAST_TARGET)
	#bochs -qf bochsrc
	qemu-system-i386 -m 64 -hdd ../toast-hdd.img