From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=none (p=none dis=none) header.from=gibson.dropbear.id.au Authentication-Results: passt.top; dkim=pass (2048-bit key; secure) header.d=gibson.dropbear.id.au header.i=@gibson.dropbear.id.au header.a=rsa-sha256 header.s=202602 header.b=NP+Qphcb; dkim-atps=neutral Received: from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by passt.top (Postfix) with ESMTPS id 665395A026D for ; Tue, 21 Apr 2026 05:23:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202602; t=1776741822; bh=fHgb5BCVNy/ZRf5Q4J4WrPDg5bR4aBJz0YQEMUn/pFg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NP+QphcbU6mp+VBmeTTJ/mqsCeAJHe3UWRcqlcmAWWaKoHtVsLgg5zJGF53xedmhp FPXyyqKPwhzwfxDuiP6HTF0L0bwlu+uKKAQd9mUzI5Ftnkp5isaKvJfagqcKLTTxae 7o+K3RQmnz+4VrqQxaDAehyhKCxs3FbCXRU9gKUJcRGyLhWN/xEjLai0VBgcO4TuKb pkWQGmiS0V9E6AzTMTSYZxFwB/L4FwjllZOrT2WU1sUedqUe4gQ8C9IoLf2P7r+vOP J9q0ublcKrGcSqmmdmRv7matQRD30mxo0Z7ehaZ4mBnBabw5LopSlZRbUtLiY7IhGP gWqwocUzUSUjA== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4g073y4wlHz4wBD; Tue, 21 Apr 2026 13:23:42 +1000 (AEST) From: David Gibson To: Stefano Brivio , passt-dev@passt.top Subject: [PATCH v2 04/13] Makefile: Remove non-standard $(FLAGS) variable Date: Tue, 21 Apr 2026 13:23:29 +1000 Message-ID: <20260421032338.1909084-5-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260421032338.1909084-1-david@gibson.dropbear.id.au> References: <20260421032338.1909084-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: TJZCFCRRNEP6WDR5ZDZN4X7U2JWD34HP X-Message-ID-Hash: TJZCFCRRNEP6WDR5ZDZN4X7U2JWD34HP X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: FLAGS was introduced over the more standard CFLAGS, because there are some options we can't compile without, so overriding CFLAGS from the command line wasn't practical. We've now better dealt with that using BASE_CPPFLAGS, so there's no real need for FLAGS any more. Replace it with the more conventional CFLAGS, which now *can* be reasonable overridden from the command line. Signed-off-by: David Gibson --- Makefile | 21 ++++++++++----------- test/build/build.py | 4 ++-- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index e89e5556..1e5f0282 100644 --- a/Makefile +++ b/Makefile @@ -36,8 +36,8 @@ BASE_CPPFLAGS := -D_XOPEN_SOURCE=700 -D_GNU_SOURCE \ -DVERSION=\"$(VERSION)\" CPPFLAGS := $(FORTIFY_FLAG) -DDUAL_STACK_SOCKETS=$(DUAL_STACK_SOCKETS) -FLAGS := -Wall -Wextra -Wno-format-zero-length -Wformat-security -FLAGS += -pedantic -std=c11 -O2 -pie -fPIE +WARNINGS = -Wall -Wextra -Wno-format-zero-length -Wformat-security +CFLAGS = -pedantic -std=c11 -O2 -pie -fPIE $(WARNINGS) PASST_SRCS = arch.c arp.c bitmap.c checksum.c conf.c dhcp.c dhcpv6.c \ epoll_ctl.c flow.c fwd.c fwd_rule.c icmp.c igmp.c inany.c iov.c ip.c \ @@ -66,7 +66,7 @@ ifeq ($(shell printf "$(C)" | $(CC) -S -xc - -o - >/dev/null 2>&1; echo $$?),0) endif ifeq ($(shell :|$(CC) -fstack-protector-strong -S -xc - -o - >/dev/null 2>&1; echo $$?),0) - FLAGS += -fstack-protector-strong + CFLAGS += -fstack-protector-strong endif prefix ?= /usr/local @@ -85,7 +85,7 @@ endif all: $(BIN) $(MANPAGES) docs -static: FLAGS += -static +static: CFLAGS += -static static: CPPFLAGS += -DGLIBC_NO_STATIC_NSS static: clean all @@ -96,12 +96,11 @@ seccomp_repair.h: seccomp.sh $(PASST_REPAIR_SRCS) @ ARCH="$(TARGET_ARCH)" CC="$(CC)" ./seccomp.sh seccomp_repair.h $(PASST_REPAIR_SRCS) passt: $(PASST_SRCS) $(HEADERS) - $(CC) $(FLAGS) $(CFLAGS) $(BASE_CPPFLAGS) $(CPPFLAGS) $(PASST_SRCS) -o passt $(LDFLAGS) + $(CC) $(CFLAGS) $(BASE_CPPFLAGS) $(CPPFLAGS) $(PASST_SRCS) -o passt $(LDFLAGS) -passt.avx2: FLAGS += -Ofast -mavx2 -ftree-vectorize -funroll-loops +passt.avx2: CFLAGS += -Ofast -mavx2 -ftree-vectorize -funroll-loops passt.avx2: $(PASST_SRCS) $(HEADERS) - $(CC) $(filter-out -O2,$(FLAGS)) $(CFLAGS) $(BASE_CPPFLAGS) $(CPPFLAGS) \ - $(PASST_SRCS) -o passt.avx2 $(LDFLAGS) + $(CC) $(CFLAGS) $(BASE_CPPFLAGS) $(CPPFLAGS) $(PASST_SRCS) -o passt.avx2 $(LDFLAGS) passt.avx2: passt @@ -109,16 +108,16 @@ pasta.avx2 pasta.1 pasta: pasta%: passt% ln -sf $< $@ qrap: $(QRAP_SRCS) passt.h - $(CC) $(FLAGS) $(CFLAGS) $(BASE_CPPFLAGS) $(CPPFLAGS) -DARCH=\"$(TARGET_ARCH)\" $(QRAP_SRCS) -o qrap $(LDFLAGS) + $(CC) $(CFLAGS) $(BASE_CPPFLAGS) $(CPPFLAGS) -DARCH=\"$(TARGET_ARCH)\" $(QRAP_SRCS) -o qrap $(LDFLAGS) passt-repair: $(PASST_REPAIR_SRCS) seccomp_repair.h - $(CC) $(FLAGS) $(CFLAGS) $(BASE_CPPFLAGS) $(CPPFLAGS) $(PASST_REPAIR_SRCS) -o passt-repair $(LDFLAGS) + $(CC) $(CFLAGS) $(BASE_CPPFLAGS) $(CPPFLAGS) $(PASST_REPAIR_SRCS) -o passt-repair $(LDFLAGS) valgrind: EXTRA_SYSCALLS += rt_sigprocmask rt_sigtimedwait rt_sigaction \ rt_sigreturn getpid gettid kill clock_gettime \ mmap|mmap2 munmap open unlink gettimeofday futex \ statx readlink -valgrind: FLAGS += -g +valgrind: CFLAGS += -g valgrind: CPPFLAGS += -DVALGRIND valgrind: all diff --git a/test/build/build.py b/test/build/build.py index e3de8305..7c9cbb44 100755 --- a/test/build/build.py +++ b/test/build/build.py @@ -60,7 +60,7 @@ def test_make(target: str, expected_files: list[str]) -> None: with clone_sources(): for p in ex_paths: assert not p.exists(), f"{p} existed before make" - sh(f'make {target} CFLAGS="-Werror"') + sh(f'make {target}') for p in ex_paths: assert p.exists(), f"{p} wasn't made" sh('make clean') @@ -90,7 +90,7 @@ def test_install_uninstall() -> None: progs = ['passt', 'pasta', 'qrap'] # Install - sh(f'make install CFLAGS="-Werror" prefix={prefix}') + sh(f'make install prefix={prefix}') for prog in progs: exe = bindir / prog -- 2.53.0