]> git.dujemihanovic.xyz Git - nameless-os.git/blobdiff - kernel/Makefile
kernel: Enable -O2 and LTO again
[nameless-os.git] / kernel / Makefile
index 8c9b27bedfab7082cb555d45856ed70df7cf30fa..0290ee11eda0df03ad558bc69c4d7fab590ca8bc 100644 (file)
@@ -1,26 +1,25 @@
-KERNEL_OBJ = kernel.o entry.o
-
-include drivers/Makefile
 include arch/x86/Makefile
+include drivers/Makefile
+include kernel/Makefile
 
 ASFLAGS_BASE = -f elf -g dwarf2
 CFLAGS_BASE = -fgnu89-inline -ffreestanding -nostdlib -Iinclude \
              -Iinclude/arch/x86 -g -DGIT_COMMIT=\"$(GIT_REV)\" \
              -O2 -flto
-LDFLAGS_BASE = -ffreestanding -nostdlib -lgcc -g -flto
+LDFLAGS_BASE = -ffreestanding -nostdlib -lgcc -g -O2 -flto -T arch/x86/linker.ld
 
 kernel.elf kernel.dbg: $(KERNEL_OBJ)
-       $(CC) $(LDFLAGS_BASE) $(LDFLAGS) -T linker.ld $^ -o $@
-       i686-elf-objcopy --only-keep-debug kernel.elf kernel.dbg
-       i686-elf-objcopy --add-gnu-debuglink=kernel.dbg kernel.elf
-       i686-elf-strip --strip-unneeded kernel.elf
+       $(REAL_CC) $(LDFLAGS_BASE) $(LDFLAGS) $^ -o $@
+       $(CROSS_COMPILE)objcopy --only-keep-debug kernel.elf kernel.dbg
+       $(CROSS_COMPILE)objcopy --add-gnu-debuglink=kernel.dbg kernel.elf
+       $(CROSS_COMPILE)strip --strip-unneeded kernel.elf
 
 clean:
        -rm $(KERNEL_OBJ) kernel.elf kernel.dbg
 
 # Implicit rules
 %.o: %.c
-       $(CC) $(CFLAGS_BASE) $(CFLAGS) -c $< -o $@
+       $(REAL_CC) $(CFLAGS_BASE) $(CFLAGS) -c $< -o $@
 
 %.o: %.s
        $(AS) $(ASFLAGS_BASE) $(ASFLAGS) $< -o $@