:: commit 1bb1b14f52711171797bd6e41c1ec73586c1a0ba

Mintsuki <mintsuki@protonmail.com> — 2025-08-02 20:25

parents: 54f81363a6

Revert "build: Many makefile improvements (hopefully, includes bodging)"

This reverts commit 10514f5557feeee64e7dad0c36d124776abd18d0.
diff --git a/GNUmakefile.in b/GNUmakefile.in
index ad21d254..6c9fe1a2 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -1,16 +1,5 @@
-# Nuke built-in rules and variables.
-ROOTMAKE := true
-ifeq ($(__BASH_MAKE_COMPLETION__)$(ROOTMAKE),true)
-ifeq ($(MAKECMDGOALS),)
-    override TARGETS := all
-else
-    override TARGETS := $(MAKECMDGOALS)
-endif
-override TMP_INC := $(shell mktemp)
-$(shell for t in $(TARGETS); do printf ".PHONY: $$t\n$$t:\n\t@true\n" >>'$(TMP_INC)'; done)
-$(shell printf "\t@rm -f '$(TMP_INC)'\n\t@\$$(MAKE) -rR $(MAKECMDGOALS) ROOTMAKE=false\n" >>'$(TMP_INC)')
-include $(TMP_INC)
-else
+MAKEFLAGS += -rR
+.SUFFIXES:
 
 override SOURCE_DATE_EPOCH := @SOURCE_DATE_EPOCH@
 export SOURCE_DATE_EPOCH
@@ -21,15 +10,17 @@ override PACKAGE_TARNAME := @PACKAGE_TARNAME@
 override PACKAGE_VERSION := @PACKAGE_VERSION@
 override DIST_OUTPUT := $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
 
-override prefix := @prefix@
-override exec_prefix := @exec_prefix@
+prefix := @prefix@
+exec_prefix := @exec_prefix@
+
+bindir := @bindir@
+datarootdir := @datarootdir@
+includedir := @includedir@
+datarootdir := @datarootdir@
+mandir := @mandir@
+docdir := @docdir@
 
-override bindir := @bindir@
-override datarootdir := @datarootdir@
-override includedir := @includedir@
-override datarootdir := @datarootdir@
-override mandir := @mandir@
-override docdir := @docdir@
+STRIP := @STRIP@
 
 override BUILDDIR := @BUILDDIR@
 override BINDIR := $(BUILDDIR)/bin
@@ -53,52 +44,49 @@ override BUILD_UEFI_CD := @BUILD_UEFI_CD@
 override BUILD_BIOS_PXE := @BUILD_BIOS_PXE@
 override BUILD_BIOS_CD := @BUILD_BIOS_CD@
 
-CC ?= @CC@
+CC := @CC@
 export CC
 
-MKDIR_P ?= @MKDIR_P@
+MKDIR_P := @MKDIR_P@
 export MKDIR_P
 
-INSTALL ?= @INSTALL@
+INSTALL := @INSTALL@
 export INSTALL
 
-INSTALL_PROGRAM ?= @INSTALL_PROGRAM@
+INSTALL_PROGRAM := @INSTALL_PROGRAM@
 export INSTALL_PROGRAM
 
-INSTALL_DATA ?= @INSTALL_DATA@
+INSTALL_DATA := @INSTALL_DATA@
 export INSTALL_DATA
 
-STRIP ?= @STRIP@
-export STRIP
-
-GREP ?= @GREP@
+GREP := @GREP@
 export GREP
 
-SED ?= @SED@
+SED := @SED@
 export SED
 
-AWK ?= @AWK@
+AWK := @AWK@
 export AWK
 
-CPPFLAGS ?= @CPPFLAGS@
+CPPFLAGS := @CPPFLAGS@
 export CPPFLAGS
-CFLAGS ?= @CFLAGS@
+CFLAGS := @CFLAGS@
 export CFLAGS
-LDFLAGS ?= @LDFLAGS@
+LDFLAGS := @LDFLAGS@
 export LDFLAGS
-LIBS ?= @LIBS@
+LIBS := @LIBS@
 export LIBS
 
 override WERROR_FLAG := @WERROR_FLAG@
 export WERROR_FLAG
 
-CFLAGS_FOR_TARGET ?= @CFLAGS_FOR_TARGET@
+CFLAGS_FOR_TARGET := @CFLAGS_FOR_TARGET@
 export CFLAGS_FOR_TARGET
-CPPFLAGS_FOR_TARGET ?= @CPPFLAGS_FOR_TARGET@
+CPPFLAGS_FOR_TARGET := @CPPFLAGS_FOR_TARGET@
 export CPPFLAGS_FOR_TARGET
-LDFLAGS_FOR_TARGET ?= @LDFLAGS_FOR_TARGET@
+LDFLAGS_FOR_TARGET := @LDFLAGS_FOR_TARGET@
 export LDFLAGS_FOR_TARGET
-NASMFLAGS_FOR_TARGET ?= @NASMFLAGS_FOR_TARGET@
+NASMFLAGS_FOR_TARGET := @NASMFLAGS_FOR_TARGET@
 export NASMFLAGS_FOR_TARGET
 
 override STAGE1_FILES := $(shell find '$(call SHESCAPE,$(SRCDIR))/stage1' -type f -name '*.asm' | LC_ALL=C sort)
@@ -433,5 +421,3 @@ decompressor-clean:
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))/decompressor-build'
 
 -include test.mk
-
-endif
diff --git a/bootstrap b/bootstrap
index 71aff387..9cfd8771 100755
--- a/bootstrap
+++ b/bootstrap
@@ -85,7 +85,7 @@ if ! test -f version; then
     clone_repo_commit \
         https://codeberg.org/osdev/freestanding-toolchain.git \
         build-aux/freestanding-toolchain \
-        2da3feadd74c6b11b5887e0703a253c164388d80
+        476692d0644d44618a30e77d9c10e976a650b79b
 
     clone_repo_commit \
         https://github.com/limine-bootloader/limine-protocol.git \
diff --git a/common/common.mk b/common/common.mk
index 8bf8000e..aca1fbf4 100644
--- a/common/common.mk
+++ b/common/common.mk
@@ -1,5 +1,12 @@
+MAKEFLAGS += -rR
+.SUFFIXES:
+
 include $(TOOLCHAIN_FILE)
+export CC_FOR_TARGET
+export LD_FOR_TARGET
 export OBJDUMP_FOR_TARGET
+export OBJCOPY_FOR_TARGET
+export READELF_FOR_TARGET
 
 override SRCDIR := $(shell pwd -P)
 
@@ -9,8 +16,8 @@ override MKESCAPE = $(subst $(SPACE),\ ,$(1))
 override SHESCAPE = $(subst ','\'',$(1))
 override OBJESCAPE = $(subst .a ,.a' ',$(subst .o ,.o' ',$(call SHESCAPE,$(1))))
 
-COM_OUTPUT ?= false
-E9_OUTPUT ?= false
+COM_OUTPUT := false
+E9_OUTPUT := false
 
 override S2CFLAGS := -Os
 
diff --git a/decompressor/decompressor.mk b/decompressor/decompressor.mk
index 31184336..9e746f4a 100644
--- a/decompressor/decompressor.mk
+++ b/decompressor/decompressor.mk
@@ -1,3 +1,6 @@
+MAKEFLAGS += -rR
+.SUFFIXES:
+
 include $(TOOLCHAIN_FILE)
 
 override SPACE := $(subst ,, )
diff --git a/host/host.mk b/host/host.mk
index 555cd7f2..8f599080 100644
--- a/host/host.mk
+++ b/host/host.mk
@@ -1,17 +1,17 @@
-SHELL=/bin/sh
+SHELL = /bin/sh
 
-CC=cc
-CFLAGS=-g -O2 -pipe
-CPPFLAGS=
-LDFLAGS=
-LIBS=
+CC = cc
+CFLAGS = -g -O2 -pipe
+CPPFLAGS =
+LDFLAGS =
+LIBS =
 
-WERROR_FLAG=
+WERROR_FLAG =
 
-STRIP=strip
-INSTALL=./install-sh
+STRIP = strip
+INSTALL = ./install-sh
 
-PREFIX=/usr/local
+PREFIX = /usr/local
 
 .PHONY: all
 all: limine
tab: 248 wrap: offon