40 lines
701 B
Makefile
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
|