${CTFCONVERT_CMD} expands to empty string

Andrey Chernov ache at freebsd.org
Mon Oct 22 16:45:42 UTC 2012


And simple test case proving that make v9201206140 dislike empty commands.
Makefile:
------------------------------------------------
CTFCONVERT_CMD=
all:
        echo ${MAKE_VERSION}
        ${CTFCONVERT_CMD}
        echo b
------------------------------------------------
> make
echo 9201206140
9201206140
${CTFCONVERT_CMD} expands to empty string
echo b
b

On 22.10.2012 20:08, Andrey Chernov wrote:
> On 22.10.2012 19:42, John Baldwin wrote:
>> On Sunday, October 21, 2012 8:25:32 pm Andrey Chernov wrote:
>>> Those lines cause this error:
>>> .if ${MK_CTF} != "no"
>>> CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
>>> .elif ${MAKE_VERSION} >= 5201111300
>>> CTFCONVERT_CMD=
>>> .else
>>> CTFCONVERT_CMD= @:
>>> .endif
>>>
>>> My make version is 9201206140
>>> So, either the check for >= 5201111300 is incorrect or change for empty
>>> make variables expansion is not merged into stable-9
>>
>> I can't reproduce this doing a buildworld of a stable/9 checkout on a 9.0-
>> stable machine btw.  What exact contents of /etc/src.conf and commands are you 
>> using to reproduce this?
>>
>> I also can't find the string "empty string" in the output of my stable/9
>> 'make universe' build before I committed this.
>>
> 
> /etc/src.conf:
> WITHOUT_AMD=yes
> WITHOUT_APM=yes
> WITHOUT_ATM=yes
> WITHOUT_AUDIT=yes
> WITH_BSD_GREP=yes
> WITHOUT_BLUETOOTH=yes
> WITHOUT_BSNMP=yes
> WITHOUT_CDDL=yes
> WITHOUT_CLANG=yes
> WITHOUT_CTM=yes
> WITHOUT_FORTRAN=yes
> WITHOUT_GPIB=yes
> WITHOUT_GPIO=yes
> WITHOUT_GSSAPI=yes
> WITHOUT_I4B=yes
> WITH_IDEA=yes
> WITHOUT_IPFILTER=yes
> WITHOUT_IPX=yes
> WITHOUT_NCP=yes
> WITHOUT_NIS=yes
> WITHOUT_KERBEROS=yes
> WITHOUT_MAILWRAPPER=yes
> WITHOUT_PF=yes
> WITHOUT_PMC=yes
> WITHOUT_PROFILE=yes
> WITHOUT_RCMDS=yes
> WITHOUT_SLIP=yes
> WITHOUT_WIRELESS=yes
> 
> I got that useless line _each_ .c file compiles. Example commands:
> cd /usr/src/usr.bin/make
> make clean
> make
> I got:
> cc -O2 -pipe -march=pentium4 -I/usr/src/usr.bin/make
> -DMAKE_VERSION=\"9201206140\" -DDEFSHELLNAME=\"sh\" -std=gnu99
> -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W
> -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes
> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch
> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline
> -Wnested-externs -Wredundant-decls -Wold-style-definition
> -Wno-pointer-sign -c /usr/src/usr.bin/make/arch.c
> ${CTFCONVERT_CMD} expands to empty string
> ...etc... on each file.
> 



More information about the freebsd-stable mailing list