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@ -override bindir := @bindir@ -override datarootdir := @datarootdir@ -override includedir := @includedir@ -override datarootdir := @datarootdir@ -override mandir := @mandir@ -override docdir := @docdir@ +bindir := @bindir@ +datarootdir := @datarootdir@ +includedir := @includedir@ +datarootdir := @datarootdir@ +mandir := @mandir@ +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