X-Git-Url: https://git.dujemihanovic.xyz/duje/dujemihanovic.xyz?a=blobdiff_plain;f=Makefile;h=ae1a7160e9e89533eb315f05771600de91f65ab3;hb=refs%2Fheads%2Fstdio;hp=8ffcdf86123bb9b1acee0fe0ab3746d4d339cfbb;hpb=94770e6354578485b2aed68dcc3064e5d6862645;p=nameless-os.git diff --git a/Makefile b/Makefile index 8ffcdf8..ae1a716 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,13 @@ export AS = yasm +ASFLAGS = -f elf -g dwarf2 export CC = i686-elf-gcc QEMU = qemu-system-i386 -monitor stdio -GIT_REV = $(shell git rev-parse --short HEAD) +export GIT_REV = $(shell git describe --long HEAD) -CFLAGS = -std=gnu89 -g -Iinclude/arch/x86 -ffreestanding -DGIT_COMMIT=\"$(GIT_REV)\" +CFLAGS = -std=gnu11 -g -Iinclude/arch/x86 -ffreestanding -DGIT_COMMIT=\"$(GIT_REV)\" -KERNEL_OBJ = kernel/entry.o kernel/arch/x86/tty/tty.o kernel/drivers/irq/i8259a.o kernel/arch/x86/irq/idt.o kernel/arch/x86/irq/sample_handler.o kernel/kernel.o +KERNEL_OBJ = kernel/entry.o kernel/arch/x86/tty/tty.o kernel/drivers/irq/i8259a.o kernel/arch/x86/irq/idt.o kernel/arch/x86/irq/interrupt.o kernel/arch/x86/irq/stub.o kernel/drivers/input/ps2.o kernel/kernel.o BOOTLOADER_OBJ = boot/x86/mbr boot/x86/vbr-fat32 boot/x86/stage3/LOADER.BIN default: kernel/kernel.elf bootloader @@ -36,11 +37,9 @@ boot/x86/disk.img: boot/x86/mbr boot/x86/vbr-fat32 boot/x86/stage3/LOADER.BIN bo kernel/kernel.bin: ${KERNEL_OBJ} kernel/linker.ld $(CC) -ffreestanding -nostdlib -o $@ -T kernel/linker.ld ${KERNEL_OBJ} -kernel/entry.o: kernel/entry.s - $(AS) -f elf $< -o $@ +kernel/drivers/input/ps2.o: kernel/drivers/input/ps2.c -kernel/arch/x86/irq/sample_handler.o: kernel/arch/x86/irq/sample_handler.c - $(CC) $(CFLAGS) -mgeneral-regs-only -c $< -o $@ +kernel/kernel.o: kernel/kernel.c kernel/kernel.elf: kernel/kernel.bin $(CC) -ffreestanding -nostdlib -o $@ -T kernel/linker.ld ${KERNEL_OBJ} -Wl,--oformat=elf32-i386