NutsOS/kernel/Makefile
2020-04-17 17:44:23 +02:00

40 lines
701 B
Makefile

.PHONY: clean
.SUFFIXES:
include_dir=include/
CC=gcc
CFLAGS= -m32 -march=i486 -fno-stack-protector -fno-zero-initialized-in-bss -I $(include_dir)
kobj_core=src/main.o \
src/print.o \
src/memory.o \
src/interrupt.o \
src/utils.o \
src/systemCall.o \
src/process.o \
src/ipc.o \
src/scheduler.o \
src/elf_loader.o \
src/signal.o
kobj_asm_x86=src/asm/isr.o \
src/asm/asm_utils.o \
src/asm/io_port.o \
src/asm/sched.o
all: NOS-kernel32.bin
NOS-kernel32.bin: $(kobj_core) $(kobj_asm_x86)
ld -melf_i386 --oformat=binary --Ttext=100000 --entry=main $^ -o $@
%.o: %.asm
nasm -f elf -o $@ $^
%.o: %.c
$(CC) $(CFLAGS) -c $^ -o $@
clean:
-rm -f $(kobj_core) $(kobj_asm_x86)
-rm -f NOS-kernel32.bin