This commit is contained in:
mintsuki 2023-09-03 18:32:59 -05:00
parent 12233c32fc
commit d14822ed42

View file

@ -15,8 +15,8 @@ define DEFAULT_VAR =
endif endif
endef endef
# It is highly recommended to use a custom built cross toolchain to build a kernel. # It is suggested to use a custom built cross toolchain to build a kernel.
# We are only using "cc" as a placeholder here. It may work by using # We are using the standard "cc" here, it may work by using
# the host system's toolchain, but this is not guaranteed. # the host system's toolchain, but this is not guaranteed.
override DEFAULT_CC := cc override DEFAULT_CC := cc
$(eval $(call DEFAULT_VAR,CC,$(DEFAULT_CC))) $(eval $(call DEFAULT_VAR,CC,$(DEFAULT_CC)))
@ -98,18 +98,18 @@ limine.h:
curl -Lo $@ https://github.com/limine-bootloader/limine/raw/trunk/limine.h curl -Lo $@ https://github.com/limine-bootloader/limine/raw/trunk/limine.h
# Link rules for the final kernel executable. # Link rules for the final kernel executable.
$(KERNEL): $(OBJ) GNUmakefile linker.ld $(KERNEL): GNUmakefile linker.ld $(OBJ)
$(LD) $(OBJ) $(LDFLAGS) -o $@ $(LD) $(OBJ) $(LDFLAGS) -o $@
# Include header dependencies. # Include header dependencies.
-include $(HEADER_DEPS) -include $(HEADER_DEPS)
# Compilation rules for *.c files. # Compilation rules for *.c files.
%.c.o: %.c limine.h GNUmakefile %.c.o: %.c GNUmakefile limine.h
$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
# Compilation rules for *.S files. # Compilation rules for *.S files.
%.S.o: %.S limine.h GNUmakefile %.S.o: %.S GNUmakefile limine.h
$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
# Compilation rules for *.asm (nasm) files. # Compilation rules for *.asm (nasm) files.