mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-28 15:34:31 +00:00
chore: Update driver makefiles
This commit is contained in:
parent
7948d0c6e5
commit
828dab1875
@ -1,3 +1,57 @@
|
|||||||
|
default:
|
||||||
|
$(error Do not run this Makefile directly!)
|
||||||
|
|
||||||
|
CC := $(__CONF_CC)
|
||||||
|
CXX := $(__CONF_CXX)
|
||||||
|
LD := $(__CONF_LD)
|
||||||
|
AS := $(__CONF_AS)
|
||||||
|
OBJDUMP := $(__CONF_OBJDUMP)
|
||||||
|
|
||||||
|
OUTPUT_DIR := $(CURDIR)/out/
|
||||||
|
INCLUDE_DIR := $(CURDIR)/include
|
||||||
|
|
||||||
|
export CC
|
||||||
|
export CXX
|
||||||
|
export LD
|
||||||
|
export AS
|
||||||
|
export OBJDUMP
|
||||||
|
|
||||||
|
export OUTPUT_DIR
|
||||||
|
export INCLUDE_DIR
|
||||||
|
|
||||||
|
DRIVER_LDFLAGS = -nostdlib -nodefaultlibs -nolibc -zmax-page-size=0x1000 \
|
||||||
|
-Wl,-Map file.map -fvisibility=hidden -Wl,--dynamic-linker=/boot/fennix.elf
|
||||||
|
|
||||||
|
ifeq ($(OSARCH), amd64)
|
||||||
|
DRIVER_CFLAGS = -fPIC -fPIE -pie -mno-80387 -mno-mmx -mno-3dnow \
|
||||||
|
-mno-red-zone -mno-sse -mno-sse2 \
|
||||||
|
-march=x86-64 -pipe -ffunction-sections \
|
||||||
|
-msoft-float -fno-builtin
|
||||||
|
|
||||||
|
else ifeq ($(OSARCH), i386)
|
||||||
|
DRIVER_CFLAGS = -fPIC -fPIE -pie -mno-80387 -mno-mmx -mno-3dnow \
|
||||||
|
-mno-red-zone -mno-sse -mno-sse2 -ffunction-sections \
|
||||||
|
-march=i386 -pipe -msoft-float -fno-builtin
|
||||||
|
else ifeq ($(OSARCH), aarch64)
|
||||||
|
DRIVER_CFLAGS = -pipe -fno-builtin -fPIC
|
||||||
|
endif
|
||||||
|
|
||||||
|
DRIVER_CFLAGS += -I$(CURDIR)/include
|
||||||
|
|
||||||
|
ifeq ($(DEBUG), 1)
|
||||||
|
DRIVER_CFLAGS += -DDEBUG -ggdb3 -O0 -fdiagnostics-color=always -fstack-usage
|
||||||
|
ifeq ($(OSARCH), amd64)
|
||||||
|
DRIVER_CFLAGS += -fverbose-asm
|
||||||
|
endif
|
||||||
|
ifneq ($(OSARCH), aarch64)
|
||||||
|
DRIVER_CFLAGS += -fstack-check
|
||||||
|
endif
|
||||||
|
DRIVER_LDFLAGS += -ggdb3 -O0
|
||||||
|
endif
|
||||||
|
|
||||||
|
export DRIVER_LDFLAGS
|
||||||
|
export DRIVER_CFLAGS
|
||||||
|
|
||||||
build:
|
build:
|
||||||
cp -rf ../Kernel/include/interface/* include/
|
cp -rf ../Kernel/include/interface/* include/
|
||||||
mkdir -p out
|
mkdir -p out
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = ac97.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = hda.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
CC = ../../../$(COMPILER_PATH)/$(COMPILER_ARCH)gcc
|
|
||||||
CPP = ../../../$(COMPILER_PATH)/$(COMPILER_ARCH)g++
|
|
||||||
LD = ../../../$(COMPILER_PATH)/$(COMPILER_ARCH)ld
|
|
||||||
AS = ../../../$(COMPILER_PATH)/$(COMPILER_ARCH)as
|
|
||||||
OBJDUMP = ../../../$(COMPILER_PATH)/$(COMPILER_ARCH)objdump
|
|
||||||
|
|
||||||
DRIVER_LDFLAGS := -nostdlib -nodefaultlibs -nolibc -zmax-page-size=0x1000 \
|
|
||||||
-Wl,-Map file.map -fvisibility=hidden -Wl,--dynamic-linker=/boot/fennix.elf
|
|
||||||
|
|
||||||
ifeq ($(OSARCH), amd64)
|
|
||||||
|
|
||||||
DRIVER_CFLAGS := -fPIC -fPIE -pie -mno-80387 -mno-mmx -mno-3dnow \
|
|
||||||
-mno-red-zone -mno-sse -mno-sse2 \
|
|
||||||
-march=x86-64 -pipe -ffunction-sections \
|
|
||||||
-msoft-float -fno-builtin
|
|
||||||
|
|
||||||
else ifeq ($(OSARCH), i386)
|
|
||||||
|
|
||||||
DRIVER_CFLAGS := -fPIC -fPIE -pie -mno-80387 -mno-mmx -mno-3dnow \
|
|
||||||
-mno-red-zone -mno-sse -mno-sse2 -ffunction-sections \
|
|
||||||
-march=i386 -pipe -msoft-float -fno-builtin
|
|
||||||
|
|
||||||
else ifeq ($(OSARCH), aarch64)
|
|
||||||
|
|
||||||
DRIVER_CFLAGS += -pipe -fno-builtin -fPIC
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
DRIVER_CFLAGS += -I../../include
|
|
||||||
|
|
||||||
ifeq ($(DEBUG), 1)
|
|
||||||
DRIVER_CFLAGS += -DDEBUG -ggdb3 -O0 -fdiagnostics-color=always -fstack-usage
|
|
||||||
ifeq ($(OSARCH), amd64)
|
|
||||||
DRIVER_CFLAGS += -fverbose-asm
|
|
||||||
endif
|
|
||||||
ifneq ($(OSARCH), aarch64)
|
|
||||||
DRIVER_CFLAGS += -fstack-check
|
|
||||||
endif
|
|
||||||
DRIVER_LDFLAGS += -ggdb3 -O0
|
|
||||||
endif
|
|
||||||
|
|
||||||
WARNCFLAG = -Wall -Wextra
|
|
||||||
|
|
||||||
%.o: %.c $(HEADERS)
|
|
||||||
$(info Compiling $<)
|
|
||||||
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
|
||||||
|
|
||||||
%.o: %.cpp $(HEADERS)
|
|
||||||
$(info Compiling $<)
|
|
||||||
$(CPP) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
|
||||||
|
|
||||||
%.o: %.S
|
|
||||||
$(info Compiling $<)
|
|
||||||
$(AS) -o $@ $<
|
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = fat.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = aip.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -1,21 +1,14 @@
|
|||||||
# Config file
|
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
FILENAME = libkernel.so
|
FILENAME = libkernel.so
|
||||||
|
|
||||||
CC = ../../$(COMPILER_PATH)/$(COMPILER_ARCH)gcc
|
default:
|
||||||
CPP = ../../$(COMPILER_PATH)/$(COMPILER_ARCH)g++
|
$(error Do not run this Makefile directly!)
|
||||||
LD = ../../$(COMPILER_PATH)/$(COMPILER_ARCH)ld
|
|
||||||
AS = ../../$(COMPILER_PATH)/$(COMPILER_ARCH)as
|
|
||||||
AR = ../../$(COMPILER_PATH)/$(COMPILER_ARCH)ar
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S' -not -path "./crt/*")
|
S_SOURCES = $(shell find ./ -type f -name '*.S' -not -path "./crt/*")
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c' -not -path "./crt/*")
|
C_SOURCES = $(shell find ./ -type f -name '*.c' -not -path "./crt/*")
|
||||||
CPP_SOURCES = $(shell find ./ -type f -name '*.cpp' -not -path "./crt/*")
|
CPP_SOURCES = $(shell find ./ -type f -name '*.cpp' -not -path "./crt/*")
|
||||||
HEADERS = $(sort $(dir $(wildcard ../include/*)))
|
HEADERS = $(sort $(dir $(wildcard $(INCLUDE_DIR)/*)))
|
||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(ASM_SOURCES:.asm=.o) $(S_SOURCES:.S=.o) $(PSF_SOURCES:.psf=.o) $(BMP_SOURCES:.bmp=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(ASM_SOURCES:.asm=.o) $(S_SOURCES:.S=.o) $(PSF_SOURCES:.psf=.o) $(BMP_SOURCES:.bmp=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
INCLUDE_DIR = ../include
|
|
||||||
|
|
||||||
LDFLAGS := -fPIC -fPIE -pie -nostdlib -nodefaultlibs -nolibc \
|
LDFLAGS := -fPIC -fPIE -pie -nostdlib -nodefaultlibs -nolibc \
|
||||||
-zmax-page-size=0x1000 -Wl,-Map libkernel.map -shared
|
-zmax-page-size=0x1000 -Wl,-Map libkernel.map -shared
|
||||||
@ -43,7 +36,7 @@ CFLAGS += -pipe -fno-builtin -fPIC
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CRT_CFLAGS := -fPIC -fPIE -pie -mno-red-zone -std=c++20 -I../include
|
CRT_CFLAGS := -fPIC -fPIE -pie -mno-red-zone -std=c++20 -I$(INCLUDE_DIR)
|
||||||
|
|
||||||
ifeq ($(DEBUG), 1)
|
ifeq ($(DEBUG), 1)
|
||||||
CFLAGS += -DDEBUG -ggdb3 -O0 -fdiagnostics-color=always -fstack-usage
|
CFLAGS += -DDEBUG -ggdb3 -O0 -fdiagnostics-color=always -fstack-usage
|
||||||
@ -60,12 +53,12 @@ endif
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
$(CPP) $(CRT_CFLAGS) -c crt/crt0.cpp -o dcrt0.o
|
$(CXX) $(CRT_CFLAGS) -c crt/crt0.cpp -o dcrt0.o
|
||||||
mv dcrt0.o ../out/dcrt0.o
|
mv dcrt0.o $(OUTPUT_DIR)dcrt0.o
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(LDFLAGS) $(OBJ) -o ../out/$(FILENAME)
|
$(CC) $(LDFLAGS) $(OBJ) -o $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
%.o: %.c $(HEADERS)
|
%.o: %.c $(HEADERS)
|
||||||
$(info Compiling $<)
|
$(info Compiling $<)
|
||||||
@ -73,7 +66,7 @@ $(FILENAME): $(OBJ)
|
|||||||
|
|
||||||
%.o: %.cpp $(HEADERS)
|
%.o: %.cpp $(HEADERS)
|
||||||
$(info Compiling $<)
|
$(info Compiling $<)
|
||||||
$(CPP) $(CFLAGS) $(WARNCFLAG) -std=c++20 -fexceptions -c $< -o $@
|
$(CXX) $(CFLAGS) $(WARNCFLAG) -std=c++20 -fexceptions -c $< -o $@
|
||||||
|
|
||||||
%.o: %.S
|
%.o: %.S
|
||||||
$(info Compiling $<)
|
$(info Compiling $<)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = example.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = vmware.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = e1000.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = rtl8139.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = ahci.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Config files
|
default:
|
||||||
include ../../../config.mk
|
$(error Do not run this Makefile directly!)
|
||||||
include ../../config.mk
|
|
||||||
|
|
||||||
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
||||||
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
||||||
@ -9,14 +8,28 @@ HEADERS = $(sort $(dir $(wildcard ../../include/*)))
|
|||||||
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
OBJ = $(C_SOURCES:.c=.o) $(CPP_SOURCES:.cpp=.o) $(S_SOURCES:.S=.o)
|
||||||
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
STACK_USAGE_OBJ = $(C_SOURCES:.c=.su) $(CPP_SOURCES:.cpp=.su)
|
||||||
|
|
||||||
FILENAME = ata.drv
|
FILENAME = $(notdir $(shell pwd)).drv
|
||||||
|
|
||||||
build: $(FILENAME)
|
build: $(FILENAME)
|
||||||
mv $(FILENAME) ../../out/$(FILENAME)
|
mv $(FILENAME) $(OUTPUT_DIR)$(FILENAME)
|
||||||
|
|
||||||
$(FILENAME): $(OBJ)
|
$(FILENAME): $(OBJ)
|
||||||
$(info Linking $@)
|
$(info Linking $@)
|
||||||
$(CC) $(DRIVER_LDFLAGS) $(OBJ) ../../out/dcrt0.o -L../../out -lkernel -o $@
|
$(CC) $(DRIVER_LDFLAGS) $(OBJ) $(OUTPUT_DIR)dcrt0.o -L$(OUTPUT_DIR) -lkernel -o $@
|
||||||
|
|
||||||
|
WARNCFLAG = -Wall -Wextra
|
||||||
|
|
||||||
|
%.o: %.c $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CC) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.cpp $(HEADERS)
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(CXX) $(DRIVER_CFLAGS) $(WARNCFLAG) -std=c++20 -fno-exceptions -fno-rtti -c $< -o $@
|
||||||
|
|
||||||
|
%.o: %.S
|
||||||
|
$(info Compiling $<)
|
||||||
|
$(AS) -o $@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
rm -f file.map $(OBJ) $(STACK_USAGE_OBJ)
|
||||||
|
@ -84,7 +84,7 @@ endif # aarch64
|
|||||||
endif # DEBUG
|
endif # DEBUG
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$(error Please specify a target)
|
$(error Do not run this Makefile directly!)
|
||||||
|
|
||||||
prepare:
|
prepare:
|
||||||
$(info Nothing to prepare)
|
$(info Nothing to prepare)
|
||||||
@ -112,7 +112,7 @@ $(KERNEL_FILENAME): $(OBJ)
|
|||||||
# https://gcc.gnu.org/projects/cxx-status.html
|
# https://gcc.gnu.org/projects/cxx-status.html
|
||||||
%.o: %.cpp $(HEADERS)
|
%.o: %.cpp $(HEADERS)
|
||||||
$(info Compiling $<)
|
$(info Compiling $<)
|
||||||
$(__CONF_CPP) $(CFLAGS) -fcoroutines $(CFLAG_STACK_PROTECTOR) $(WARNCFLAG) -std=c++20 -c $< -o $@ -fno-rtti
|
$(__CONF_CXX) $(CFLAGS) -fcoroutines $(CFLAG_STACK_PROTECTOR) $(WARNCFLAG) -std=c++20 -c $< -o $@ -fno-rtti
|
||||||
|
|
||||||
%.o: %.S
|
%.o: %.S
|
||||||
$(info Compiling $<)
|
$(info Compiling $<)
|
||||||
|
@ -18,8 +18,8 @@ KERNEL_VERSION = dev
|
|||||||
BOOTLOADER = grub
|
BOOTLOADER = grub
|
||||||
|
|
||||||
BUILD_KERNEL = 1
|
BUILD_KERNEL = 1
|
||||||
# BUILD_USERSPACE = 1
|
#BUILD_USERSPACE = 1
|
||||||
# BUILD_DRIVERS = 1
|
BUILD_DRIVERS = 1
|
||||||
|
|
||||||
QUIET_BUILD = 1
|
QUIET_BUILD = 1
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ endif
|
|||||||
export __CONF_QEMU_PATH
|
export __CONF_QEMU_PATH
|
||||||
|
|
||||||
__CONF_CC := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-gcc
|
__CONF_CC := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-gcc
|
||||||
__CONF_CPP := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-g++
|
__CONF_CXX := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-g++
|
||||||
__CONF_LD := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-ld
|
__CONF_LD := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-ld
|
||||||
__CONF_AS := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-as
|
__CONF_AS := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-as
|
||||||
__CONF_NM := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-nm
|
__CONF_NM := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-nm
|
||||||
@ -78,7 +78,7 @@ __CONF_OBJDUMP := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-objdump
|
|||||||
__CONF_GDB := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-gdb
|
__CONF_GDB := $(COMPILER_PATH)/bin/$(COMPILER_ARCH)-fennix-gdb
|
||||||
|
|
||||||
export __CONF_CC
|
export __CONF_CC
|
||||||
export __CONF_CPP
|
export __CONF_CXX
|
||||||
export __CONF_LD
|
export __CONF_LD
|
||||||
export __CONF_AS
|
export __CONF_AS
|
||||||
export __CONF_NM
|
export __CONF_NM
|
||||||
|
@ -4,6 +4,9 @@ export PATH := $(CROSS_DIR):$(PATH)
|
|||||||
|
|
||||||
QEMU_VERSION = 9.1.2
|
QEMU_VERSION = 9.1.2
|
||||||
|
|
||||||
|
default:
|
||||||
|
$(error Please specify a target)
|
||||||
|
|
||||||
all: do_tools do_limine __clone_all do_binutils do_gcc do_qemu
|
all: do_tools do_limine __clone_all do_binutils do_gcc do_qemu
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user