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
|
||||
DUMP := /opt/x86_64-elf-objdump
|
||||
|
||||
LD_SCRIPT := build/linker.ld
|
||||
GRUB_CFG := build/grub.cfg
|
||||
SOURCE_DIR := src
|
||||
HEADER_DIRS := include
|
||||
LD_SCRIPT := linker.ld
|
||||
|
||||
GRUB_CFG := grub.cfg
|
||||
|
||||
INCLUDE_DIR := include
|
||||
|
||||
MK := mk
|
||||
|
||||
C_WARNINGS := -Wall \
|
||||
-Werror \
|
||||
|
@ -36,7 +39,7 @@ C_FLAGS := -std=c11 \
|
|||
-mno-sse2 \
|
||||
-masm=intel \
|
||||
$(C_WARNINGS) \
|
||||
$(addprefix -I, $(HEADER_DIRS))
|
||||
$(addprefix -I, $(INCLUDE_DIR))
|
||||
|
||||
ASM_FLAGS := -w+all \
|
||||
-f elf64 \
|
||||
|
@ -51,5 +54,9 @@ LD_FLAGS := -lgcc \
|
|||
-Wl,-n \
|
||||
-Wl,--build-id=none
|
||||
|
||||
COMP :=
|
||||
LINK :=
|
||||
COMPAS :=
|
||||
PACK :=
|
||||
|
||||
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
|
||||
; See COPYING under root for details
|
||||
|
||||
%include "addr.inc"
|
||||
%include "hal/addr.inc"
|
||||
|
||||
MULTIBOOT_TAG_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