# Makefile for Multiboot Specification version 0.6.96
# at https://www.gnu.org/software/grub/manual/multiboot/multiboot.html

TARGET = myos.bin
OBJS = boot.o kernel.o

CC = i386-elf-gcc
CFLAGS = -ffreestanding -O2 -Wall -I.
LFLAGS = -T linker.ld -nostdlib -lgcc


all: $(TARGET)

$(TARGET): $(OBJS)
	$(CC) $(CFLAGS) $(LFLAGS) $(OBJS) -o $(TARGET) 

.c.o: $<
	$(CC) $(CFLAGS) -c $< -o $@

.s.o: $<
	$(CC) $(CFLAGS) -c $< -o $@

.S.o: $<
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	rm -f $(TARGET) $(OBJS)
