Adjusted build system to make it more portable

This commit is contained in:
2022-12-24 17:42:33 +00:00
parent 26853c32c8
commit 0309e1edd1
3 changed files with 10 additions and 10 deletions

View File

@@ -45,22 +45,22 @@ LDFLAGS := $(LDFLAGS) -g
ALL_KERNEL_OBJECT_FILES := $(KERNEL_OBJ) $(ARCH_OBJ) $(LIBC_OBJ) ALL_KERNEL_OBJECT_FILES := $(KERNEL_OBJ) $(ARCH_OBJ) $(LIBC_OBJ)
$(BUILD_DIR)/$(KERNEL_EXEC): $(ALL_KERNEL_OBJECT_FILES) $(BUILD_DIR)/$(KERNEL_EXEC): $(ALL_KERNEL_OBJECT_FILES)
@echo " \033[1;36mLINK\033[0m \033[1m$@\033[0m" @printf " \033[1;36mLD\033[0m \033[1m$@\033[0m\n"
@mkdir -p $(@D) @mkdir -p $(@D)
@$(LD) $^ -o $@ $(LDFLAGS) $(ARCH_LDFLAGS) @$(LD) $^ -o $@ $(LDFLAGS) $(ARCH_LDFLAGS)
$(BUILD_DIR)/%.o: %.S $(BUILD_DIR)/%.o: %.S
@echo " \033[1;32mASM\033[0m $<" @printf " \033[1;32mAS\033[0m $<\n"
@mkdir -p $(@D) @mkdir -p $(@D)
@$(ASM) $< -o $@ -c $(ASMFLAGS) $(ARCH_ASMFLAGS) @$(ASM) $< -o $@ -c $(ASMFLAGS) $(ARCH_ASMFLAGS)
$(BUILD_DIR)/%.o: %.c $(BUILD_DIR)/%.o: %.c
@echo " \033[1;32mCC\033[0m $<" @printf " \033[1;32mCC\033[0m $<\n"
@mkdir -p $(@D) @mkdir -p $(@D)
@$(CC) $< -o $@ -c $(CFLAGS) $(ARCH_CFLAGS) @$(CC) $< -o $@ -c $(CFLAGS) $(ARCH_CFLAGS)
clean: clean:
@echo " \033[1;93mCLEAN\033[0m Deleting build artefacts." @printf " \033[1;93mRM\033[0m Deleting build artefacts.\n"
@rm -rf $(BUILD_DIR) @rm -rf $(BUILD_DIR)
@@ -69,7 +69,7 @@ all: $(BUILD_DIR)/$(KERNEL_EXEC)
$(BUILD_DIR)/compile_commands.json: $(BUILD_DIR)/compile_commands.json:
@$(MAKE) clean @$(MAKE) clean
@echo " \033[1;93mGEN\033[0m Generating compiler database." @printf " \033[1;93mGEN\033[0m Generating compiler database.\n"
@./tools/make/generate_compile_commands.py @./tools/make/generate_compile_commands.py

View File

@@ -12,18 +12,16 @@ $(BUILD_DIR)/$(KERNEL_EXEC).elf32: $(BUILD_DIR)/$(KERNEL_EXEC)
@printf '\x03\x00' | dd of=$(BUILD_DIR)/$(KERNEL_EXEC).elf32 bs=1 seek=18 count=2 conv=notrunc 2> /dev/null @printf '\x03\x00' | dd of=$(BUILD_DIR)/$(KERNEL_EXEC).elf32 bs=1 seek=18 count=2 conv=notrunc 2> /dev/null
run: $(BUILD_DIR)/$(KERNEL_EXEC) $(BUILD_DIR)/$(KERNEL_EXEC).elf32 run: $(BUILD_DIR)/$(KERNEL_EXEC) $(BUILD_DIR)/$(KERNEL_EXEC).elf32
@echo " \033[1;93mBOOT\033[0m $<" @printf " \033[1;93mQEMU\033[0m $<\n"
@$(QEMU) -kernel $(BUILD_DIR)/$(KERNEL_EXEC).elf32 -monitor stdio @$(QEMU) -kernel $(BUILD_DIR)/$(KERNEL_EXEC).elf32 -monitor stdio
debug: $(BUILD_DIR)/$(KERNEL_EXEC) $(BUILD_DIR)/$(KERNEL_EXEC).elf32 debug: $(BUILD_DIR)/$(KERNEL_EXEC) $(BUILD_DIR)/$(KERNEL_EXEC).elf32
@echo " \033[1;93mDEBUG\033[0m $<"
@./tools/kernel-debug/debug_session.sh \ @./tools/kernel-debug/debug_session.sh \
tools/kernel-debug/gdb_session_init \ tools/kernel-debug/gdb_session_init \
tools/kernel-debug/lldb_session_init \ tools/kernel-debug/lldb_session_init \
$(QEMU) \ $(QEMU) \
-kernel $(BUILD_DIR)/$(KERNEL_EXEC).elf32 -S -s \ -kernel $(BUILD_DIR)/$(KERNEL_EXEC).elf32 -S -s \
-curses -serial file:$(BUILD_DIR)/socks.log $(QEMU_FLAGS) -display curses -serial file:$(BUILD_DIR)/socks.log $(QEMU_FLAGS)

View File

@@ -5,19 +5,21 @@ lldb_cfg=$2
shift 2 shift 2
if command -v gdb &> /dev/null; then if command -v gdb &> /dev/null; then
printf " \033[93;1mGDB\033[0m boot/socks_kernel\n"
tmux \ tmux \
new-session -d -s hz-debug "sleep 0.3; gdb -tui -x $gdb_cfg" \; \ new-session -d -s hz-debug "sleep 0.3; gdb -tui -x $gdb_cfg" \; \
split-window -h -l 80 \; \ split-window -h -l 80 \; \
split-window -v -l 25 "$@"\; \ split-window -v -l 25 "$@"\; \
select-pane -t 0 select-pane -t 0
elif command -v lldb &> /dev/null; then elif command -v lldb &> /dev/null; then
printf " \033[93;1mLLDB\033[0m boot/socks_kernel\n"
tmux \ tmux \
new-session -d -s hz-debug "sleep 0.1; lldb --source $lldb_cfg" \; \ new-session -d -s hz-debug "sleep 0.1; lldb --source $lldb_cfg" \; \
split-window -h -l 80 \; \ split-window -h -l 80 \; \
split-window -v -l 25 "$@"\; \ split-window -v -l 25 "$@"\; \
select-pane -t 0 select-pane -t 0
else else
echo "No debugger available" printf " \033[91;1mERR\033[0m No debugger available\n"
exit -1 exit -1
fi fi