From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Fri, 11 Sep 2026 21:09:07 -0300
Subject: [PATCH 2/3] Don't ignore errors in Makefiles

Also don't override jobs for sub-makes.

Bug: https://bugs.gentoo.org/800941
Signed-off-by: Sam James <sam@gentoo.org>
---
 GNUmakefile            | 96 +++++++++++++++++++++---------------------
 GNUmakefile.llvm       |  2 +-
 Makefile               | 28 ++++++------
 frida_mode/GNUmakefile | 12 +++---
 4 files changed, 69 insertions(+), 69 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index 4580ca1..b9e0e1a 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -351,7 +351,7 @@ endif
 
 .PHONY: all
 all:	test_x86 test_shm test_python ready $(PROGS) llvm gcc_plugin test_build all_done
-	-$(MAKE) -C utils/aflpp_driver
+	$(MAKE) -C utils/aflpp_driver
 	@echo
 	@echo
 	@echo
@@ -368,18 +368,18 @@ endif
 
 .PHONY: llvm
 llvm:
-	-$(MAKE) -j$(nproc) -f GNUmakefile.llvm
+	$(MAKE) -f GNUmakefile.llvm
 	@test -e afl-cc || { echo "[-] Compiling afl-cc failed. You seem not to have a working compiler." ; exit 1; }
 
 llvm-build-test:
-	$(MAKE) -j$(nproc) -f GNUmakefile.llvm
+	$(MAKE) -f GNUmakefile.llvm
 	@test -e afl-cc || { echo "[-] Compiling afl-cc failed. You seem not to have a working compiler." ; exit 1; }
 
 
 .PHONY: gcc_plugin
 gcc_plugin:
 ifneq "$(SYS)" "Darwin"
-	-$(MAKE) -f GNUmakefile.gcc_plugin
+	$(MAKE) -f GNUmakefile.gcc_plugin
 endif
 
 .PHONY: man
@@ -766,24 +766,24 @@ all_done: test_build
 .PHONY: clean
 clean:
 	rm -rf $(PROGS) afl-merge afl-fuzz-document as afl-as afl-g++ afl-clang afl-clang++ *.o src/*.o *~ a.out core core.[1-9][0-9]* *.stackdump .test .test1 .test2 test-instr .test-instr0 .test-instr1 afl-cs-proxy afl-qemu-trace afl-qemu-bridge afl-gcc-fast afl-g++-fast ld *.so *.8 test/unittests/*.o test/unittests/unit_maybe_alloc test/unittests/preallocable test/unittests/unit_value_profile .afl-* afl-gcc afl-g++ afl-clang afl-clang++ test/unittests/unit_hash test/unittests/unit_rand *.dSYM lib*.a
-	-$(MAKE) -f GNUmakefile.llvm clean
-	-$(MAKE) -f GNUmakefile.gcc_plugin clean
-	-$(MAKE) -C utils/libdislocator clean
-	-$(MAKE) -C utils/libtokencap clean
-	-$(MAKE) -C utils/aflpp_driver clean
-	-$(MAKE) -C utils/afl_network_proxy clean
-	-$(MAKE) -C utils/socket_fuzzing clean
-	-$(MAKE) -C utils/argv_fuzzing clean
-	-$(MAKE) -C utils/plot_ui clean
-	-$(MAKE) -C qemu_mode/unsigaction clean
-	-$(MAKE) -C qemu_mode/fastexit clean
-	-$(MAKE) -C qemu_mode/libcompcov clean
-	-$(MAKE) -C qemu_mode/libqasan clean
-	-$(MAKE) -C qemu_bridge/unsigaction clean
-	-$(MAKE) -C qemu_bridge/fastexit clean
-	-$(MAKE) -C qemu_bridge/libcompcov clean
-	-$(MAKE) -C qemu_bridge/libqasan clean
-	-$(MAKE) -C frida_mode clean
+	$(MAKE) -f GNUmakefile.llvm clean
+	$(MAKE) -f GNUmakefile.gcc_plugin clean
+	$(MAKE) -C utils/libdislocator clean
+	$(MAKE) -C utils/libtokencap clean
+	$(MAKE) -C utils/aflpp_driver clean
+	$(MAKE) -C utils/afl_network_proxy clean
+	$(MAKE) -C utils/socket_fuzzing clean
+	$(MAKE) -C utils/argv_fuzzing clean
+	$(MAKE) -C utils/plot_ui clean
+	$(MAKE) -C qemu_mode/unsigaction clean
+	$(MAKE) -C qemu_mode/fastexit clean
+	$(MAKE) -C qemu_mode/libcompcov clean
+	$(MAKE) -C qemu_mode/libqasan clean
+	$(MAKE) -C qemu_bridge/unsigaction clean
+	$(MAKE) -C qemu_bridge/fastexit clean
+	$(MAKE) -C qemu_bridge/libcompcov clean
+	$(MAKE) -C qemu_bridge/libqasan clean
+	$(MAKE) -C frida_mode clean
 	rm -rf nyx_mode/packer/linux_initramfs/init.cpio.gz nyx_mode/libnyx/libnyx/target/release/* nyx_mode/QEMU-Nyx/x86_64-softmmu/qemu-system-x86_64
 ifeq "$(IN_REPO)" "1"
 	-test -e coresight_mode/coresight-trace/Makefile && $(MAKE) -C coresight_mode/coresight-trace clean || true
@@ -814,23 +814,23 @@ endif
 
 .PHONY: distrib
 distrib: all
-	-$(MAKE) -j$(nproc) -f GNUmakefile.llvm
+	$(MAKE) -f GNUmakefile.llvm
 ifneq "$(SYS)" "Darwin"
-	-$(MAKE) -f GNUmakefile.gcc_plugin
-	-$(MAKE) -C utils/libdislocator
-	-$(MAKE) -C utils/libtokencap
-endif
-	-$(MAKE) -C utils/afl_network_proxy
-	-$(MAKE) -C utils/socket_fuzzing
-	-$(MAKE) -C utils/argv_fuzzing
-	# -$(MAKE) -C utils/plot_ui
+	$(MAKE) -f GNUmakefile.gcc_plugin
+	$(MAKE) -C utils/libdislocator
+	$(MAKE) -C utils/libtokencap
+endif
+	$(MAKE) -C utils/afl_network_proxy
+	$(MAKE) -C utils/socket_fuzzing
+	$(MAKE) -C utils/argv_fuzzing
+	# $(MAKE) -C utils/plot_ui
 ifndef NO_FRIDA
-	-$(MAKE) -C frida_mode -j1
+	$(MAKE) -C frida_mode -j1
 endif
 ifneq "$(SYS)" "Darwin"
 ifeq "$(ARCH)" "aarch64"
   ifndef NO_CORESIGHT
-	-$(MAKE) -C coresight_mode
+	$(MAKE) -C coresight_mode
   endif
 endif
 ifeq "$(SYS)" "Linux"
@@ -850,20 +850,20 @@ endif
 .PHONY: binary-only
 binary-only: test_shm test_python ready $(PROGS)
 ifneq "$(SYS)" "Darwin"
-	-$(MAKE) -C utils/libdislocator
-	-$(MAKE) -C utils/libtokencap
+	$(MAKE) -C utils/libdislocator
+	$(MAKE) -C utils/libtokencap
 endif
-	-$(MAKE) -C utils/afl_network_proxy
-	-$(MAKE) -C utils/socket_fuzzing
-	-$(MAKE) -C utils/argv_fuzzing
-	# -$(MAKE) -C utils/plot_ui
+	$(MAKE) -C utils/afl_network_proxy
+	$(MAKE) -C utils/socket_fuzzing
+	$(MAKE) -C utils/argv_fuzzing
+	# $(MAKE) -C utils/plot_ui
 ifndef NO_FRIDA
-	-$(MAKE) -C frida_mode -j1
+	$(MAKE) -C frida_mode -j1
 endif
 ifneq "$(SYS)" "Darwin"
 ifeq "$(ARCH)" "aarch64"
   ifndef NO_CORESIGHT
-	-$(MAKE) -C coresight_mode
+	$(MAKE) -C coresight_mode
   endif
 endif
 ifeq "$(SYS)" "Linux"
@@ -903,13 +903,13 @@ endif
 
 .PHONY: source-only
 source-only: all
-	-$(MAKE) -j$(nproc) -f GNUmakefile.llvm
+	$(MAKE) -f GNUmakefile.llvm
 ifneq "$(SYS)" "Darwin"
-	-$(MAKE) -f GNUmakefile.gcc_plugin
-	-$(MAKE) -C utils/libdislocator
-	-$(MAKE) -C utils/libtokencap
+	$(MAKE) -f GNUmakefile.gcc_plugin
+	$(MAKE) -C utils/libdislocator
+	$(MAKE) -C utils/libtokencap
 endif
-	# -$(MAKE) -C utils/plot_ui
+	# $(MAKE) -C utils/plot_ui
 ifeq "$(SYS)" "Linux"
 ifndef NO_NYX
 	-cd nyx_mode && ./build_nyx_support.sh
@@ -973,9 +973,9 @@ install: all $(MANPAGES)
 	@if [ -f utils/afl_network_proxy/afl-network-server ]; then $(MAKE) -C utils/afl_network_proxy install; fi
 	@if [ -f utils/aflpp_driver/libAFLDriver.a ]; then set -e; install -m 644 utils/aflpp_driver/libAFLDriver.a $${DESTDIR}$(HELPER_PATH); fi
 	@if [ -f utils/aflpp_driver/libAFLQemuDriver.a ]; then set -e; install -m 644 utils/aflpp_driver/libAFLQemuDriver.a $${DESTDIR}$(HELPER_PATH); fi
-	-$(MAKE) -f GNUmakefile.llvm install
+	$(MAKE) -f GNUmakefile.llvm install
 ifneq "$(SYS)" "Darwin"
-	-$(MAKE) -f GNUmakefile.gcc_plugin install
+	$(MAKE) -f GNUmakefile.gcc_plugin install
 endif
 	ln -sf afl-cc $${DESTDIR}$(BIN_PATH)/afl-gcc
 	ln -sf afl-cc $${DESTDIR}$(BIN_PATH)/afl-g++
diff --git a/GNUmakefile.llvm b/GNUmakefile.llvm
index a4a5d66..3d33dcf 100644
--- a/GNUmakefile.llvm
+++ b/GNUmakefile.llvm
@@ -506,7 +506,7 @@ endif
 
 ./SanitizerCoveragePCGUARD.so: instrumentation/SanitizerCoveragePCGUARD.so.cc instrumentation/afl-llvm-common.o | test_deps
 ifeq "$(LLVM_13_OK)" "1"
-	-$(CXX) $(CLANG_CPPFL) -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< -o $@ $(CLANG_LFL) -Wdeprecated -Wno-deprecated-copy-dtor -Wno-deprecated-copy-with-dtor instrumentation/afl-llvm-common.o
+	$(CXX) $(CLANG_CPPFL) -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< -o $@ $(CLANG_LFL) -Wdeprecated -Wno-deprecated-copy-dtor -Wno-deprecated-copy-with-dtor instrumentation/afl-llvm-common.o
 ifdef IS_IOS
 	@ldid -Sentitlements.plist $@ && echo "[+] Signed $@" || { echo "[-] Failed to sign $@"; }
 endif
diff --git a/Makefile b/Makefile
index 96f6799..7fb1973 100644
--- a/Makefile
+++ b/Makefile
@@ -1,42 +1,42 @@
 all:
 	@echo trying to use GNU make...
-	@gmake all || echo please install GNUmake
+	@$(MAKE) all || echo please install GNUmake
 
 source-only:
-	@gmake source-only
+	@$(MAKE) source-only
 
 binary-only:
-	@gmake binary-only
+	@$(MAKE) binary-only
 
 distrib:
-	@gmake distrib
+	@$(MAKE) distrib
 
 man:
-	@gmake man
+	@$(MAKE) man
 
 install:
-	@gmake install
+	@$(MAKE) install
 
 document:
-	@gmake document
+	@$(MAKE) document
 
 deepclean:
-	@gmake deepclean
+	@$(MAKE) deepclean
 
 code-format:
-	@gmake code-format
+	@$(MAKE) code-format
 
 help:
-	@gmake help
+	@$(MAKE) help
 
 tests:
-	@gmake tests
+	@$(MAKE) tests
 
 unit:
-	@gmake unit
+	@$(MAKE) unit
 
 unit_clean:
-	@gmake unit_clean
+	@$(MAKE) unit_clean
 
 clean:
-	@gmake clean
+	@$(MAKE) clean
diff --git a/frida_mode/GNUmakefile b/frida_mode/GNUmakefile
index 6f6315c..05e58bd 100644
--- a/frida_mode/GNUmakefile
+++ b/frida_mode/GNUmakefile
@@ -229,13 +229,13 @@ BIN2C_SRC:=$(PWD)util/bin2c.c
 all: $(FRIDA_TRACE) $(FRIDA_TRACE_LIB) $(AFLPP_FRIDA_DRIVER_HOOK_OBJ) $(AFLPP_QEMU_DRIVER_HOOK_OBJ) $(ADDR_BIN)
 
 32:
-	XTOOLS_HOST=i686-linux-gnu CFLAGS="-m32" LDFLAGS="-m32" ARCH="x86" make all
+	XTOOLS_HOST=i686-linux-gnu CFLAGS="-m32" LDFLAGS="-m32" ARCH="x86" $(MAKE) all
 
 arm:
-	XTOOLS_HOST=arm-linux-gnueabihf CFLAGS="-marm" LDFLAGS="-marm" ARCH="armhf" TARGET_CC=arm-linux-gnueabihf-gcc TARGET_CXX=arm-linux-gnueabihf-g++ make all
+	XTOOLS_HOST=arm-linux-gnueabihf CFLAGS="-marm" LDFLAGS="-marm" ARCH="armhf" TARGET_CC=arm-linux-gnueabihf-gcc TARGET_CXX=arm-linux-gnueabihf-g++ $(MAKE) all
 
 arm64:
-	XTOOLS_HOST=aarch64-linux-gnu ARCH="arm64" TARGET_CC=aarch64-linux-gnu-gcc TARGET_CXX=aarch64-linux-gnu-g++ make all
+	XTOOLS_HOST=aarch64-linux-gnu ARCH="arm64" TARGET_CC=aarch64-linux-gnu-gcc TARGET_CXX=aarch64-linux-gnu-g++ $(MAKE) all
 
 $(BUILD_DIR):
 	mkdir -p $(BUILD_DIR)
@@ -264,7 +264,7 @@ $(FRIDA_MAKEFILE): | $(BUILD_DIR)
 
 $(GUM_DEVIT_LIBRARY): $(FRIDA_MAKEFILE) | $(FRIDA_BUILD_DIR)
 	echo $(GUM_DEVIT_LIBRARY) $(FRIDA_MAKEFILE) $(FRIDA_BUILD_DIR)
-	cd $(FRIDA_DIR) && make FRIDA_V8=disabled
+	cd $(FRIDA_DIR) && $(MAKE) FRIDA_V8=disabled
 	cp $(FRIDA_DIR)build/bindings/gumjs/devkit/frida-gumjs.h $(GUM_DEVIT_HEADER)
 	cp $(FRIDA_DIR)build/bindings/gumjs/devkit/libfrida-gumjs.a $(GUM_DEVIT_LIBRARY)
 
@@ -387,7 +387,7 @@ hook: $(AFLPP_FRIDA_DRIVER_HOOK_OBJ) $(AFLPP_QEMU_DRIVER_HOOK_OBJ)
 ############################# ADDR #############################################
 ifneq "$(OS)" "android"
 $(ADDR_BIN): $(ADDR_SRC) | $(BUILD_DIR)
-	-$(TARGET_CC) \
+	$(TARGET_CC) \
 		$(CFLAGS) \
 		-Werror \
 		-Wall \
@@ -401,7 +401,7 @@ $(ADDR_BIN): $(ADDR_SRC) | $(BUILD_DIR)
 		$< -o $@
 else
 $(ADDR_BIN): $(ADDR_SRC) | $(BUILD_DIR)
-	-$(TARGET_CC) \
+	$(TARGET_CC) \
 		$(CFLAGS) \
 		-Werror \
 		-Wall \
