From patchwork Fri Nov 15 07:32:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Steinhardt X-Patchwork-Id: 13875962 Received: from fhigh-a5-smtp.messagingengine.com (fhigh-a5-smtp.messagingengine.com [103.168.172.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 61D3D10F2 for ; Fri, 15 Nov 2024 07:33:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.156 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731655982; cv=none; b=KyLS4hLWEihti5cISUiBmD+0cujT8aeW7b4iCEnkFA4+oq4PJWj2gBJNEFdOE+y+ZXaNiJUweC4r/KerHze3XqfYIytudOq9hmudOi4r3lgSHDRskLGHdxFK67sn+RK5b0mrnsLIg4+ZQoG9WUfCxem8/5WIOa5RDPfhMr+/uLs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731655982; c=relaxed/simple; bh=B/9MfdFJg2GSXkewf4DQy7E56ZPd51dwEvPhgvpsNHw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=C5iJqMnOVqu5fl/07j8eaM/81GSJ6VqqbsHF/iOR43vBuOaCNBxyCJKX0ML9Uilw08aD7hgkWt3p3UF8u+xkcmqmgv8qqXQ587PTH8HWGBhj4BgW0TuUTmYrSbo6zicFHhKl1xnjz0hN/Wr5/FcpNhg4vCac9ZbigLMgKa1QYRo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=pks.im; spf=pass smtp.mailfrom=pks.im; dkim=pass (2048-bit key) header.d=pks.im header.i=@pks.im header.b=j6ioix2O; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=JORJh7RT; arc=none smtp.client-ip=103.168.172.156 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=pks.im Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pks.im Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pks.im header.i=@pks.im header.b="j6ioix2O"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="JORJh7RT" Received: from phl-compute-02.internal (phl-compute-02.phl.internal [10.202.2.42]) by mailfhigh.phl.internal (Postfix) with ESMTP id 65AF01140092; Fri, 15 Nov 2024 02:32:59 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Fri, 15 Nov 2024 02:32:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pks.im; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1731655979; x=1731742379; bh=x0hbpADx1T/LFhkWIoc/wMq9alvjLZs/DvZfLHxYkGc=; b= j6ioix2OFzSjwsdN5JItt/joYW1N7UYQOypbOUzOZLMDlSqzQdlgnFlfjigOwET+ jVxSuUst3H5PFNon6kAgY3pDjGQlpF4p/NzYLtKg51cJlTpQhyNcFHUAQn4gwgzd ko/tMxzDNpbgFfE7rlS+sbm/+YrpMNlC+qIp08hHmQN9AtszYergLpTb5zq60ZFI zHEtlTwMRFnoPlVAUwrwuATUHrk1ilj0BBU0duSUNRtJHuY7Au/h+DSatpEfUfHC jB/wmryz0mQ1fngohBTiLmgYHv9eBOfjdXGkchC70bKLHEBevte6yHHDGvgYeKqQ KVugJXk3f5b38yLp46qncQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1731655979; x= 1731742379; bh=x0hbpADx1T/LFhkWIoc/wMq9alvjLZs/DvZfLHxYkGc=; b=J ORJh7RT1EBsWSmB80yac7rslafWTvegcyGJnpm5CFljYmtuipKNq0Mu2T7UQSpRe TMhxhiU+Pfkmp1J6yWz4dapR0/nrIV299FyHu98NnxY4vvD71nhXgBE7CimQz/hy HJqcm0JWBJcOKj/SBRoBMsDnyt0nKX5dKNa3BZRQbtvnMjaCjyTESx39V6t6J9l9 VF547faMpwTyWCoBLXfI/tN0kbAr5cNUdEh14yl3R0Pff4AEscg9AwPyrujw9Dw6 lj0z99d6TtI7QUtjIn/mF4MKsByka8AbgHkk6z0EDim2uSKIVZHv8dWG8Fd/o8Zr 6TEAfeNMftn/S45TzFYYQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrvdefgddutdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdej necuhfhrohhmpefrrghtrhhitghkucfuthgvihhnhhgrrhguthcuoehpshesphhkshdrih hmqeenucggtffrrghtthgvrhhnpeffueeiudejvdekheeuvdekfeffiedvueelteekudeh jeetkeegvddugfdtgfeileenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpehpshesphhkshdrihhmpdhnsggprhgtphhtthhopeegpdhmohguvgep shhmthhpohhuthdprhgtphhtthhopehjohhhrghnnhgvshdrshgthhhinhguvghlihhnse hgmhigrdguvgdprhgtphhtthhopehphhhilhhlihhprdifohhougduvdefsehgmhgrihhl rdgtohhmpdhrtghpthhtohepghhithhsthgvrhesphhosghogidrtghomhdprhgtphhtth hopehgihhtsehvghgvrhdrkhgvrhhnvghlrdhorhhg X-ME-Proxy: Feedback-ID: i197146af:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 15 Nov 2024 02:32:58 -0500 (EST) Received: by vm-mail (OpenSMTPD) with ESMTPSA id d618c669 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 15 Nov 2024 07:32:13 +0000 (UTC) From: Patrick Steinhardt Date: Fri, 15 Nov 2024 08:32:41 +0100 Subject: [PATCH v3 1/4] t/unit-tests: convert "clar-generate.awk" into a shell script Precedence: bulk X-Mailing-List: git@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20241115-pks-clar-build-improvements-v3-1-29672bf65ec6@pks.im> References: <20241115-pks-clar-build-improvements-v3-0-29672bf65ec6@pks.im> In-Reply-To: <20241115-pks-clar-build-improvements-v3-0-29672bf65ec6@pks.im> To: git@vger.kernel.org Cc: Johannes Schindelin , Phillip Wood , Junio C Hamano X-Mailer: b4 0.14.2 Convert "clar-generate.awk" into a shell script that invokes awk(1). This allows us to avoid the shell redirect in the build system, which may otherwise be a problem with build systems on platforms that use a different shell. While at it, wrap the overly long lines in the CMake build instructions. Signed-off-by: Patrick Steinhardt --- Makefile | 2 +- contrib/buildsystems/CMakeLists.txt | 7 ++-- t/unit-tests/clar-generate.awk | 50 ---------------------------- t/unit-tests/generate-clar-suites.sh | 63 ++++++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 53 deletions(-) diff --git a/Makefile b/Makefile index d06c9a8ffa7b637050c9619a367fbe61e7243a74..5232b913fd20f01a7e5f41d46178e93d52c9f534 100644 --- a/Makefile +++ b/Makefile @@ -3907,7 +3907,7 @@ GIT-TEST-SUITES: FORCE $(UNIT_TEST_DIR)/clar-decls.h: $(patsubst %,$(UNIT_TEST_DIR)/%.c,$(CLAR_TEST_SUITES)) GIT-TEST-SUITES $(QUIET_GEN)$(SHELL_PATH) $(UNIT_TEST_DIR)/generate-clar-decls.sh "$@" $(filter %.c,$^) $(UNIT_TEST_DIR)/clar.suite: $(UNIT_TEST_DIR)/clar-decls.h - $(QUIET_GEN)awk -f $(UNIT_TEST_DIR)/clar-generate.awk $< >$(UNIT_TEST_DIR)/clar.suite + $(QUIET_GEN)$(SHELL_PATH) $(UNIT_TEST_DIR)/generate-clar-suites.sh $< $(UNIT_TEST_DIR)/clar.suite $(UNIT_TEST_DIR)/clar/clar.o: $(UNIT_TEST_DIR)/clar.suite $(CLAR_TEST_OBJS): $(UNIT_TEST_DIR)/clar-decls.h $(CLAR_TEST_OBJS): EXTRA_CPPFLAGS = -I$(UNIT_TEST_DIR) diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt index 8974bb9fa202a0556fd9b16d105836d8cb66f543..da99dc3087a218d30e0fd1044567d7148d0d80a9 100644 --- a/contrib/buildsystems/CMakeLists.txt +++ b/contrib/buildsystems/CMakeLists.txt @@ -1008,8 +1008,11 @@ add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" COMMAND ${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-decls.sh "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" ${clar_test_SUITES} DEPENDS ${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-decls.sh ${clar_test_SUITES}) add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/t/unit-tests/clar.suite" - COMMAND awk -f "${CMAKE_SOURCE_DIR}/t/unit-tests/clar-generate.awk" "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" > "${CMAKE_BINARY_DIR}/t/unit-tests/clar.suite" - DEPENDS "${CMAKE_SOURCE_DIR}/t/unit-tests/clar-generate.awk" "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h") + COMMAND "${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-suites.sh" + "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" + "${CMAKE_BINARY_DIR}/t/unit-tests/clar.suite" + DEPENDS "${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-suites.sh" + "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h") add_library(unit-tests-lib ${clar_test_SUITES} "${CMAKE_SOURCE_DIR}/t/unit-tests/clar/clar.c" diff --git a/t/unit-tests/clar-generate.awk b/t/unit-tests/clar-generate.awk deleted file mode 100644 index ab71ce6c9fc2c3d49d826f3550a95be893114508..0000000000000000000000000000000000000000 --- a/t/unit-tests/clar-generate.awk +++ /dev/null @@ -1,50 +0,0 @@ -function add_suite(suite, initialize, cleanup, count) { - if (!suite) return - suite_count++ - callback_count += count - suites = suites " {\n" - suites = suites " \"" suite "\",\n" - suites = suites " " initialize ",\n" - suites = suites " " cleanup ",\n" - suites = suites " _clar_cb_" suite ", " count ", 1\n" - suites = suites " },\n" -} - -BEGIN { - suites = "static struct clar_suite _clar_suites[] = {\n" -} - -{ - print - name = $3; sub(/\(.*$/, "", name) - suite = name; sub(/^test_/, "", suite); sub(/__.*$/, "", suite) - short_name = name; sub(/^.*__/, "", short_name) - cb = "{ \"" short_name "\", &" name " }" - if (suite != prev_suite) { - add_suite(prev_suite, initialize, cleanup, count) - if (callbacks) callbacks = callbacks "};\n" - callbacks = callbacks "static const struct clar_func _clar_cb_" suite "[] = {\n" - initialize = "{ NULL, NULL }" - cleanup = "{ NULL, NULL }" - count = 0 - prev_suite = suite - } - if (short_name == "initialize") { - initialize = cb - } else if (short_name == "cleanup") { - cleanup = cb - } else { - callbacks = callbacks " " cb ",\n" - count++ - } -} - -END { - add_suite(suite, initialize, cleanup, count) - suites = suites "};" - if (callbacks) callbacks = callbacks "};" - print callbacks - print suites - print "static const size_t _clar_suite_count = " suite_count ";" - print "static const size_t _clar_callback_count = " callback_count ";" -} diff --git a/t/unit-tests/generate-clar-suites.sh b/t/unit-tests/generate-clar-suites.sh new file mode 100755 index 0000000000000000000000000000000000000000..d5c712221e46a2eaa288fff5262438e5f04d6f72 --- /dev/null +++ b/t/unit-tests/generate-clar-suites.sh @@ -0,0 +1,63 @@ +#!/bin/sh + +if test $# -lt 2 +then + echo "USAGE: $0 " 2>&1 + exit 1 +fi + +CLAR_DECLS_H="$1" +OUTPUT="$2" + +awk ' + function add_suite(suite, initialize, cleanup, count) { + if (!suite) return + suite_count++ + callback_count += count + suites = suites " {\n" + suites = suites " \"" suite "\",\n" + suites = suites " " initialize ",\n" + suites = suites " " cleanup ",\n" + suites = suites " _clar_cb_" suite ", " count ", 1\n" + suites = suites " },\n" + } + + BEGIN { + suites = "static struct clar_suite _clar_suites[] = {\n" + } + + { + print + name = $3; sub(/\(.*$/, "", name) + suite = name; sub(/^test_/, "", suite); sub(/__.*$/, "", suite) + short_name = name; sub(/^.*__/, "", short_name) + cb = "{ \"" short_name "\", &" name " }" + if (suite != prev_suite) { + add_suite(prev_suite, initialize, cleanup, count) + if (callbacks) callbacks = callbacks "};\n" + callbacks = callbacks "static const struct clar_func _clar_cb_" suite "[] = {\n" + initialize = "{ NULL, NULL }" + cleanup = "{ NULL, NULL }" + count = 0 + prev_suite = suite + } + if (short_name == "initialize") { + initialize = cb + } else if (short_name == "cleanup") { + cleanup = cb + } else { + callbacks = callbacks " " cb ",\n" + count++ + } + } + + END { + add_suite(suite, initialize, cleanup, count) + suites = suites "};" + if (callbacks) callbacks = callbacks "};" + print callbacks + print suites + print "static const size_t _clar_suite_count = " suite_count ";" + print "static const size_t _clar_callback_count = " callback_count ";" + } +' "$CLAR_DECLS_H" >"$OUTPUT" From patchwork Fri Nov 15 07:32:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Steinhardt X-Patchwork-Id: 13875961 Received: from fhigh-a5-smtp.messagingengine.com (fhigh-a5-smtp.messagingengine.com [103.168.172.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AD2D1862B8 for ; Fri, 15 Nov 2024 07:33:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.156 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731655982; cv=none; b=kUqzWb684wi6hRxi8DAbRjy4NFKTX3WcsDtW3k09RXThNyvu6FSi/iUpCev4NegHJorQ+Az4gwmwysFX2L5xlOGuPFbpN/RxJ7sysae8qBuXENCHSCLGkZXLRSvd05d+PgPpKd57eQM5Ag8vDGI18NrmknWijkMEtg/nSLr1lnM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731655982; c=relaxed/simple; bh=TjGKe4RYeBhoMCfSnbcGwSZSmIVBGNs9Aan5MRX3oVI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qAo1uHc7qL2x8MnBQiaE8uMLrOyq1v0PPyBfX0B9X9DNzj3GEmhKAoH2BuHrswTVW/N8nrcBPS7YrYB4F5qXH76cp/KpzE/P+zWn6RtXhJHjAFBqh2CsESj8FcpC5vlvJhR/lHFNxVzU1DY5D9rDtbNR0+lv5UuqBXrmN+DXyA8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=pks.im; spf=pass smtp.mailfrom=pks.im; dkim=pass (2048-bit key) header.d=pks.im header.i=@pks.im header.b=VpuyFUn3; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=jQaHfU+E; arc=none smtp.client-ip=103.168.172.156 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=pks.im Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pks.im Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pks.im header.i=@pks.im header.b="VpuyFUn3"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="jQaHfU+E" Received: from phl-compute-07.internal (phl-compute-07.phl.internal [10.202.2.47]) by mailfhigh.phl.internal (Postfix) with ESMTP id B83EF11401A7; Fri, 15 Nov 2024 02:32:59 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-07.internal (MEProxy); Fri, 15 Nov 2024 02:32:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pks.im; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1731655979; x=1731742379; bh=4n3O3qOtBdnmZcXhoGDD9gerYrN5YZXWzBrp0TOu6Jg=; b= VpuyFUn3ZafHOqx5AvZt2356o9M5f06W6ASn8niv90r+CGV/KhapNUxdEnobof0D 2JQMla3tOEU8KcRaNxAz+pVR8VXHLY1D4cR/mUMUWufGZKKqOp5Q81tqutoRCE6i 0fNQh4QydfDmJ1uof50pXHxJsfT7qYTQKmtNGIHh78CU5PpuI25dPfM0zGmm5JvL YK/He27BFU5ECR4eBn2YpveedWw6slQg+95XRbJtw2L5GAfelr1IxrOeSnBm8fHt ZXMoY/dTThn1WKC6YueOqZSQfYdt1fTFeHNI9pGItRMyJ4tI5Pi3WELRc4c9ydcZ LJNlDy90i3Q0MpZ0nKwzzA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1731655979; x= 1731742379; bh=4n3O3qOtBdnmZcXhoGDD9gerYrN5YZXWzBrp0TOu6Jg=; b=j QaHfU+E3UC8LIBUu5jMaHNN1rZSHsoqvTFWlIgd2R63Wu6xrxkIy9lp9W6w8qdWT YZXJNdV1h1nVTGtaE7p7sTLEOgFag38gfTHfVg/4ALdTJASsiwBlsmaTDGG7Cnmw 72lFFQHyeNNVuCpNaRJ46UErp72nldlAfY2vqSGBk5LpREh64sPaeaOdDiarkU1V k1azbD4ULraKA74bcDRKr/jruwjrhJ5UxhLVElEPRPTIEDFb5GXzrD0OJiEcy6pq G67DfJCQLLnC/cOK4nQ23CLgahjbfuLjyj67ehOJT5+4Fq1BmjXFKz57wvY19Q9d 4FL+D+qg/ZIRz2AAyaj1g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrvdefgddutdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdej necuhfhrohhmpefrrghtrhhitghkucfuthgvihhnhhgrrhguthcuoehpshesphhkshdrih hmqeenucggtffrrghtthgvrhhnpeffueeiudejvdekheeuvdekfeffiedvueelteekudeh jeetkeegvddugfdtgfeileenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpehpshesphhkshdrihhmpdhnsggprhgtphhtthhopeegpdhmohguvgep shhmthhpohhuthdprhgtphhtthhopehgihhtshhtvghrsehpohgsohigrdgtohhmpdhrtg hpthhtohepphhhihhllhhiphdrfihoohguuddvfeesghhmrghilhdrtghomhdprhgtphht thhopehjohhhrghnnhgvshdrshgthhhinhguvghlihhnsehgmhigrdguvgdprhgtphhtth hopehgihhtsehvghgvrhdrkhgvrhhnvghlrdhorhhg X-ME-Proxy: Feedback-ID: i197146af:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 15 Nov 2024 02:32:58 -0500 (EST) Received: by vm-mail (OpenSMTPD) with ESMTPSA id ca700648 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 15 Nov 2024 07:32:14 +0000 (UTC) From: Patrick Steinhardt Date: Fri, 15 Nov 2024 08:32:42 +0100 Subject: [PATCH v3 2/4] cmake: use SH_EXE to execute clar scripts Precedence: bulk X-Mailing-List: git@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20241115-pks-clar-build-improvements-v3-2-29672bf65ec6@pks.im> References: <20241115-pks-clar-build-improvements-v3-0-29672bf65ec6@pks.im> In-Reply-To: <20241115-pks-clar-build-improvements-v3-0-29672bf65ec6@pks.im> To: git@vger.kernel.org Cc: Johannes Schindelin , Phillip Wood , Junio C Hamano X-Mailer: b4 0.14.2 In 30bf9f0aaa (cmake: set up proper dependencies for generated clar headers, 2024-10-21), we have deduplicated the logic to generate our clar headers by reusing the same scripts that our Makefile does. Despite the deduplication, this refactoring also made us rebuild the headers in case the source files change, which didn't happen previously. The commit also introduced an issue though: we execute the scripts directly, so when the host does not have "/bin/sh" available they will fail. This is for example the case on Windows when importing the CMake project into Microsoft Visual Studio. Address the issue by invoking the scripts with `SH_EXE`, which contains the discovered path of the shell interpreter. While at it, wrap the overly long lines in the CMake build instructions. Signed-off-by: Patrick Steinhardt --- contrib/buildsystems/CMakeLists.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt index da99dc3087a218d30e0fd1044567d7148d0d80a9..2db80b7cc3c6aba840f18ffdc78d2cda1877d8cd 100644 --- a/contrib/buildsystems/CMakeLists.txt +++ b/contrib/buildsystems/CMakeLists.txt @@ -1005,10 +1005,13 @@ parse_makefile_for_scripts(clar_test_SUITES "CLAR_TEST_SUITES" "") list(TRANSFORM clar_test_SUITES PREPEND "${CMAKE_SOURCE_DIR}/t/unit-tests/") list(TRANSFORM clar_test_SUITES APPEND ".c") add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" - COMMAND ${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-decls.sh "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" ${clar_test_SUITES} - DEPENDS ${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-decls.sh ${clar_test_SUITES}) + COMMAND ${SH_EXE} ${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-decls.sh + "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" + ${clar_test_SUITES} + DEPENDS ${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-decls.sh + ${clar_test_SUITES}) add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/t/unit-tests/clar.suite" - COMMAND "${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-suites.sh" + COMMAND ${SH_EXE} "${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-suites.sh" "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" "${CMAKE_BINARY_DIR}/t/unit-tests/clar.suite" DEPENDS "${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-suites.sh" From patchwork Fri Nov 15 07:32:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Steinhardt X-Patchwork-Id: 13875963 Received: from fhigh-a5-smtp.messagingengine.com (fhigh-a5-smtp.messagingengine.com [103.168.172.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1CD3188CD8 for ; Fri, 15 Nov 2024 07:33:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.156 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731655983; cv=none; b=DtL5FaqQzLWL0X0Pfgs5eRlMDcq3rZkpA8zKJ3BCHNSTV868WiApUD0UKLgivN4UDWnYbY08ipeQElmRIZRU3uBNLmR7NcJkLehzlyjWXPjcJ6oENCv2Ccgw7pC7JEPjPBydcuh3QHnPIyuoOl0V6hvaKTgrIarV7PCACXuP96Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731655983; c=relaxed/simple; bh=2mZAGm4JoENRDIuMBEfeH1qVSkNBq4X0vLvGdPIu210=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=efEeRr8dLn/vRBVKk/bcJlp5wbzYp0U8A+q0mlylTuARMSAnt0zIUY6r+2tfOwhT/j5l/ikL6399faFhzHlXjE+fa3UpPZayVLVp4Cl3PhoerCB6nMNkCbHrqahTo6NuS+cf2V4Jb+AlVKY7wda5Dz7yAzmanzHk+2xPDCv3fcw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=pks.im; spf=pass smtp.mailfrom=pks.im; dkim=pass (2048-bit key) header.d=pks.im header.i=@pks.im header.b=iECrwQkW; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=QaKVHpux; arc=none smtp.client-ip=103.168.172.156 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=pks.im Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pks.im Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pks.im header.i=@pks.im header.b="iECrwQkW"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="QaKVHpux" Received: from phl-compute-02.internal (phl-compute-02.phl.internal [10.202.2.42]) by mailfhigh.phl.internal (Postfix) with ESMTP id C066611401B3; Fri, 15 Nov 2024 02:33:00 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Fri, 15 Nov 2024 02:33:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pks.im; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1731655980; x=1731742380; bh=+48lsCJLmvrReUdMRGy//XXBjy0Xo235FVVVuY1vgxw=; b= iECrwQkWEzrYN1AfXBTgwA8kY4/72dmIXWEn8OwcQkPGXC47ie1V/EEcTi8XfcQ6 fiXklDLbiNE54u2D+in9t760TnzMeJsr98bAtIY4JqNvKUSsub9x1l7dlPlrVsnZ MbqI5zLf+AueMns3+6oa8Au9OiCS4d1ajWxMdAjk+0hJYdwijInczIP62Z/7Jr7X 8Q8HlaNAlq/EahRprcxtA2OI3RICGyRqkdHUF+LFMx65/uqU1rG/UxuHnjAvH2ij EQUqYUf08sq/i1+jAMoMktbUxfTfKL7mySrct087cufMDj9xf3C7my/CZk9Ftn3a qP5j9K1V8vQZalJ7ATfBfQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1731655980; x= 1731742380; bh=+48lsCJLmvrReUdMRGy//XXBjy0Xo235FVVVuY1vgxw=; b=Q aKVHpuxIMrs/x2ZiBu9suiFwJrHPNhpJYBMQY+XTOTaHRaNcrfeMG0oJdkPDT1n9 fd02k3H1ptELQyyrxphus0q2ggVdEL9GOgdqXgqr67JngqB27tUnFh8CW3wHH+5e P4uZm7ugi8KGqsNn7SqAf9SmVopgyxBGL9trLqYZwdYci1+SFys/rKSFTl+Uc/0P gmsdYZMX118lLogt0LJZVBP43yfmp/Wh39uSybnENO4JWtE+flJqCztQzGXatgbO ZWEoGEbDOKWXhq1cy4oNADMZ7BeOgWlBg1AiK09gKSt24Da1fgxkvZTt9fBU0nBy Pl1FAhZ3SLsuEeQzShBLA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrvdefgddutdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdej necuhfhrohhmpefrrghtrhhitghkucfuthgvihhnhhgrrhguthcuoehpshesphhkshdrih hmqeenucggtffrrghtthgvrhhnpeffueeiudejvdekheeuvdekfeffiedvueelteekudeh jeetkeegvddugfdtgfeileenucevlhhushhtvghrufhiiigvpedunecurfgrrhgrmhepmh grihhlfhhrohhmpehpshesphhkshdrihhmpdhnsggprhgtphhtthhopeegpdhmohguvgep shhmthhpohhuthdprhgtphhtthhopehgihhtshhtvghrsehpohgsohigrdgtohhmpdhrtg hpthhtohepphhhihhllhhiphdrfihoohguuddvfeesghhmrghilhdrtghomhdprhgtphht thhopehgihhtsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtohepjhhohhgrnh hnvghsrdhstghhihhnuggvlhhinhesghhmgidruggv X-ME-Proxy: Feedback-ID: i197146af:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 15 Nov 2024 02:32:59 -0500 (EST) Received: by vm-mail (OpenSMTPD) with ESMTPSA id 681685a4 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 15 Nov 2024 07:32:15 +0000 (UTC) From: Patrick Steinhardt Date: Fri, 15 Nov 2024 08:32:43 +0100 Subject: [PATCH v3 3/4] cmake: use verbatim arguments when invoking clar commands Precedence: bulk X-Mailing-List: git@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20241115-pks-clar-build-improvements-v3-3-29672bf65ec6@pks.im> References: <20241115-pks-clar-build-improvements-v3-0-29672bf65ec6@pks.im> In-Reply-To: <20241115-pks-clar-build-improvements-v3-0-29672bf65ec6@pks.im> To: git@vger.kernel.org Cc: Johannes Schindelin , Phillip Wood , Junio C Hamano X-Mailer: b4 0.14.2 Pass the VERBATIM option to `add_custom_command()`. Like this, all arguments to the commands will be escaped properly for the build tool so that the invoked command receives each argument unchanged. Signed-off-by: Patrick Steinhardt --- contrib/buildsystems/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt index 2db80b7cc3c6aba840f18ffdc78d2cda1877d8cd..8c71f5a1d0290c9204e094fb266f10c7b70af9fb 100644 --- a/contrib/buildsystems/CMakeLists.txt +++ b/contrib/buildsystems/CMakeLists.txt @@ -1009,13 +1009,15 @@ add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" ${clar_test_SUITES} DEPENDS ${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-decls.sh - ${clar_test_SUITES}) + ${clar_test_SUITES} + VERBATIM) add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/t/unit-tests/clar.suite" COMMAND ${SH_EXE} "${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-suites.sh" "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" "${CMAKE_BINARY_DIR}/t/unit-tests/clar.suite" DEPENDS "${CMAKE_SOURCE_DIR}/t/unit-tests/generate-clar-suites.sh" - "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h") + "${CMAKE_BINARY_DIR}/t/unit-tests/clar-decls.h" + VERBATIM) add_library(unit-tests-lib ${clar_test_SUITES} "${CMAKE_SOURCE_DIR}/t/unit-tests/clar/clar.c" From patchwork Fri Nov 15 07:32:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Steinhardt X-Patchwork-Id: 13875964 Received: from fout-a1-smtp.messagingengine.com (fout-a1-smtp.messagingengine.com [103.168.172.144]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 25197189B9C for ; Fri, 15 Nov 2024 07:33:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.144 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731655983; cv=none; b=G8dZd6cADe10Yp33tTZaBWi1f9uxsX0uIJCkDBIaYiirxIymExQ19sYEYmG6GGuoCqbUITEpoLUT7QzCPBIxzsUcXf7zxvY9KOTlTpBQCZz287jK6FqCve32h7oyVIyopP5c9vo7uVSyhJkewP7ojdVMNWO7jeeEBYYNzZn+u7Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731655983; c=relaxed/simple; bh=HmaWVd/qlEX3tK1wRRZvVUyEo91a6JvLpfLYGeEEggQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sh1P+YPdXHQt8w06Td8fFLGcvxYJl+uC72+WwkRl9bAx0zKjuupwbdp9RbzdY+HXG7sDjnqs/wztJr65JkHTY2hIZKg2b126fH1jUbuR5m8xN2WKyTuPm9FsN4UTn7dD6qZwhl3ymrUvzwvY2dzYjiA+SYGFtlfRm9VV4Ohu6eY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=pks.im; spf=pass smtp.mailfrom=pks.im; dkim=pass (2048-bit key) header.d=pks.im header.i=@pks.im header.b=qHValeHA; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=Wvc4giP1; arc=none smtp.client-ip=103.168.172.144 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=pks.im Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pks.im Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pks.im header.i=@pks.im header.b="qHValeHA"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="Wvc4giP1" Received: from phl-compute-11.internal (phl-compute-11.phl.internal [10.202.2.51]) by mailfout.phl.internal (Postfix) with ESMTP id 24DB41380224; Fri, 15 Nov 2024 02:33:01 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-11.internal (MEProxy); Fri, 15 Nov 2024 02:33:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pks.im; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1731655981; x=1731742381; bh=5Rvx5axuIW+VFIvPcVnw08I3DJHTxTBtpsOYdElkLQo=; b= qHValeHAYxbTnQdCwJwBhWbW8BTFn3YedEov7txTdp+4O4B7X00tFauWsQXxp4fW lE6JltX8uwyL7PonYaH3S7doTcvf0G6/VsMnxRh2OJ7e9qghJtR2E+8QUbaNRpK6 S3B2HfjXkGt/5m7dfiNprOXqscH3/2GRthkgMdayrmV19rvoDLf3m6bOn58hxv5+ Taosa0bjqlo0zLNUoyL91rx6g/lsHbfQSFJvGipv2APb2RU0EtwQmB1oRRzBfaZg OVSi/GE+hdw4an+aJds1zJQd7MBdpU20FlEPZ0pcgZ/AEWI4z/DE7G5ma0Oh5buf i8OmEsLwl/hgPAr+yt4Q8g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1731655981; x= 1731742381; bh=5Rvx5axuIW+VFIvPcVnw08I3DJHTxTBtpsOYdElkLQo=; b=W vc4giP1iMd39g/eFHNOwsJMdDh9d2LUBrSmggkU8GBfQhgkt5USMLkYKq8BYIYll YxmAylAIrM8CcQthv6IMWgC7jkY1o8Bj0W0YnFLVoAdYjTuPIMfguoeuI8XCWygy W3Pbbf7VTB5N8SRN8oz0AzyJL81/u5CYXzZKtaH8bhfj0Nd3SNwIVXfaFVlKuntY 5PakLAmNIggAxEw6UZuZBY/bw+2bV343yS/YpEBJm4xdYgr1LYxEuM2Di5d2bwuE T7Ws3Hy+BccLowtc+HSYH+ysOtCm7pGd8GpSzAl7WFoigeShB8FTvG1J2CVUw5B1 vTWvPNPRgAjMy1TRVbbnQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrvdefgddutdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdej necuhfhrohhmpefrrghtrhhitghkucfuthgvihhnhhgrrhguthcuoehpshesphhkshdrih hmqeenucggtffrrghtthgvrhhnpeffueeiudejvdekheeuvdekfeffiedvueelteekudeh jeetkeegvddugfdtgfeileenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpehpshesphhkshdrihhmpdhnsggprhgtphhtthhopeegpdhmohguvgep shhmthhpohhuthdprhgtphhtthhopehgihhtshhtvghrsehpohgsohigrdgtohhmpdhrtg hpthhtohepjhhohhgrnhhnvghsrdhstghhihhnuggvlhhinhesghhmgidruggvpdhrtghp thhtohepghhithesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehphhhilh hlihhprdifohhougduvdefsehgmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i197146af:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 15 Nov 2024 02:32:59 -0500 (EST) Received: by vm-mail (OpenSMTPD) with ESMTPSA id 27cd089a (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 15 Nov 2024 07:32:16 +0000 (UTC) From: Patrick Steinhardt Date: Fri, 15 Nov 2024 08:32:44 +0100 Subject: [PATCH v3 4/4] Makefile: let clar header targets depend on their scripts Precedence: bulk X-Mailing-List: git@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20241115-pks-clar-build-improvements-v3-4-29672bf65ec6@pks.im> References: <20241115-pks-clar-build-improvements-v3-0-29672bf65ec6@pks.im> In-Reply-To: <20241115-pks-clar-build-improvements-v3-0-29672bf65ec6@pks.im> To: git@vger.kernel.org Cc: Johannes Schindelin , Phillip Wood , Junio C Hamano X-Mailer: b4 0.14.2 The targets that generate clar headers depend on their source files, but not on the script that is actually generating the output. Fix the issue by adding the missing dependencies. Signed-off-by: Patrick Steinhardt --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 5232b913fd20f01a7e5f41d46178e93d52c9f534..549b24e7fdbbdc173dfec79cdaddf67ccba52e14 100644 --- a/Makefile +++ b/Makefile @@ -3904,9 +3904,9 @@ GIT-TEST-SUITES: FORCE echo "$$FLAGS" >GIT-TEST-SUITES; \ fi -$(UNIT_TEST_DIR)/clar-decls.h: $(patsubst %,$(UNIT_TEST_DIR)/%.c,$(CLAR_TEST_SUITES)) GIT-TEST-SUITES +$(UNIT_TEST_DIR)/clar-decls.h: $(patsubst %,$(UNIT_TEST_DIR)/%.c,$(CLAR_TEST_SUITES)) $(UNIT_TEST_DIR)/generate-clar-decls.sh GIT-TEST-SUITES $(QUIET_GEN)$(SHELL_PATH) $(UNIT_TEST_DIR)/generate-clar-decls.sh "$@" $(filter %.c,$^) -$(UNIT_TEST_DIR)/clar.suite: $(UNIT_TEST_DIR)/clar-decls.h +$(UNIT_TEST_DIR)/clar.suite: $(UNIT_TEST_DIR)/clar-decls.h $(UNIT_TEST_DIR)/generate-clar-suites.sh $(QUIET_GEN)$(SHELL_PATH) $(UNIT_TEST_DIR)/generate-clar-suites.sh $< $(UNIT_TEST_DIR)/clar.suite $(UNIT_TEST_DIR)/clar/clar.o: $(UNIT_TEST_DIR)/clar.suite $(CLAR_TEST_OBJS): $(UNIT_TEST_DIR)/clar-decls.h