summaryrefslogtreecommitdiff
path: root/kc/core/Makefile
blob: eb18a4fa48b6a3a9c5dbbeba63920cb81bcb2c3e (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
include ../../defaults.mk
include ../defaults.mk

VPATH := ../../lib ../ cpu/ memory/

TARGET := kernel.os
.DEFAULT: $(TARGET)

CPPFLAGS += -I../../api -I../api -I../../lib -I.
CFLAGS += -Wno-unused-const-variable -Wno-unused-function -fvisibility=hidden -g

SOBJS := 
GOBJS := entry_x86_64.o reloc_x86_64.o dynamic_x86_64.o \
	 kprintf.o serial.o port.o mmu.o kc_main.o memory.o memset.o memcpy.o \
	 memmove.o memcmp.o cpu.o vm_tree.o exceptions.o panic.o msr.o task.o \
	 cpu_task.o irq.o kcc_memory.o string.o pic8259.o pic8259_isr.o \
	 pit8253.o page_early.o page_stack.o kstdio.o
IOBJS :=

# __attribute__((interrupt)) requires -mgeneral-regs-only
$(GOBJS): CFLAGS += -mgeneral-regs-only
$(GOBJS): CFLAGS += -mcmodel=small

OBJS := $(SOBJS) $(GOBJS) $(IOBJS)
DEPS := $(patsubst %.o,%.d,$(OBJS))

$(TARGET): $(LDSCRIPT) $(MAKEFILE_LIST)
$(TARGET): $(OBJS)

CLEANLIST := $(wildcard $(OBJS) $(TARGET)) 
DCLEANLIST := $(wildcard $(DEPS))

include ../../rules.mk
-include $(DEPS)

.DEFAULT: $(TARGET)