# 
# The name of exported resursively expanded variable with $(shell ...)
# cannot be too long in gnu make version >= 4.4, otherwise a segmentation fault is triggled.
# I'm not sure if variable-name-too-long is a bug. However, make is supposed to tell me what's going wrong.
#
# The error is reproduced on fedora 39 with the following 2 official builds of make by fedora project
# make-4.4-1.fc38: https://kojipkgs.fedoraproject.org//packages/make/4.4/1.fc38/x86_64/make-4.4-1.fc38.x86_64.rpm
# make-4.4.1-2.fc39: https://kojipkgs.fedoraproject.org//packages/make/4.4.1/2.fc39/x86_64/make-4.4.1-2.fc39.x86_64.rpm
#
# There is NO error with gnu make 4.3, both tested on Ubuntu 23.04 (make 4.3-4.1build1) and fedora39 (make-4.3-1.fc33)
# make 4.3-4.1build1: http://mirrors.kernel.org/ubuntu/pool/main/m/make-dfsg/make_4.3-4.1build1_amd64.deb
# make-4.3-1.fc33: https://kojipkgs.fedoraproject.org//packages/make/4.3/1.fc33/x86_64/make-4.3-1.fc33.x86_64.rpm

# I think it may be caused by the new feature "shell-export".
# As is the "NEWS" file of Version 4.4 (31 Oct 2022):
# * WARNING: Backward-incompatibility!
#   Previously makefile variables marked as export were not exported to commands
#   started by the $(shell ...) function.  Now, all exported variables are
#   exported to $(shell ...).  If this leads to recursion during expansion, then
#   for backward-compatibility the value from the original environment is used.
#   To detect this change search for 'shell-export' in the .FEATURES variable.


# $ make --version
# GNU Make 4.4.1
# Built for x86_64-redhat-linux-gnu
# ...

# $ make --help
# ...
# This program built for x86_64-redhat-linux-gnu
# Report bugs to <bug-make@gnu.org>

# $ make
# echo "abc"
# Segmentation fault (core dumped)

THIS_LONG_VARIABLE_NAME_PREDUCE_THE_ERROR = $(shell echo hello)
export THIS_LONG_VARIABLE_NAME_PREDUCE_THE_ERROR

all:
	echo "abc"