summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorNathan Lee <me@nwlee.tech>2026-07-19 18:23:59 -0500
committerNathan Lee <me@nwlee.tech>2026-07-19 18:23:59 -0500
commit9137408a4989fcafca6527a2e17e5a7348d00dde (patch)
tree2a7d13bff2c004915482f161e9f7ad85e0b63e07 /Makefile
parent24fdac29fb8a1c7766869b05e7a17b2c4cc98ce1 (diff)
update Makefile
- removed echo - changed LD to actually use ld.lld
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile11
1 files changed, 7 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index cc021ca..c19fe9f 100644
--- a/Makefile
+++ b/Makefile
@@ -33,8 +33,8 @@ INCLUDE_FLAG = -Iinclude -Ikernel
OPT_FLAG = -O2 -g3
WARN_FLAG = -Wall -Wextra -Werror -Wundef
-KERNEL_LD_FLAG = -T linker.ld -fuse-ld=lld -Wl,-nostdlib -Wl,-melf32lriscv -Wl,--gc-sections -Wl,-Map=$(MAP_FILE)
-MODULE_LD_FLAG = -fuse-ld=lld -Wl,-nostdlib -Wl,-shared -Wl,-melf32lriscv -Wl,--gc-sections
+KERNEL_LD_FLAG = -T linker.ld -nostdlib -m elf32lriscv --gc-sections -Map=$(MAP_FILE)
+MODULE_LD_FLAG = -nostdlib -shared -m elf32lriscv --gc-sections
KERNEL_OBJCOPY_FLAG = -O binary \
--strip-all \
@@ -91,6 +91,7 @@ MODULE_OBJ_DIRS = $(addprefix $(OBJ_DIR)/, $(MODULES))
ALL_DIRS = $(OBJ_DIR)/kernel $(MODULE_OBJ_DIRS) $(BIN_DIR) $(MODULE_BIN_DIR)
.PHONY: all clean kernel modules $(MODULES)
+.SILENT:
all: kernel modules
kernel: $(KERNEL_BIN)
modules: $(ALL_MODULES)
@@ -106,7 +107,7 @@ $(OBJ_DIR)/kernel/%.o: $(KERNEL_DIR)/%.S | $(OBJ_DIR)/kernel
$(KERNEL_ELF): $(KERNEL_OBJS) linker.ld | $(BIN_DIR)
@echo " LD $@"
- $(CC) $(KERNEL_CFLAGS) $(KERNEL_LD_FLAG) $(KERNEL_OBJS) -o $@
+ $(LD) $(KERNEL_LD_FLAG) $(KERNEL_OBJS) -o $@
$(KERNEL_BIN): $(KERNEL_ELF) | $(BIN_DIR)
@echo " OBJCOPY $@"
@@ -125,7 +126,8 @@ $(OBJ_DIR)/%.o: %.S# | $(OBJ_DIR)/%
define module_link_rule
$(MODULE_BIN_DIR)/$(1).ko: $$(MODULE_$(1)_OBJS) | $(MODULE_BIN_DIR)
@echo " LD $$@"
- $$(CC) $$(MODULE_CFLAGS) $$(MODULE_LD_FLAG) $$^ -o $$@
+ $$(LD) $$(MODULE_LD_FLAG) $$^ -o $$@
+ @echo " OBJCOPY $$@"
$$(OBJCOPY) $$(MODULE_OBJCOPY_FLAG) $$@ $$@
endef
@@ -135,4 +137,5 @@ $(ALL_DIRS):
mkdir -p $@
clean:
+ @echo " CLEAN out/"
rm -rf out