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 ) * /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` ` cat $( sort $( filter-out FORCE,$^) ) |  $( SHA256SUM) |  cut -c1-64 ` 
321+ SHA256STAMP_CHANGED  = [ x"` $( SED ) ' s/.*SHA256STAMP:\([a-f0-9]*\).*/\1/p' $@  2> /dev/null` ` 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 ) $<  > $@  && $(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 ) $<  > $@  && $(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 ) $<  > $@  && $(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 ) $<  > $@  && $(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" |  xargs -0 sed  -i' .bak' ' s/^import \(.*\)_pb2 as .*__pb2/from pyln.grpc import \1_pb2 as \1__pb2/g' 
414+ 	find $(GRPC_DIR ) / -type f -name " *.py" |  xargs -0 $( SED ) ' .bak' ' s/^import \(.*\)_pb2 as .*__pb2/from pyln.grpc import \1_pb2 as \1__pb2/g' 
415415	find $(GRPC_DIR ) / -type f -name " *.py.bak" |  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 )   ${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 ) |  $( 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)"/' $* /pyproject.toml &&  rm contrib/pyln-$* /pyproject.toml.bak
776- 	@sed  -i.bak ' s/^__version__ = .*/__version__ = "$(NEW_VERSION)"/' $* /pyln/$* /__init__.py &&  rm contrib/pyln-$* /pyln/$* /__init__.py.bak
775+ 	@$( SED ) ' s/^version = .*/version = "$(NEW_VERSION)"/' $* /pyproject.toml &&  rm contrib/pyln-$* /pyproject.toml.bak
776+ 	@$( SED ) ' s/^__version__ = .*/__version__ = "$(NEW_VERSION)"/' $* /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) " &&  rm tools/reckless.bak
808+ 	@$( SED ) " s/__VERSION__ = '.*'/__VERSION__ = '$( NEW_VERSION) " &&  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