summaryrefslogtreecommitdiff
path: root/tools/Makefile
diff options
context:
space:
mode:
authorTharo <tharo10600@gmail.com>2026-08-02 15:27:33 +0100
committerGitHub <noreply@github.com>2026-08-02 16:27:33 +0200
commitda4a1f661cc87c8a31b65310f8940a5c5f0927d6 (patch)
tree3ec5f051015b043c943f47736c37aaf1476fc522 /tools/Makefile
parent32b88f90a86a024dae0af0dc28a2c5e023fd193a (diff)
[rsp] Introduce microcode build process, disassemble and build both rspboot versions (#2764)HEADmain
* [rsp] Introduce microcode build process, disassemble and build both rspboot versions * Suggested changes * Check-in tool for generating armips.cpp from upstream sources, regen armips.cpp against a newer commit * License armips_gen.py, add notice that armips.cpp is automatically generated * Qualify comment with X105 * Clarify the assumed purpose of rspboot releasing SP_SEMAPHORE
Diffstat (limited to 'tools/Makefile')
-rw-r--r--tools/Makefile22
1 files changed, 15 insertions, 7 deletions
diff --git a/tools/Makefile b/tools/Makefile
index 6dd018bd8..7e104bc3d 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -1,4 +1,3 @@
-CFLAGS := -Wall -Wextra -pedantic -std=gnu99 -g -O2
PROGRAMS := bin2c mkdmadata mkldscript mkspecrules preprocess_pragmas vtxdis
UNAME_S := $(shell uname -s)
@@ -18,10 +17,16 @@ EGCS_BINUTILS_VERSION := 0.6
EGCS_GCC_VERSION := 0.7
EGCS_DIR := egcs/$(DETECTED_OS)
+WARNFLAGS := -Wall -Wextra -pedantic
+OPTFLAGS := -O2 -g
+LDFLAGS :=
+
ifeq ($(shell command -v clang >/dev/null 2>&1; echo $$?),0)
CC := clang
+ CXX := clang++
else
CC := gcc
+ CXX := g++
endif
LLD ?= 0
@@ -31,10 +36,12 @@ ifeq ($(shell command -v ld.lld >/dev/null 2>&1; echo $$?),0)
endif
ifneq ($(LLD),0)
- CFLAGS += -fuse-ld=lld
+ LDFLAGS += -fuse-ld=lld
endif
-all: $(PROGRAMS) $(IDO_RECOMP_5_3_DIR) $(IDO_RECOMP_7_1_DIR) $(EGCS_DIR)
+.PHONY: all clean distclean
+
+all: $(PROGRAMS) armips $(IDO_RECOMP_5_3_DIR) $(IDO_RECOMP_7_1_DIR) $(EGCS_DIR)
$(MAKE) -C fado
$(MAKE) -C audio
$(MAKE) -C com-plugin
@@ -52,8 +59,10 @@ clean:
distclean: clean
$(MAKE) -C audio distclean
$(MAKE) -C assets distclean
+ $(RM) armips
-.PHONY: all clean distclean
+armips: armips.cpp
+ $(CXX) $(WARNFLAGS) -std=c++17 $(OPTFLAGS) -s -fno-rtti -pipe -Wno-unused-parameter -Wno-sign-compare $< -o $@
bin2c_SOURCES := bin2c.c
mkdmadata_SOURCES := mkdmadata.c spec.c util.c
@@ -62,10 +71,9 @@ mkspecrules_SOURCES := mkspecrules.c spec.c util.c
preprocess_pragmas_SOURCES := preprocess_pragmas.c
vtxdis_SOURCES := vtxdis.c
-
-define COMPILE =
+define COMPILE
$(1): $($1_SOURCES)
- $(CC) $(CFLAGS) $$^ -o $$@
+ $(CC) $(WARNFLAGS) -std=gnu99 $(OPTFLAGS) $$^ $(LDFLAGS) -o $$@
endef
$(foreach p,$(PROGRAMS),$(eval $(call COMPILE,$(p))))