mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-10 21:14:38 -04:00
Cleanup makefile
This commit is contained in:
parent
23d74736af
commit
22cce3561a
12
cpp.mk
12
cpp.mk
@ -38,15 +38,22 @@ LIB_LINK_FLAGS=$(CPP_FLAGS_64) $(WARNING_FLAGS) -mcmodel=small -fPIC -Wl,-gc-sec
|
||||
PROGRAM_FLAGS=$(CPP_FLAGS_64) $(WARNING_FLAGS) -I../../tlib/include/ -I../../printf/include/ -static -L../../tlib/ -ltlib -mcmodel=small -fPIC
|
||||
PROGRAM_LINK_FLAGS=$(CPP_FLAGS_64) $(WARNING_FLAGS) $(COMMON_LINK_FLAGS) -static -L../../tlib/ -ltlib -mcmodel=small -fPIC -z max-page-size=0x1000 -T ../linker.ld -Wl,-gc-sections
|
||||
|
||||
D_FILES=
|
||||
|
||||
# Generate the rules for the CPP files of a directory
|
||||
define compile_cpp_folder
|
||||
|
||||
$(1)/%.cpp.d: $(1)/%.cpp
|
||||
$(CXX) $(KERNEL_CPP_FLAGS_64) $(THOR_FLAGS) $(WARNING_FLAGS) -MM -MT $(1)/$$*.cpp.o $$< | sed -e 's@^\(.*\)\.o:@\1.d \1.o:@' > $$@
|
||||
@ $(CXX) $(KERNEL_CPP_FLAGS_64) $(THOR_FLAGS) $(WARNING_FLAGS) -MM -MT $(1)/$$*.cpp.o $$< | sed -e 's@^\(.*\)\.o:@\1.d \1.o:@' > $$@
|
||||
|
||||
$(1)/%.cpp.o: $(1)/%.cpp
|
||||
$(CXX) $(KERNEL_CPP_FLAGS_64) $(THOR_FLAGS) $(WARNING_FLAGS) -c $$< -o $(1)/$$*.cpp.o
|
||||
|
||||
folder_cpp_files=$(wildcard $(1)/*.cpp)
|
||||
folder_d_files=$(folder_cpp_files:%.cpp=%.cpp.d)
|
||||
|
||||
D_FILES += $(folder_d_files)
|
||||
|
||||
endef
|
||||
|
||||
# Generate the rules for the APCICA C files of a components subdirectory
|
||||
@ -58,4 +65,7 @@ acpica/source/components/$(1)/%.c.d: acpica/source/components/$(1)/%.c
|
||||
acpica/source/components/$(1)/%.c.o: acpica/source/components/$(1)/%.c
|
||||
$(CC) $(ACPICA_CPP_FLAGS) $(THOR_FLAGS) -c $$< -o $$@
|
||||
|
||||
folder_c_files=$(wildcard acpica/source/components/$(1)/*.c)
|
||||
folder_d_files=$(folder_c_files:%.c=%.c.d)
|
||||
|
||||
endef
|
||||
|
@ -9,6 +9,11 @@ KERNEL_CPP_DRIVERS_FILES=$(wildcard src/drivers/*.cpp)
|
||||
KERNEL_CPP_FS_FILES=$(wildcard src/fs/*.cpp)
|
||||
KERNEL_CPP_VFS_FILES=$(wildcard src/vfs/*.cpp)
|
||||
|
||||
KERNEL_O_FILES=$(KERNEL_CPP_FILES:%.cpp=%.cpp.o)
|
||||
KERNEL_O_DRIVERS_FILES=$(KERNEL_CPP_DRIVERS_FILES:%.cpp=%.cpp.o)
|
||||
KERNEL_O_FS_FILES=$(KERNEL_CPP_FS_FILES:%.cpp=%.cpp.o)
|
||||
KERNEL_O_VFS_FILES=$(KERNEL_CPP_VFS_FILES:%.cpp=%.cpp.o)
|
||||
|
||||
ACPICA_DISPATCHER_CPP_FILES=$(wildcard acpica/source/components/dispatcher/*.c)
|
||||
ACPICA_EVENTS_CPP_FILES=$(wildcard acpica/source/components/events/*.c)
|
||||
ACPICA_EXECUTER_CPP_FILES=$(wildcard acpica/source/components/executer/*.c)
|
||||
@ -17,24 +22,6 @@ ACPICA_RESOURCES_CPP_FILES=$(wildcard acpica/source/components/resources/*.c)
|
||||
ACPICA_TABLES_CPP_FILES=$(wildcard acpica/source/components/tables/*.c)
|
||||
ACPICA_UTILITIES_CPP_FILES=$(wildcard acpica/source/components/utilities/*.c)
|
||||
|
||||
KERNEL_D_FILES=$(KERNEL_CPP_FILES:%.cpp=%.cpp.d)
|
||||
KERNEL_D_DRIVERS_FILES=$(KERNEL_CPP_DRIVERS_FILES:%.cpp=%.cpp.d)
|
||||
KERNEL_D_FS_FILES=$(KERNEL_CPP_FS_FILES:%.cpp=%.cpp.d)
|
||||
KERNEL_D_VFS_FILES=$(KERNEL_CPP_VFS_FILES:%.cpp=%.cpp.d)
|
||||
|
||||
ACPICA_DISPATCHER_D_FILES=$(ACPICA_DISPATCHER_CPP_FILES:%.c=%.c.d)
|
||||
ACPICA_EVENTS_D_FILES=$(ACPICA_EVENTS_CPP_FILES:%.c=%.c.d)
|
||||
ACPICA_EXECUTER_D_FILES=$(ACPICA_EXECUTER_CPP_FILES:%.c=%.c.d)
|
||||
ACPICA_NAMESPACE_D_FILES=$(ACPICA_NAMESPACE_CPP_FILES:%.c=%.c.d)
|
||||
ACPICA_RESOURCES_D_FILES=$(ACPICA_RESOURCES_CPP_FILES:%.c=%.c.d)
|
||||
ACPICA_TABLES_D_FILES=$(ACPICA_TABLES_CPP_FILES:%.c=%.c.d)
|
||||
ACPICA_UTILITIES_D_FILES=$(ACPICA_UTILITIES_CPP_FILES:%.c=%.c.d)
|
||||
|
||||
KERNEL_O_FILES=$(KERNEL_CPP_FILES:%.cpp=%.cpp.o)
|
||||
KERNEL_O_DRIVERS_FILES=$(KERNEL_CPP_DRIVERS_FILES:%.cpp=%.cpp.o)
|
||||
KERNEL_O_FS_FILES=$(KERNEL_CPP_FS_FILES:%.cpp=%.cpp.o)
|
||||
KERNEL_O_VFS_FILES=$(KERNEL_CPP_VFS_FILES:%.cpp=%.cpp.o)
|
||||
|
||||
ACPICA_DISPATCHER_O_FILES=$(ACPICA_DISPATCHER_CPP_FILES:%.c=%.c.o)
|
||||
ACPICA_EVENTS_O_FILES=$(ACPICA_EVENTS_CPP_FILES:%.c=%.c.o)
|
||||
ACPICA_EXECUTER_O_FILES=$(ACPICA_EXECUTER_CPP_FILES:%.c=%.c.o)
|
||||
@ -93,35 +80,18 @@ $(eval $(call acpica_folder_compile,resources))
|
||||
$(eval $(call acpica_folder_compile,tables))
|
||||
$(eval $(call acpica_folder_compile,utilities))
|
||||
|
||||
-include $(KERNEL_D_FILES)
|
||||
-include $(KERNEL_D_DRIVERS_FILES)
|
||||
-include $(KERNEL_D_VFS_FILES)
|
||||
-include $(KERNEL_D_FS_FILES)
|
||||
-include $(ACPICA_DISPATCHER_D_FILES)
|
||||
-include $(ACPICA_EVENTS_D_FILES)
|
||||
-include $(ACPICA_EXECUTER_D_FILES)
|
||||
-include $(ACPICA_NAMESPACE_D_FILES)
|
||||
-include $(ACPICA_RESOURCES_D_FILES)
|
||||
-include $(ACPICA_TABLES_D_FILES)
|
||||
-include $(ACPICA_UTILITIES_D_FILES)
|
||||
-include $(D_FILES)
|
||||
|
||||
kernel.bin: $(LINK_O_FILES)
|
||||
$(CXX) $(KERNEL_LINK_FLAGS) $(KERNEL_CPP_FLAGS_64) -o kernel.bin.o $(LINK_O_FILES)
|
||||
$(OC) -R .note -R .comment -O binary --set-section-flags .bss=alloc,load,contents kernel.bin.o kernel.bin
|
||||
|
||||
clean:
|
||||
rm -f $(KERNEL_D_FILES)
|
||||
rm -f $(KERNEL_D_DRIVERS_FILES)
|
||||
rm -f $(KERNEL_D_FS_FILES)
|
||||
rm -f $(KERNEL_D_VFS_FILES)
|
||||
rm -f $(ACPICA_DISPATCHER_D_FILES)
|
||||
rm -f $(ACPICA_EVENTS_D_FILES)
|
||||
rm -f $(ACPICA_EXECUTER_D_FILES)
|
||||
rm -f $(ACPICA_NAMESPACE_D_FILES)
|
||||
rm -f $(ACPICA_RESOURCES_D_FILES)
|
||||
rm -f $(ACPICA_TABLES_D_FILES)
|
||||
rm -f $(ACPICA_UTILITIES_D_FILES)
|
||||
rm -f $(O_FILES)
|
||||
rm -f crti.o
|
||||
rm -f crts.o
|
||||
rm -f *.bin
|
||||
@ echo -e "Remove deps files"
|
||||
@ rm -f $(D_FILES)
|
||||
@ echo -e "Remove object files"
|
||||
@ rm -f $(O_FILES)
|
||||
@ rm -f crti.o
|
||||
@ rm -f crts.o
|
||||
@ echo -e "Remove bin files"
|
||||
@ rm -f *.bin
|
||||
|
Loading…
x
Reference in New Issue
Block a user