More build system adjustments

This commit is contained in:
2022-12-27 08:43:42 +00:00
parent c337d12d05
commit 63d4dba493
4 changed files with 13 additions and 14 deletions

View File

@@ -44,29 +44,27 @@ LDFLAGS := $(LDFLAGS) -g
ALL_KERNEL_OBJECT_FILES := $(KERNEL_OBJ) $(ARCH_OBJ) $(LIBC_OBJ)
all: $(BUILD_DIR)/$(KERNEL_EXEC) sandbox
$(BUILD_DIR)/$(KERNEL_EXEC): $(ALL_KERNEL_OBJECT_FILES)
@printf " \033[1;36mLD\033[0m \033[1m$@\033[0m\n"
@printf " \033[1;36mLD\033[0m \033[1mbuild/\033[35m$(KERNEL_EXEC)\033[0m\n"
@mkdir -p $(@D)
@$(LD) $^ -o $@ $(LDFLAGS) $(ARCH_LDFLAGS)
$(BUILD_DIR)/%.o: %.S
@printf " \033[1;32mAS\033[0m $<\n"
@printf " \033[1;32mAS\033[0m \033[35m$(KERNEL_EXEC)\033[0m/$<\n"
@mkdir -p $(@D)
@$(ASM) $< -o $@ -c $(ASMFLAGS) $(ARCH_ASMFLAGS)
$(BUILD_DIR)/%.o: %.c
@printf " \033[1;32mCC\033[0m $<\n"
@printf " \033[1;32mCC\033[0m \033[35m$(KERNEL_EXEC)\033[0m/$<\n"
@mkdir -p $(@D)
@$(CC) $< -o $@ -c $(CFLAGS) $(ARCH_CFLAGS)
clean:
@printf " \033[1;93mRM\033[0m Deleting kernel build artefacts.\n"
@printf " \033[1;93mRM\033[0m Deleting build files.\n"
@rm -rf $(BUILD_DIR)
@$(MAKE) -C sandbox clean
all: $(BUILD_DIR)/$(KERNEL_EXEC)
$(BUILD_DIR)/compile_commands.json:
@$(MAKE) clean

View File

@@ -1,4 +1,2 @@
SANDBOX_PROG_NAME := hello
include ../sandbox-config.mk
include ../sandbox-template.mk

View File

@@ -1,8 +1,11 @@
THIS_FILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
SANDBOX_PROG_MAKEFILE_PATH := $(abspath $(firstword $(MAKEFILE_LIST)))
SANDBOX_BASE_DIR := $(patsubst %/,%,$(dir $(THIS_FILE_PATH)))
SANDBOX_PROG_DIR := $(patsubst %/,%,$(dir $(SANDBOX_PROG_MAKEFILE_PATH)))
MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
SANDBOX_DIR := $(patsubst %/,%,$(dir $(MAKEFILE_PATH)))
include $(SANDBOX_BASE_DIR)/../tools/make/gcc-host.mk
include $(SANDBOX_DIR)/../tools/make/gcc-host.mk
SANDBOX_PROG_NAME := $(notdir $(SANDBOX_PROG_DIR))
SANDBOX_BUILD_DIR := $(SANDBOX_DIR)/../build/sandbox
SANDBOX_BUILD_DIR := $(SANDBOX_BASE_DIR)/../build/sandbox
BUILD_DIR := $(SANDBOX_BUILD_DIR)/$(SANDBOX_PROG_NAME)