]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commitdiff
build: add arch HAL sources and mips target
authorTulio A M Mendes <[email protected]>
Thu, 5 Feb 2026 19:40:45 +0000 (16:40 -0300)
committerTulio A M Mendes <[email protected]>
Thu, 5 Feb 2026 19:40:45 +0000 (16:40 -0300)
Makefile

index c733f7f1878025cdc16027609a3be91cecb25e6f..7cbe9861f18348e4064cd518054f1ce3f90fef67 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@
 #
 
 # AdrOS Makefile
-# Usage: make ARCH=x86 (default) | arm | riscv
+# Usage: make ARCH=x86 (default) | arm | riscv | mips
 
 ARCH ?= x86
 KERNEL_NAME := adros-$(ARCH).bin
@@ -21,6 +21,9 @@ BUILD_DIR := build/$(ARCH)
 C_SOURCES := $(wildcard $(SRC_DIR)/kernel/*.c)
 C_SOURCES += $(wildcard $(SRC_DIR)/drivers/*.c)
 C_SOURCES += $(wildcard $(SRC_DIR)/mm/*.c)
+ # HAL sources (architecture-specific)
+ C_SOURCES += $(wildcard $(SRC_DIR)/hal/$(ARCH)/*.c)
 
 # --- x86 Configuration ---
 ifeq ($(ARCH),x86)
@@ -75,6 +78,18 @@ ifeq ($(ARCH),riscv)
     C_SOURCES += $(wildcard $(SRC_DIR)/arch/riscv/*.c)
 endif
 
+# --- MIPS 32 Configuration ---
+ifeq ($(ARCH),mips)
+    CC := mipsel-linux-gnu-gcc
+    AS := mipsel-linux-gnu-as
+    LD := mipsel-linux-gnu-ld
+    CFLAGS := -ffreestanding -O2 -Wall -Wextra -Iinclude -mabi=32 -march=mips32
+    LDFLAGS := -T $(SRC_DIR)/arch/mips/linker.ld
+    ASFLAGS :=
+    ASM_SOURCES := $(wildcard $(SRC_DIR)/arch/mips/*.S)
+    C_SOURCES += $(wildcard $(SRC_DIR)/arch/mips/*.c)
+endif
+
 # Object generation
 OBJ := $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o, $(C_SOURCES))
 OBJ += $(patsubst $(SRC_DIR)/%.S, $(BUILD_DIR)/%.o, $(ASM_SOURCES))