]> git.dujemihanovic.xyz Git - nameless-os.git/commitdiff
all: Add $(CROSS_COMPILE) support
authorDuje Mihanović <duje.mihanovic@skole.hr>
Fri, 1 Jul 2022 19:31:58 +0000 (21:31 +0200)
committerDuje Mihanović <duje.mihanovic@skole.hr>
Fri, 1 Jul 2022 19:31:58 +0000 (21:31 +0200)
Makefile
boot/x86/stage3/Makefile
kernel/Makefile

index 993a455b631b63c0d082d7150a80de0394bff5b3..4e5ae9a65c26722f0f19a1114b59e8c48ccb5789 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,9 @@
+export CROSS_COMPILE = i686-elf-
 export AS = yasm
-export CC = i686-elf-gcc
+export CC = gcc
 export QEMU = qemu-system-i386 -monitor stdio
 export GIT_REV = $(shell git describe --long HEAD)
+export REAL_CC = $(CROSS_COMPILE)$(CC)
 MAKEFLAGS += -rR
 
 default: kernel/kernel.elf bootloader
index 81a429044e99dfee4e6e06d4bddb069c4d8fa8fe..b5b02f0d7658a57b74afdd64422848cf53623c19 100644 (file)
@@ -8,14 +8,14 @@ LDFLAGS_BASE = -ffreestanding -nostdlib -g -lgcc -T stage3.ld -flto
 default: LOADER.BIN loader.elf
 
 loader.elf: $(STAGE3_OBJ)
-       $(CC) $(LDFLAGS_BASE) $(LDFLAGS) -Wl,--oformat=elf32-i386 $^ -o $@
+       $(REAL_CC) $(LDFLAGS_BASE) $(LDFLAGS) -Wl,--oformat=elf32-i386 $^ -o $@
 
 LOADER.BIN: $(STAGE3_OBJ)
-       $(CC) $(LDFLAGS_BASE) $(LDFLAGS) $^ -o $@
+       $(REAL_CC) $(LDFLAGS_BASE) $(LDFLAGS) $^ -o $@
 
 # Implicit rules
 %.o: %.c
-       $(CC) $(CFLAGS_BASE) $(CFLAGS) -c $< -o $@
+       $(REAL_CC) $(CFLAGS_BASE) $(CFLAGS) -c $< -o $@
 
 %.o: %.s
        $(AS) $(ASFLAGS_BASE) $(ASFLAGS) $< -o $@
index 8c9b27bedfab7082cb555d45856ed70df7cf30fa..48115dd74f927a8246a1ec9edc2804a482350682 100644 (file)
@@ -10,17 +10,17 @@ CFLAGS_BASE = -fgnu89-inline -ffreestanding -nostdlib -Iinclude \
 LDFLAGS_BASE = -ffreestanding -nostdlib -lgcc -g -flto
 
 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) -T linker.ld $^ -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 $@