Update filesystem structure

This commit is contained in:
Alex
2023-05-20 04:31:00 +03:00
parent 78cfe17749
commit d9485978bb
23 changed files with 74 additions and 269 deletions

View File

@ -6,8 +6,8 @@ NAME=ld
OBJECT_NAME=$(NAME).so
SO_NAME=$(OBJECT_NAME)
OUTPUT_DIR=../../out/system/
SYSROOT = --sysroot=../../out/system/
OUTPUT_DIR=../../out/
SYSROOT = --sysroot=../../out/
CC = ../../../$(TC_COMPILER_PATH)/$(TC_COMPILER_ARCH)gcc
AS = ../../../$(TC_COMPILER_PATH)/$(TC_COMPILER_ARCH)as

View File

@ -214,7 +214,7 @@ bool ELFDynamicReallocation(void *ElfFile, void *MemoryImage)
{
debug("Library \"%s\" not found, retrying... (%#x)", LibPath, LibNode->Status);
memset(LibPath, 0, 256);
strcpy(LibPath, "/system/lib/");
strcpy(LibPath, "/lib/");
strcat(LibPath, Library);
AlreadyTried = true;
goto LibPathRetry;

View File

@ -1,6 +1,6 @@
build:
cp -r include/* ../out/system/include
cp ../../Kernel/syscalls.h ../out/system/include/sys
cp -r include/* ../out/usr/include
cp ../../Kernel/syscalls.h ../out/usr/include/sys
make -C runtime build
make -C src build
make -C ElfInterpreter build

View File

@ -22,8 +22,8 @@ CRTI_PATH = $(shell $(CC) -print-file-name=crti.o)
CRTN_PATH = $(shell $(CC) -print-file-name=crtn.o)
build: $(OBJ)
mv $^ ../../out/system/lib/
cp $(CRTBEGIN_PATH) $(CRTEND_PATH) $(CRTI_PATH) $(CRTN_PATH) ../../out/system/lib/
mv $^ ../../out/lib/
cp $(CRTBEGIN_PATH) $(CRTEND_PATH) $(CRTI_PATH) $(CRTN_PATH) ../../out/lib/
%.o: %.c
$(info Compiling $<)

View File

@ -1,15 +1,17 @@
WORKSPACE := ../../
# Config file
include ../../../Makefile.conf
include ../$(WORKSPACE)Makefile.conf
NAME=c
OBJECT_NAME=lib$(NAME).a
OUTPUT_DIR=../../out/system/lib/
OUTPUT_DIR=$(WORKSPACE)out/lib/
CC = ../../../$(TC_COMPILER_PATH)/$(TC_COMPILER_ARCH)gcc
AS = ../../../$(TC_COMPILER_PATH)/$(TC_COMPILER_ARCH)as
AR = ../../../$(TC_COMPILER_PATH)/$(TC_COMPILER_ARCH)ar
CC = ../$(WORKSPACE)$(TC_COMPILER_PATH)/$(TC_COMPILER_ARCH)gcc
AS = ../$(WORKSPACE)$(TC_COMPILER_PATH)/$(TC_COMPILER_ARCH)as
AR = ../$(WORKSPACE)$(TC_COMPILER_PATH)/$(TC_COMPILER_ARCH)ar
NASM = /usr/bin/nasm
C_SOURCES = $(shell find ./ -type f -name '*.c')
@ -19,7 +21,7 @@ ASM_SOURCES = $(shell find ./ -type f -name '*.asm')
OBJ = ${C_SOURCES:.c=.o} ${CPP_SOURCES:.cpp=.o} ${ASM_SOURCES:.asm=.o} ${S_SOURCES:.S=.o}
INCLUDE = ../include
INCLUDE2 = ../../out/system/include
INCLUDE2 = $(WORKSPACE)out/usr/include
ifeq ($(OSARCH), amd64)
ASM_ARCH := elf64
@ -58,4 +60,4 @@ $(OBJECT_NAME): $(OBJ)
$(NASM) $< -f $(ASM_ARCH) -o $@
clean:
rm -f $(OBJ) file_dump.map
rm -f $(OBJ)