mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-08 11:58:36 -04:00
Finally fix userspace constructors
This commit is contained in:
parent
141884a79c
commit
621cbb0181
5
cpp.mk
5
cpp.mk
@ -40,7 +40,7 @@ LIB_FLAGS=$(COMMON_CPP_FLAGS) $(FLAGS_64) $(WARNING_FLAGS) -mcmodel=small -fPIC
|
||||
LIB_LINK_FLAGS=$(COMMON_CPP_FLAGS) $(FLAGS_64) $(WARNING_FLAGS) -mcmodel=small -fPIC -Wl,-gc-sections
|
||||
|
||||
PROGRAM_FLAGS=$(COMMON_CPP_FLAGS) $(FLAGS_64) $(WARNING_FLAGS) -I../../tlib/include/ -I../../printf/include/ -static -L../../tlib/debug/ -ltlib -mcmodel=small -fPIC
|
||||
PROGRAM_LINK_FLAGS=$(COMMON_CPP_FLAGS) $(FLAGS_64) $(WARNING_FLAGS) $(COMMON_LINK_FLAGS) -static -L../../tlib/debug/ -ltlib -mcmodel=small -fPIC -z max-page-size=0x1000 -T ../linker.ld -Wl,-gc-sections
|
||||
PROGRAM_LINK_FLAGS=$(COMMON_CPP_FLAGS) $(FLAGS_64) $(WARNING_FLAGS) $(COMMON_LINK_FLAGS) -static -L../../tlib/debug/ -mcmodel=small -fPIC -z max-page-size=0x1000 -T ../linker.ld
|
||||
|
||||
NO_COLOR=\x1b[0m
|
||||
MODE_COLOR=\x1b[31;01m
|
||||
@ -123,8 +123,7 @@ define program_link_executable
|
||||
debug/$(1): $(O_FILES)
|
||||
@ mkdir -p debug/
|
||||
@ echo -e "$(MODE_COLOR)[debug]$(NO_COLOR) Link (program) $(FILE_COLOR)$$@$(NO_COLOR)"
|
||||
@ $(CXX) -o debug/$(1) $(O_FILES) $(PROGRAM_LINK_FLAGS)
|
||||
|
||||
@ $(CXX) -o debug/$(1) $(PROGRAM_LINK_FLAGS) ../../tlib/debug/src/crti.s.o $$(shell $(CXX) -print-file-name=crtbegin.o) $(O_FILES) -ltlib $$(shell $(CXX) -print-file-name=crtend.o) ../../tlib/debug/src/crtn.s.o
|
||||
link: debug/$(1)
|
||||
|
||||
endef
|
||||
|
@ -2,22 +2,18 @@ default: debug/libtlib.a
|
||||
|
||||
include ../cpp.mk
|
||||
|
||||
# Ask GCC for the crtbegin and crtend files
|
||||
CRTBEGIN_OBJ:=$(shell $(CXX) $(LIB_FLAGS) -print-file-name=crtbegin.o)
|
||||
CRTEND_OBJ:=$(shell $(CXX) $(LIB_FLAGS) -print-file-name=crtend.o)
|
||||
|
||||
# The files provided directly by the compiler
|
||||
SPECIAL_O_FILES=$(CRTBEGIN_OBJ) $(CRTEND_OBJ)
|
||||
|
||||
$(eval $(call tlib_compile_cpp_folder,src))
|
||||
$(eval $(call compile_assembly_folder,src))
|
||||
|
||||
# Compile the assembly code
|
||||
|
||||
debug/libtlib.a: $(SPECIAL_O_FILES) $(O_FILES)
|
||||
O_FILES := $(filter-out debug/src/crti.s.o,$(O_FILES))
|
||||
O_FILES := $(filter-out debug/src/crtn.s.o,$(O_FILES))
|
||||
|
||||
debug/libtlib.a: debug/src/crti.s.o debug/src/crtn.s.o $(O_FILES)
|
||||
@ mkdir -p debug/
|
||||
@ echo -e "$(MODE_COLOR)[debug]$(NO_COLOR) Link (tlib) $(FILE_COLOR)$@$(NO_COLOR)"
|
||||
@ ${AR} rcs debug/libtlib.a $(SPECIAL_O_FILES) $(O_FILES)
|
||||
@ ${AR} rcs debug/libtlib.a $(O_FILES)
|
||||
|
||||
-include $(D_FILES)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user