Junio C Hamano [off-list ref] writes:
#!/bin/sh
cat >make.file <<\EOF
all::
ifeq ($(FSMONITOR_DAEMON_BACKEND),)
echo it is empty
endif
ifdef FSMONITOR_DAEMON_BACKEND
An obvious typo. This must be "ifndef", of course.
echo it is undefined
endif
EOF
echo "unset???"
make -f make.file
echo "set to empty???"
make -f make.file FSMONITOR_DAEMON_BACKEND=
These two make invocations will give us the same result, showing
that "is it set to empty" and "is it unset" are the same.