Add vector table
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# environment
|
||||
|
||||
include ../Makevars.mk
|
||||
|
||||
# CFLAGS
|
||||
|
||||
CFLAGS += -O0
|
||||
CFLAGS += -g
|
||||
CFLAGS += -nostdlib
|
||||
CFLAGS += -march=armv8-a
|
||||
# CFLAGS += -std=c99
|
||||
# CFLAGS += -pedantic
|
||||
CFLAGS += -Wall
|
||||
CFLAGS += -Wmissing-prototypes
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
CFLAGS += -Wold-style-definition
|
||||
|
||||
INCS += -I./
|
||||
|
||||
# SOURCES
|
||||
|
||||
LD_SCRIPT = aarch64/aarch64.ld
|
||||
|
||||
SOURCE_FILES = \
|
||||
aarch64/boot.S \
|
||||
aarch64/aarch64.S \
|
||||
\
|
||||
core/main.c \
|
||||
core/irq.c \
|
||||
core/timer.c \
|
||||
core/log.c \
|
||||
\
|
||||
device/uart/uart_mini.c \
|
||||
device/uart/uart_qemu.c \
|
||||
|
||||
SOURCE_LIST := $(wildcard $(SOURCE_FILES))
|
||||
OBJECT_FILES := $(addsuffix .o, $(addprefix $(BUILD_DIR), ${SOURCE_LIST}))
|
||||
|
||||
# rules
|
||||
|
||||
all: kernel
|
||||
|
||||
default: kernel
|
||||
|
||||
kernel: $(BUILD_DIR)kernel.elf
|
||||
|
||||
$(BUILD_DIR)kernel.elf: $(OBJECT_FILES)
|
||||
$(info linking target: $@)
|
||||
$(AARCH64_LD) -T$(LD_SCRIPT) -nostdlib $^ -o $@
|
||||
$(info done: $@)
|
||||
|
||||
$(BUILD_DIR)kernel.bin: $(BUILD_DIR)/kernel.elf
|
||||
$(AARCH64_OBJCOPY) -O binary $< $@
|
||||
|
||||
$(BUILD_DIR)kernel.sym: $(BUILD_DIR)/kernel.elf
|
||||
$(AARCH64_OBJCOPY) --only-keep-debug $< $@
|
||||
$(AARCH64_OBJCOPY) --strip-debug $@
|
||||
|
||||
$(BUILD_DIR)%.o: %
|
||||
$(info compiling file: $<)
|
||||
@mkdir -p $(dir ./$(BUILD_DIR)$<)
|
||||
$(AARCH64_CC) $(INCS) $(CFLAGS) -c $< -o $@
|
||||
|
||||
Reference in New Issue
Block a user