mirror of
https://github.com/gbowne1/ClassicOS.git
synced 2025-10-26 02:15:06 -07:00
build: debug symbols for stage1
This commit is contained in:
20
Makefile
20
Makefile
@@ -7,7 +7,8 @@ IMG_SIZE = 1440k
|
||||
BUILD_DIR = build
|
||||
|
||||
BOOT_SRC = bootloader/boot.asm
|
||||
BOOT_BIN = $(BUILD_DIR)/boot.bin
|
||||
BOOT_OBJ = $(BUILD_DIR)/boot.o
|
||||
BOOT_ELF = $(BUILD_DIR)/boot.elf
|
||||
BOOT_IMG = $(BUILD_DIR)/boot.img
|
||||
KERNEL_SRC = kernel/kmain.c
|
||||
KERNEL_BIN = $(BUILD_DIR)/kernel.bin
|
||||
@@ -15,16 +16,17 @@ DISK_IMG = $(BUILD_DIR)/disk.img
|
||||
|
||||
all: $(BOOT_IMG) $(KERNEL_BIN) $(DISK_IMG)
|
||||
|
||||
stage1: $(BOOT_IMG)
|
||||
|
||||
$(BUILD_DIR):
|
||||
mkdir -p $@
|
||||
|
||||
$(BOOT_BIN): $(BOOT_SRC) | $(BUILD_DIR)
|
||||
$(AS) -f bin -o $@ $<
|
||||
$(BOOT_OBJ): $(BOOT_SRC) | $(BUILD_DIR)
|
||||
$(AS) -f elf32 -g -F dwarf -o $@ $<
|
||||
|
||||
$(BOOT_IMG): $(BOOT_BIN)
|
||||
cp $(BOOT_BIN) $@
|
||||
$(BOOT_ELF): $(BOOT_OBJ)
|
||||
$(LD) -Ttext=0x7c00 -melf_i386 -o $@ $<
|
||||
|
||||
$(BOOT_IMG): $(BOOT_ELF)
|
||||
objcopy -O binary $< $@
|
||||
truncate -s $(IMG_SIZE) $@
|
||||
|
||||
$(KERNEL_BIN): $(KERNEL_SRC) | $(BUILD_DIR)
|
||||
@@ -38,5 +40,9 @@ $(DISK_IMG): $(BOOT_IMG) $(KERNEL_BIN)
|
||||
run: $(DISK_IMG)
|
||||
$(QEMU) -drive file=$<,format=raw,if=floppy
|
||||
|
||||
.PHONY: stage1 clean
|
||||
|
||||
stage1: $(BOOT_IMG)
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
; ==============================================================================
|
||||
|
||||
[BITS 16]
|
||||
[ORG 0x7C00]
|
||||
; [ORG 0x7C00]
|
||||
|
||||
start:
|
||||
cli ; Disable interrupts
|
||||
|
||||
Reference in New Issue
Block a user