feat: Intel/AMD AVX & MSR sensors, Gigabit PCIe NICs, AHCI SATA, FAT32, and ogit in Ring 3
This commit is contained in:
@@ -39,10 +39,12 @@ NET_SERVER := $(BUILD_DIR)/net_server.elf
|
||||
SH_SERVER := $(BUILD_DIR)/sh.elf
|
||||
PROCMGR := $(BUILD_DIR)/procmgr.elf
|
||||
HELLO_APP := $(BUILD_DIR)/hello.opc
|
||||
OGIT_APP := $(BUILD_DIR)/ogit.opc
|
||||
DISK_IMG := $(BUILD_DIR)/opencoreC.img
|
||||
|
||||
LIBC_OBJS := $(BUILD_DIR)/string.o $(BUILD_DIR)/syscalls.o $(BUILD_DIR)/stdlib.o
|
||||
NET_OBJS := $(BUILD_DIR)/net.o $(BUILD_DIR)/rtl8139.o $(BUILD_DIR)/pci.o
|
||||
NET_OBJS := $(BUILD_DIR)/net.o $(BUILD_DIR)/rtl8139.o $(BUILD_DIR)/e1000.o $(BUILD_DIR)/r8169.o $(BUILD_DIR)/pci.o
|
||||
STORAGE_OBJS := $(BUILD_DIR)/ahci.o $(BUILD_DIR)/fat32.o $(BUILD_DIR)/pci.o
|
||||
|
||||
.PHONY: all kernel libc hal servers image run qemu clean help limine-setup
|
||||
|
||||
@@ -67,7 +69,7 @@ libc:
|
||||
@$(CC) $(CFLAGS) -c $(LIB_DIR)/libc/src/string.c -o $(BUILD_DIR)/string.o
|
||||
@$(CC) $(CFLAGS) -c $(LIB_DIR)/libc/src/syscalls.c -o $(BUILD_DIR)/syscalls.o
|
||||
@$(CC) $(CFLAGS) -c $(LIB_DIR)/libc/src/stdlib.c -o $(BUILD_DIR)/stdlib.o
|
||||
@$(CC) $(CFLAGS) -c $(LIB_DIR)/libc/src/net.c -o $(BUILD_DIR)/net.o
|
||||
@$(CC) $(CFLAGS) -I$(HAL_DIR)/include -c $(LIB_DIR)/libc/src/net.c -o $(BUILD_DIR)/net.o
|
||||
|
||||
hal: libc
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
@@ -77,6 +79,10 @@ hal: libc
|
||||
@$(CC) $(CFLAGS) -I$(HAL_DIR)/include -c $(HAL_DIR)/src/apic.c -o $(BUILD_DIR)/apic.o
|
||||
@$(CC) $(CFLAGS) -I$(HAL_DIR)/include -c $(HAL_DIR)/src/fb.c -o $(BUILD_DIR)/fb.o
|
||||
@$(CC) $(CFLAGS) -I$(HAL_DIR)/include -c $(HAL_DIR)/src/rtl8139.c -o $(BUILD_DIR)/rtl8139.o
|
||||
@$(CC) $(CFLAGS) -I$(HAL_DIR)/include -c $(HAL_DIR)/src/e1000.c -o $(BUILD_DIR)/e1000.o
|
||||
@$(CC) $(CFLAGS) -I$(HAL_DIR)/include -c $(HAL_DIR)/src/r8169.c -o $(BUILD_DIR)/r8169.o
|
||||
@$(CC) $(CFLAGS) -I$(HAL_DIR)/include -c $(HAL_DIR)/src/ahci.c -o $(BUILD_DIR)/ahci.o
|
||||
@$(CC) $(CFLAGS) -I$(HAL_DIR)/include -c $(HAL_DIR)/src/fat32.c -o $(BUILD_DIR)/fat32.o
|
||||
|
||||
servers: libc hal
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
@@ -91,16 +97,16 @@ servers: libc hal
|
||||
@$(CC) $(CFLAGS) -I$(HAL_DIR)/include -c $(SERVERS_DIR)/uart_driver/main.c -o $(BUILD_DIR)/uart_driver_main.o
|
||||
@$(LD) -T $(CONFIG_DIR)/user.ld -nostdlib -static -o $(UART_DRIVER) \
|
||||
$(BUILD_DIR)/uart_driver_main.o $(BUILD_DIR)/uart.o $(LIBC_OBJS)
|
||||
@# Standalone Virtual File System Server
|
||||
@$(CXX) $(CXXFLAGS) -c $(SERVERS_DIR)/vfs_server/main.cpp -o $(BUILD_DIR)/vfs_server_main.o
|
||||
@# Standalone Virtual File System Server (with AHCI SATA & FAT32)
|
||||
@$(CXX) $(CXXFLAGS) -I$(HAL_DIR)/include -c $(SERVERS_DIR)/vfs_server/main.cpp -o $(BUILD_DIR)/vfs_server_main.o
|
||||
@$(LD) -T $(CONFIG_DIR)/user.ld -nostdlib -static -o $(VFS_SERVER) \
|
||||
$(BUILD_DIR)/vfs_server_main.o $(BUILD_DIR)/ipc.o $(LIBC_OBJS)
|
||||
@# Standalone Network Stack Server
|
||||
@$(CXX) $(CXXFLAGS) -c $(SERVERS_DIR)/net_server/main.cpp -o $(BUILD_DIR)/net_server_main.o
|
||||
$(BUILD_DIR)/vfs_server_main.o $(BUILD_DIR)/ipc.o $(STORAGE_OBJS) $(LIBC_OBJS)
|
||||
@# Standalone Network Stack Server (with Gigabit e1000 & r8169)
|
||||
@$(CXX) $(CXXFLAGS) -I$(HAL_DIR)/include -c $(SERVERS_DIR)/net_server/main.cpp -o $(BUILD_DIR)/net_server_main.o
|
||||
@$(LD) -T $(CONFIG_DIR)/user.ld -nostdlib -static -o $(NET_SERVER) \
|
||||
$(BUILD_DIR)/net_server_main.o $(BUILD_DIR)/ipc.o $(NET_OBJS) $(LIBC_OBJS)
|
||||
@# Interactive Shell with Networking & Framebuffer
|
||||
@$(CXX) $(CXXFLAGS) -c $(SERVERS_DIR)/sh/main.cpp -o $(BUILD_DIR)/sh_main.o
|
||||
@$(CXX) $(CXXFLAGS) -I$(HAL_DIR)/include -c $(SERVERS_DIR)/sh/main.cpp -o $(BUILD_DIR)/sh_main.o
|
||||
@$(LD) -T $(CONFIG_DIR)/user.ld -nostdlib -static -o $(SH_SERVER) \
|
||||
$(BUILD_DIR)/sh_main.o $(BUILD_DIR)/ipc.o $(BUILD_DIR)/fb.o $(NET_OBJS) $(LIBC_OBJS)
|
||||
@# Process Manager Daemon
|
||||
@@ -112,6 +118,11 @@ servers: libc hal
|
||||
@$(LD) -T $(CONFIG_DIR)/user.ld -nostdlib -static -o $(BUILD_DIR)/hello.elf \
|
||||
$(BUILD_DIR)/hello.o $(LIBC_OBJS)
|
||||
@python3 tools/elf2opc.py $(BUILD_DIR)/hello.elf $(HELLO_APP)
|
||||
@# Native .opc OpenCore Git Application (ogit.opc)
|
||||
@$(CC) $(CFLAGS) -c apps/ogit.c -o $(BUILD_DIR)/ogit.o
|
||||
@$(LD) -T $(CONFIG_DIR)/user.ld -nostdlib -static -o $(BUILD_DIR)/ogit.elf \
|
||||
$(BUILD_DIR)/ogit.o $(LIBC_OBJS)
|
||||
@python3 tools/elf2opc.py $(BUILD_DIR)/ogit.elf $(OGIT_APP)
|
||||
|
||||
# Download and build the Limine bootloader host tool
|
||||
limine-setup:
|
||||
@@ -138,6 +149,7 @@ image: all limine-setup
|
||||
@mcopy -i $(DISK_IMG)@@1M $(PROCMGR) ::/boot/
|
||||
@mcopy -i $(DISK_IMG)@@1M $(SH_SERVER) ::/boot/
|
||||
@mcopy -i $(DISK_IMG)@@1M $(HELLO_APP) ::/boot/
|
||||
@mcopy -i $(DISK_IMG)@@1M $(OGIT_APP) ::/boot/
|
||||
@# Bootloader config
|
||||
@mcopy -i $(DISK_IMG)@@1M limine.conf ::/
|
||||
@mcopy -i $(DISK_IMG)@@1M limine.cfg ::/
|
||||
|
||||
Reference in New Issue
Block a user