]> 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 d08066fe011b1cf6e34888e5d06df180b619c12b..fae588b532998b19b85899d2b87822f5d6b46fa3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 # AdrOS Makefile
-# Usage: make ARCH=x86 (default) | arm | riscv
+# Usage: make ARCH=x86 (default) | arm | riscv | mips
 
 ARCH ?= x86
 KERNEL_NAME := adros-$(ARCH).bin
@@ -12,6 +12,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)
@@ -66,6 +69,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))