lll
This commit is contained in:
parent
1d4c7282b5
commit
2c58926308
17
Makefile
17
Makefile
|
@ -3,10 +3,13 @@ CC := /opt/x86_64-elf-gcc
|
||||||
LD := /opt/x86_64-elf-gcc
|
LD := /opt/x86_64-elf-gcc
|
||||||
DUMP := /opt/x86_64-elf-objdump
|
DUMP := /opt/x86_64-elf-objdump
|
||||||
|
|
||||||
LD_SCRIPT := build/linker.ld
|
LD_SCRIPT := linker.ld
|
||||||
GRUB_CFG := build/grub.cfg
|
|
||||||
SOURCE_DIR := src
|
GRUB_CFG := grub.cfg
|
||||||
HEADER_DIRS := include
|
|
||||||
|
INCLUDE_DIR := include
|
||||||
|
|
||||||
|
MK := mk
|
||||||
|
|
||||||
C_WARNINGS := -Wall \
|
C_WARNINGS := -Wall \
|
||||||
-Werror \
|
-Werror \
|
||||||
|
@ -36,7 +39,7 @@ C_FLAGS := -std=c11 \
|
||||||
-mno-sse2 \
|
-mno-sse2 \
|
||||||
-masm=intel \
|
-masm=intel \
|
||||||
$(C_WARNINGS) \
|
$(C_WARNINGS) \
|
||||||
$(addprefix -I, $(HEADER_DIRS))
|
$(addprefix -I, $(INCLUDE_DIR))
|
||||||
|
|
||||||
ASM_FLAGS := -w+all \
|
ASM_FLAGS := -w+all \
|
||||||
-f elf64 \
|
-f elf64 \
|
||||||
|
@ -51,5 +54,9 @@ LD_FLAGS := -lgcc \
|
||||||
-Wl,-n \
|
-Wl,-n \
|
||||||
-Wl,--build-id=none
|
-Wl,--build-id=none
|
||||||
|
|
||||||
|
COMP :=
|
||||||
|
LINK :=
|
||||||
|
COMPAS :=
|
||||||
|
PACK :=
|
||||||
|
|
||||||
include Rules.mk
|
include Rules.mk
|
14
Rules.mk
14
Rules.mk
|
@ -0,0 +1,14 @@
|
||||||
|
include $(MK)/prologue.mk
|
||||||
|
|
||||||
|
#OBJ var holds all object files
|
||||||
|
|
||||||
|
dir := $(d)/hal
|
||||||
|
include $(dir)/Rules.mk
|
||||||
|
dir := $(d)/kernel
|
||||||
|
include $(dir)/Rules.mk
|
||||||
|
dir := $(d)/lib
|
||||||
|
include $(dir)/Rules.mk
|
||||||
|
|
||||||
|
TGT :=
|
||||||
|
|
||||||
|
include $(MK)/epilogue.mk
|
|
@ -0,0 +1,27 @@
|
||||||
|
include $(MK)/prologue.mk
|
||||||
|
|
||||||
|
SRC_$(d) := init.c \
|
||||||
|
intr.c \
|
||||||
|
mem.c \
|
||||||
|
print.c
|
||||||
|
|
||||||
|
SRC_$(d) := $(addprefix $(d)/, $(SRC_$(d)))
|
||||||
|
|
||||||
|
OBJ_$(d) := $(SRC_$(d):.c=.o)
|
||||||
|
|
||||||
|
SRCAS_$(d) := boot.asm \
|
||||||
|
cpu.asm \
|
||||||
|
intr.asm
|
||||||
|
|
||||||
|
OBJAS_$(d) := $(SRCAS_$(d):.c=.a)
|
||||||
|
|
||||||
|
$(OBJ_$(d)): %.o: %.c
|
||||||
|
$(COMP)
|
||||||
|
|
||||||
|
$(OBJAS_$(d)): %.a: %.asm
|
||||||
|
$(COMPAS)
|
||||||
|
|
||||||
|
# append all OBJECTS to clean
|
||||||
|
OBJ := $(OBJ) $(OBJ_$(d)) $(OBJAS_$(d))
|
||||||
|
|
||||||
|
include $(MK)/epilogue.mk
|
|
@ -2,7 +2,7 @@
|
||||||
; Distributed under GPL license
|
; Distributed under GPL license
|
||||||
; See COPYING under root for details
|
; See COPYING under root for details
|
||||||
|
|
||||||
%include "addr.inc"
|
%include "hal/addr.inc"
|
||||||
|
|
||||||
MULTIBOOT_TAG_ALIGNMENT equ 8
|
MULTIBOOT_TAG_ALIGNMENT equ 8
|
||||||
MULTIBOOT_HEADER_ALIGNMENT equ 8
|
MULTIBOOT_HEADER_ALIGNMENT equ 8
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
include $(MK)/prologue.mk
|
||||||
|
|
||||||
|
dir := $(d)/ke
|
||||||
|
include $(dir)/Rules.mk
|
||||||
|
dir := $(d)/mm
|
||||||
|
include $(dir)/Rules.mk
|
||||||
|
dir := $(d)/rf
|
||||||
|
include $(dir)/Rules.mk
|
||||||
|
|
||||||
|
include $(MK)/epilogue.mk
|
|
@ -0,0 +1,23 @@
|
||||||
|
include $(MK)/prologue.mk
|
||||||
|
|
||||||
|
SRC_$(d) := allo.c \
|
||||||
|
assert.c \
|
||||||
|
atomic.c \
|
||||||
|
boot.c \
|
||||||
|
bug_check.c \
|
||||||
|
intr.c \
|
||||||
|
print.c \
|
||||||
|
rwwlock.c \
|
||||||
|
spin_lock.c
|
||||||
|
|
||||||
|
SRC_$(d) := $(addprefix $(d)/, $(SRC_$(d)))
|
||||||
|
|
||||||
|
OBJ_$(d) := $(SRC_$(d):.c=.o)
|
||||||
|
|
||||||
|
$(OBJ_$(d)): %.o: %.c
|
||||||
|
$(COMP)
|
||||||
|
|
||||||
|
# append all OBJECTS to clean
|
||||||
|
OBJ := $(OBJ) $(OBJ_$(d))
|
||||||
|
|
||||||
|
include $(MK)/epilogue.mk
|
|
@ -0,0 +1,15 @@
|
||||||
|
include $(MK)/prologue.mk
|
||||||
|
|
||||||
|
SRC_$(d) := pmm.c
|
||||||
|
|
||||||
|
SRC_$(d) := $(addprefix $(d)/, $(SRC_$(d)))
|
||||||
|
|
||||||
|
OBJ_$(d) := $(SRC_$(d):.c=.o)
|
||||||
|
|
||||||
|
$(OBJ_$(d)): %.o: %.c
|
||||||
|
$(COMP)
|
||||||
|
|
||||||
|
# append all OBJECTS to clean
|
||||||
|
OBJ := $(OBJ) $(OBJ_$(d))
|
||||||
|
|
||||||
|
include $(MK)/epilogue.mk
|
|
@ -0,0 +1,15 @@
|
||||||
|
include $(MK)/prologue.mk
|
||||||
|
|
||||||
|
SRC_$(d) := ref.c
|
||||||
|
|
||||||
|
SRC_$(d) := $(addprefix $(d)/, $(SRC_$(d)))
|
||||||
|
|
||||||
|
OBJ_$(d) := $(SRC_$(d):.c=.o)
|
||||||
|
|
||||||
|
$(OBJ_$(d)): %.o: %.c
|
||||||
|
$(COMP)
|
||||||
|
|
||||||
|
# append all OBJECTS to clean
|
||||||
|
OBJ := $(OBJ) $(OBJ_$(d))
|
||||||
|
|
||||||
|
include $(MK)/epilogue.mk
|
|
@ -0,0 +1,18 @@
|
||||||
|
include $(MK)/prologue.mk
|
||||||
|
|
||||||
|
SRC_$(d) := avl_tree.c \
|
||||||
|
linked_list.c \
|
||||||
|
salloc.c \
|
||||||
|
sxtdlib.c
|
||||||
|
|
||||||
|
SRC_$(d) := $(addprefix $(d)/, $(SRC_$(d)))
|
||||||
|
|
||||||
|
OBJ_$(d) := $(SRC_$(d):.c=.o)
|
||||||
|
|
||||||
|
$(OBJ_$(d)): %.o: %.c
|
||||||
|
$(COMP)
|
||||||
|
|
||||||
|
# append all OBJECTS to clean
|
||||||
|
OBJ := $(OBJ) $(OBJ_$(d))
|
||||||
|
|
||||||
|
include $(MK)/epilogue.mk
|
|
@ -0,0 +1,2 @@
|
||||||
|
d := $(dirstack_$(sp))
|
||||||
|
sp := $(basename $(sp))
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Standard things
|
||||||
|
sp := $(sp).x
|
||||||
|
dirstack_$(sp) := $(d)
|
||||||
|
d := $(dir)
|
Loading…
Reference in New Issue