Wed, 01 Mar 2023 14:23:31 +0100
7 files changed,
31 insertions(+),
16 deletions(-)
M
apps/makefile
→
apps/makefile
@@ -10,11 +10,11 @@ SUBDIRS = $(wildcard */.)
.PHONY: build build: folder $(SUBDIRS) $(OBJECTS) -> $(GCC_PREFIX)ld -T link.txt $(wildcard $(LOCAL_BUILD)/*.o) -o $(GLOBAL_BUILD)/apps.o --oformat elf32-i386 +> $(GCC_PREFIX)ld -T link.txt -r $(wildcard $(LOCAL_BUILD)/*.o) -o $(GLOBAL_BUILD)/apps.o --oformat elf32-i386 .PHONY: folder folder: -> @mkdir $(LOCAL_BUILD) 2> /dev/null; true +> @mkdir -p $(LOCAL_BUILD) .PHONY: $(SUBDIRS) $(SUBDIRS):
M
boot/makefile
→
boot/makefile
@@ -8,8 +8,12 @@ LOCAL_BUILD = $(GLOBAL_BUILD)
SUBDIRS = $(wildcard */.) +.PHONY: folder +folder: +> @mkdir -p $(LOCAL_BUILD) + .PHONY: build -build: $(SUBDIRS) +build: folder $(SUBDIRS) .PHONY: $(SUBDIRS) $(SUBDIRS):
M
kernel/drivers/makefile
→
kernel/drivers/makefile
@@ -14,7 +14,7 @@ > $(GCC_PREFIX)ld $(wildcard $(LOCAL_BUILD)/*.o) -r -o $(GLOBAL_BUILD)/drivers.o --oformat elf32-i386
.PHONY: folder folder: -> @mkdir $(LOCAL_BUILD) 2> /dev/null; true +> @mkdir -p $(LOCAL_BUILD) .PHONY: $(SUBDIRS) $(SUBDIRS):
M
kernel/makefile
→
kernel/makefile
@@ -14,7 +14,7 @@ > $(GCC_PREFIX)ld $(LOCAL_BUILD)/*.o -r -o $(GLOBAL_BUILD)/kernel.o --oformat elf32-i386
.PHONY: folder folder: -> @mkdir $(LOCAL_BUILD) 2> /dev/null; true +> @mkdir -p $(LOCAL_BUILD) .PHONY: $(SUBDIRS) $(SUBDIRS):
M
kernel/mm/makefile
→
kernel/mm/makefile
@@ -14,7 +14,7 @@ > $(GCC_PREFIX)ld $(wildcard $(LOCAL_BUILD)/*.o) -r -o $(GLOBAL_BUILD)/mm.o --oformat elf32-i386
.PHONY: folder folder: -> @mkdir $(LOCAL_BUILD) 2> /dev/null; true +> @mkdir -p $(LOCAL_BUILD) .PHONY: $(SUBDIRS) $(SUBDIRS):
M
kernel/sched/makefile
→
kernel/sched/makefile
@@ -14,7 +14,7 @@ > $(GCC_PREFIX)ld $(wildcard $(LOCAL_BUILD)/*.o) -r -o $(GLOBAL_BUILD)/sched.o --oformat elf32-i386
.PHONY: folder folder: -> @mkdir $(LOCAL_BUILD) 2> /dev/null; true +> @mkdir -p $(LOCAL_BUILD) .PHONY: $(SUBDIRS) $(SUBDIRS):
M
makefile
→
makefile
@@ -2,7 +2,7 @@ .RECIPEPREFIX = >
export CURRENT_DIR = $(shell pwd) export INCLUDE_DIR = $(CURRENT_DIR)/include -export DEBUG_DIR = $(CURRENT_DIR)/debug +export LOG_DIR = $(CURRENT_DIR)/log export GCC_PREFIX = $(HOME)/opt/cross/bin/i686-elf-@@ -17,21 +17,32 @@ endif
export GCC_OPTIONS +.PHONY: folder +folder: +> @mkdir -p $(LOCAL_BUILD) .PHONY: build -build: +build: boot kernel apps > @mkdir $(LOCAL_BUILD) 2> /dev/null; true +> $(GCC_PREFIX)ld $(LOCAL_BUILD)/*.o -T link.txt -Map=$(LOG_DIR)/mapfile.txt -o $(GLOBAL_BUILD)/base.o +> $(GCC_PREFIX)objcopy --only-keep-debug $(GLOBAL_BUILD)/base.o $(LOG_DIR)/base.sym +> $(GCC_PREFIX)objcopy -O binary $(GLOBAL_BUILD)/base.o $(GLOBAL_BUILD)/base.img +> $(GCC_PREFIX)objdump -D $(GLOBAL_BUILD)/base.o > $(LOG_DIR)/objdump.txt + +.PHONY: boot +boot: > $(MAKE) GLOBAL_BUILD=$(LOCAL_BUILD) -C boot build + +.PHONY: kernel +kernel: > $(MAKE) GLOBAL_BUILD=$(LOCAL_BUILD) -C kernel build -> $(MAKE) GLOBAL_BUILD=$(LOCAL_BUILD) -C apps build -> $(GCC_PREFIX)ld $(LOCAL_BUILD)/*.o -T link.txt -Map=$(DEBUG_DIR)/mapfile.txt -o $(GLOBAL_BUILD)/base.o -> $(GCC_PREFIX)objcopy --only-keep-debug $(GLOBAL_BUILD)/base.o $(DEBUG_DIR)/base.sym -> $(GCC_PREFIX)objcopy -O binary $(GLOBAL_BUILD)/base.o $(GLOBAL_BUILD)/base.img -> $(GCC_PREFIX)objdump -D $(GLOBAL_BUILD)/base.o > $(DEBUG_DIR)/objdump.txt +.PHONY: apps +apps: +> $(MAKE) GLOBAL_BUILD=$(LOCAL_BUILD) -C apps build -.PHONY: clear -clear: +.PHONY: clean +clean: > @rm -r $(CURRENT_DIR)/build/* 2> /dev/null; true .PHONY: run