11# ! /usr/bin/make
22
33# Extract version from git, or if we're from a zipfile, use dirname
4- VERSION =$(shell git describe --tags --always --dirty=-modded --abbrev=7 2>/dev/null || pwd | sed -n 's|.* /c\{0,1\}lightning-v\{0,1\}\([0-9a-f.rc\-]* \) $$|v\1|gp')
4+ VERSION =$(shell git describe --tags --always --dirty=-modded --abbrev=7 2>/dev/null || pwd | $( SED ) -n 's|.* /c\{0,1\}lightning-v\{0,1\}\([0-9a-f.rc\-]* \) $$|v\1|gp')
55
66# Next release.
77CLN_NEXT_VERSION := v25.12
@@ -318,30 +318,30 @@ else
318318# Git doesn't maintain timestamps, so we only regen if sources actually changed:
319319# We place the SHA inside some generated files so we can tell if they need updating.
320320# Usage: $(call SHA256STAMP_CHANGED)
321- SHA256STAMP_CHANGED = [ x"` sed -n ' s/.*SHA256STAMP:\([a-f0-9]*\).*/\1/p' $@ 2> /dev/null` " != x"` cat $( sort $( filter-out FORCE,$^) ) | $( SHA256SUM) | cut -c1-64 ` " ]
321+ SHA256STAMP_CHANGED = [ x"` $( SED ) -n ' s/.*SHA256STAMP:\([a-f0-9]*\).*/\1/p' $@ 2> /dev/null` " != x"` cat $( sort $( filter-out FORCE,$^) ) | $( SHA256SUM) | cut -c1-64 ` " ]
322322# Usage: $(call SHA256STAMP,commentprefix,commentpostfix)
323323SHA256STAMP = echo "$(1 ) SHA256STAMP:"` cat $( sort $( filter-out FORCE,$^) ) | $( SHA256SUM) | cut -c1-64 ` "$(2 ) " >> $@
324324endif
325325
326326# generate-wire.py --page [header|impl] hdrfilename wirename < csv > file
327327% _wiregen.h : % _wire.csv $(WIRE_GEN_DEPS )
328328 @if $(call SHA256STAMP_CHANGED) ; then \
329- $(call VERBOSE,"wiregen $@ ",tools/generate-wire.py --page header $($@ _args) $@ `basename $< .csv | sed 's/_exp_/_/'` < $< > $@ && $(call SHA256STAMP,//,) ) ; \
329+ $(call VERBOSE,"wiregen $@ ",tools/generate-wire.py --page header $($@ _args) $@ `basename $< .csv | $( SED ) 's/_exp_/_/'` < $< > $@ && $(call SHA256STAMP,//,) ) ; \
330330 fi
331331
332332% _wiregen.c : % _wire.csv $(WIRE_GEN_DEPS )
333333 @if $(call SHA256STAMP_CHANGED) ; then \
334- $(call VERBOSE,"wiregen $@ ",tools/generate-wire.py --page impl $($@ _args) ${@:.c=.h} `basename $< .csv | sed 's/_exp_/_/'` < $< > $@ && $(call SHA256STAMP,//,) ) ; \
334+ $(call VERBOSE,"wiregen $@ ",tools/generate-wire.py --page impl $($@ _args) ${@:.c=.h} `basename $< .csv | $( SED ) 's/_exp_/_/'` < $< > $@ && $(call SHA256STAMP,//,) ) ; \
335335 fi
336336
337337% _printgen.h : % _wire.csv $(WIRE_GEN_DEPS )
338338 @if $(call SHA256STAMP_CHANGED) ; then \
339- $(call VERBOSE,"printgen $@ ",tools/generate-wire.py -s -P --page header $($@ _args) $@ `basename $< .csv | sed 's/_exp_/_/'` < $< > $@ && $(call SHA256STAMP,//,) ) ; \
339+ $(call VERBOSE,"printgen $@ ",tools/generate-wire.py -s -P --page header $($@ _args) $@ `basename $< .csv | $( SED ) 's/_exp_/_/'` < $< > $@ && $(call SHA256STAMP,//,) ) ; \
340340 fi
341341
342342% _printgen.c : % _wire.csv $(WIRE_GEN_DEPS )
343343 @if $(call SHA256STAMP_CHANGED) ; then \
344- $(call VERBOSE,"printgen $@ ",tools/generate-wire.py -s -P --page impl $($@ _args) ${@:.c=.h} `basename $< .csv | sed 's/_exp_/_/'` < $< > $@ && $(call SHA256STAMP,//,) ) ; \
344+ $(call VERBOSE,"printgen $@ ",tools/generate-wire.py -s -P --page impl $($@ _args) ${@:.c=.h} `basename $< .csv | $( SED ) 's/_exp_/_/'` < $< > $@ && $(call SHA256STAMP,//,) ) ; \
345345 fi
346346
347347RUST_PROFILE ?= debug
@@ -411,7 +411,7 @@ ALL_TEST_GEN += $(GRPC_GEN)
411411$(GRPC_GEN ) & : cln-grpc/proto/node.proto cln-grpc/proto/primitives.proto
412412 $(PYTHON ) -m grpc_tools.protoc -I cln-grpc/proto cln-grpc/proto/node.proto --python_out=$(GRPC_PATH ) / --grpc_python_out=$(GRPC_PATH ) / --experimental_allow_proto3_optional
413413 $(PYTHON ) -m grpc_tools.protoc -I cln-grpc/proto cln-grpc/proto/primitives.proto --python_out=$(GRPC_PATH ) / --experimental_allow_proto3_optional
414- find $(GRPC_DIR ) / -type f -name " *.py" -print0 | xargs -0 sed -i' .bak' -e ' s/^import \(.*\)_pb2 as .*__pb2/from pyln.grpc import \1_pb2 as \1__pb2/g'
414+ find $(GRPC_DIR ) / -type f -name " *.py" -print0 | xargs -0 $( SED ) -i' .bak' -e ' s/^import \(.*\)_pb2 as .*__pb2/from pyln.grpc import \1_pb2 as \1__pb2/g'
415415 find $(GRPC_DIR ) / -type f -name " *.py.bak" -print0 | xargs -0 rm -f
416416
417417# We make pretty much everything depend on these.
@@ -444,7 +444,7 @@ mkdocs.yml: $(MANPAGES:=.md)
444444 @$(call VERBOSE, "genidx $@ ", \
445445 find doc -maxdepth 1 -name ' *\.[0-9]\.md' | \
446446 cut -b 5- | LC_ALL=C sort | \
447- sed ' s/\(.*\)\.\(.*\).*\.md/- "\1": "\1.\2.md"/' | \
447+ $( SED ) ' s/\(.*\)\.\(.*\).*\.md/- "\1": "\1.\2.md"/' | \
448448 $(PYTHON ) devtools/blockreplace.py mkdocs.yml manpages --language=yml --indent " " \
449449 )
450450
@@ -559,7 +559,7 @@ check-python-flake8:
559559 @# E731 do not assign a lambda expression, use a def
560560 @# W503: line break before binary operator
561561 @# E741: ambiguous variable name
562- @uv run flake8 --ignore=E501,E731,E741,W503,F541,E275 --exclude $(shell echo ${PYTHON_GENERATED} | sed 's/ \+/,/g') ${PYSRC}
562+ @uv run flake8 --ignore=E501,E731,E741,W503,F541,E275 --exclude $(shell echo ${PYTHON_GENERATED} | $( SED ) 's/ \+/,/g') ${PYSRC}
563563
564564check-pytest-pyln-proto :
565565 PATH=$(PYLN_PATH ) PYTHONPATH=$(MY_CHECK_PYTHONPATH ) uv run $(PYTEST ) contrib/pyln-proto/tests/
@@ -717,7 +717,7 @@ $(ALL_TEST_PROGRAMS:=.o): $(ALL_GEN_SOURCES)
717717
718718update-ccan :
719719 mv ccan ccan.old
720- DIR=$$(pwd ) /ccan; cd ../ccan && ./tools/create-ccan-tree -a $$ DIR ` cd $$ DIR.old/ccan && find * -name _info | sed s,/_info,, | $( SORT) ` $(CCAN_NEW )
720+ DIR=$$(pwd ) /ccan; cd ../ccan && ./tools/create-ccan-tree -a $$ DIR ` cd $$ DIR.old/ccan && find * -name _info | $( SED ) s,/_info,, | $( SORT) ` $(CCAN_NEW )
721721 mkdir -p ccan/tools/configurator
722722 cp ../ccan/tools/configurator/configurator.c ../ccan/doc/configurator.1 ccan/tools/configurator/
723723 $(MAKE ) ccan/config.h
@@ -772,8 +772,8 @@ update-pyln-versions: $(PYLNS:%=update-pyln-version-%)
772772update-pyln-version-% :
773773 @if [ -z " $( NEW_VERSION) " ]; then echo " Set NEW_VERSION!" >&2 ; exit 1; fi
774774 @echo " Updating contrib/pyln-$* to $( NEW_VERSION) "
775- @sed -i.bak ' s/^version = .*/version = "$(NEW_VERSION)"/' contrib/pyln-$* /pyproject.toml && rm contrib/pyln-$* /pyproject.toml.bak
776- @sed -i.bak ' s/^__version__ = .*/__version__ = "$(NEW_VERSION)"/' contrib/pyln-$* /pyln/$* /__init__.py && rm contrib/pyln-$* /pyln/$* /__init__.py.bak
775+ @$( SED ) -i.bak ' s/^version = .*/version = "$(NEW_VERSION)"/' contrib/pyln-$* /pyproject.toml && rm contrib/pyln-$* /pyproject.toml.bak
776+ @$( SED ) -i.bak ' s/^__version__ = .*/__version__ = "$(NEW_VERSION)"/' contrib/pyln-$* /pyln/$* /__init__.py && rm contrib/pyln-$* /pyln/$* /__init__.py.bak
777777
778778pyln-release : $(PYLNS:%=pyln-release-% )
779779
@@ -805,7 +805,7 @@ update-lock:
805805update-reckless-version :
806806 @if [ -z " $( NEW_VERSION) " ]; then echo " Set NEW_VERSION!" >&2 ; exit 1; fi
807807 @echo " Updating tools/reckless to $( NEW_VERSION) "
808- @sed -i.bak " s/__VERSION__ = '.*'/__VERSION__ = '$( NEW_VERSION) '/" tools/reckless && rm tools/reckless.bak
808+ @$( SED ) -i.bak " s/__VERSION__ = '.*'/__VERSION__ = '$( NEW_VERSION) '/" tools/reckless && rm tools/reckless.bak
809809
810810update-dot-version :
811811 @if [ -z " $( NEW_VERSION) " ]; then echo " Set NEW_VERSION!" >&2 ; exit 1; fi
@@ -816,7 +816,7 @@ update-mocks: $(ALL_TEST_PROGRAMS:%=update-mocks/%.c)
816816$(ALL_TEST_PROGRAMS:% =update-mocks/%.c): $(ALL_GEN_HEADERS ) $(EXTERNAL_LIBS ) libccan.a ccan/ccan/cdump/tools/cdump-enumstr config.vars
817817
818818update-mocks/% : % $(ALL_GEN_HEADERS ) $(ALL_GEN_SOURCES )
819- @MAKE=$(MAKE ) tools/update-mocks.sh " $* " $(SUPPRESS_OUTPUT )
819+ @MAKE=$(MAKE ) SED= $( SED ) tools/update-mocks.sh " $* " $(SUPPRESS_OUTPUT )
820820
821821unittest/% : % bolt-precheck
822822 BOLTDIR=$(LOCAL_BOLTDIR ) $(VG ) $(VG_TEST_ARGS ) $* > /dev/null
0 commit comments