aboutsummaryrefslogtreecommitdiff
path: root/src/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/makefile')
-rw-r--r--src/makefile15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/makefile b/src/makefile
index ab08ee2..8b21640 100644
--- a/src/makefile
+++ b/src/makefile
@@ -1,4 +1,5 @@
-AS_OBJ += src/boot.o
+AS_OBJ += src/boot.o \
+ src/cpu/exceptions.o src/cpu/interrupts.o
CXX_OBJ += src/kernel.o \
src/kernel/dump_gdt.o \
@@ -6,5 +7,13 @@ CXX_OBJ += src/kernel.o \
src/memory.o \
src/gdt.o \
src/gdt/segmentdescriptor.o \
- src/idt.o \
- src/irq/kirq.o
+ src/idt.o
+
+src/cpu/irq.h: $(OBJ_DIR)/src/cpu/exceptions.o $(OBJ_DIR)/src/cpu/interrupts.o
+ @echo " GEN $@"
+ @echo '#pragma once' > $@
+ @echo 'extern "C" {' >> $@
+ @for x in $^; do nm $$x -g | sed -nr 's/[0-9a-f]{8} T (.+)/void \1();/p'; done >> $@
+ @echo '}' >> $@
+
+autogen := $(autogen) src/cpu/irq.h