Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jan 2012 15:55:14 +1000
From:      Da Rock <freebsd-ports@herveybayaustralia.com.au>
To:        freebsd-ports@freebsd.org
Subject:   Re: unassociated shell command
Message-ID:  <4F0E75C2.4020209@herveybayaustralia.com.au>
In-Reply-To: <4F0E60B6.4040904@missouri.edu>
References:  <4F0E395B.6020201@herveybayaustralia.com.au> <4F0E4D20.405@missouri.edu> <4F0E5809.4020700@herveybayaustralia.com.au> <4F0E5A92.2050607@missouri.edu> <4F0E5E1E.20904@herveybayaustralia.com.au> <4F0E60B6.4040904@missouri.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 01/12/12 14:25, Stephen Montgomery-Smith wrote:
> On 01/11/2012 10:14 PM, Da Rock wrote:
>> On 01/12/12 13:59, Stephen Montgomery-Smith wrote:
>>> On 01/11/2012 09:48 PM, Da Rock wrote:
>>>> On 01/12/12 13:01, Stephen Montgomery-Smith wrote:
>>>>> I usually see this error when there is a command that doesn't belong
>>>>> to a target. For example, if I create a Makefile that contains only:
>>>>> echo xxx
>>>>> I get the same error. So I think it is something in the part you
>>>>> snipped out that makes this error happen.
>>>> Yes, I have run that scenario too and learnt from it.
>>>>
>>>> The snipped bit is basically the same- but it works :/
>>>
>>> I tried this Makefile, and got the same error.
>>> all:
>>> XXX= xxx
>>> echo xxx
>>> Putting in the assignment seems to split the command "echo xxx" from
>>> the target "all:".
>>>
>>> So it looks like you need to separate the assignments from the 
>>> commands.
>> How do I do that, though? I have tried the assignment following the
>> commands (as it is now), but obviously thats not working either.
>>
>> And why does it work in the other settings?
>
> Maybe WITH_PAM is not defined.
>
> But try something like this:
>
> .if (conditionA)
> XXX=yyyy
> .endif
> .if (conditionB)
> ZZZ=wwww
> .endif
>
> post-extract:
> .if (conditionA)
>     @echo Doing A with ${XXX}
> .endif
> .if (conditionB)
>     @echo Doing B with ${ZZZ}
> .endif
You're a genius! Whether you realise it or not or it was accidental...

I split the 2 defines and set PLIST_SUB in the main, and ran the shell 
commands in post-extract. What I was attempting was for elegance I 
thought by keeping it all together. She runs as smooth as silk now :D

Thanks man...
>>>> @if [ -f ${WRKDIR}/etc/ldap.conf ]; then \
>>>> ${MV} ${WRKDIR}/etc/ldap.conf ${WRKDIR}/etc/ldap.conf.dist; \
>>>> fi
>>>> .if defined(WITH_PAM)
>>>> PLIST_SUB+= PAM=""
>>>> .else
>>>> @if [ -f ${WRKDIR}/lib/security/pam_ldap.so ]; then \
>>>> ${RM} -rf ${WRKDIR}/lib/; \
>>>> fi
>>>> @if [ -f ${WRKDIR}/usr/share/doc/nss_ldap-264/COPYING.pam_ldap ]; 
>>>> then \
>>>> ${RM} ${WRKDIR}/usr/share/doc/nss_ldap-264/*.pam*; \
>>>> ${RM} -rf ${WRKDIR}/usr/share/doc/nss_ldap-264/pam.d; \
>>>> fi
>>>> @if [ -f ${WRKDIR}/usr/share/man/man5/pam_ldap.5.gz ]; then \
>>>> ${RM} ${WRKDIR}/usr/share/man/man5/pam_ldap.5.gz; \
>>>> fi
>>>> PLIST_SUB+= PAM="@comment "
>>>> .endif
>>>>
>>>> Again, the indent is as is.
>>>>
>>>> Removing the @ didn't work either...
>>>>>
>>>>> On 01/11/2012 07:37 PM, Da Rock wrote:
>>>>>> I'm still very new to this, but I'm almost complete on my first
>>>>>> port. I
>>>>>> do have an unusual error which crops up from time to time and I'm
>>>>>> usually able to fudge along and clear it- but this last little bit
>>>>>> won't
>>>>>> clear!
>>>>>>
>>>>>> The particular lines in question are as follows:
>>>>>>
>>>>>> post-extract:
>>>>>> [snip]
>>>>>> .if defined(NOPORTDOCS)
>>>>>> @if [ -d ${WRKDIR}/usr/share/doc ]; then \
>>>>>> ${RM} -rf ${WRKDIR}/usr/share/doc; \
>>>>>> fi
>>>>>> PLIST_SUB+="@comment "
>>>>>> .else
>>>>>> PLIST_SUB+= PORTDOCS=""
>>>>>> .endif
>>>>>>
>>>>>> and I get the following error make -DNOPORTDOCS install:
>>>>>> "Makefile", line 59: Unassociated shell command "@if [ -d
>>>>>> ${WRKDIR}/usr/share/doc ]; then ${RM} -rf 
>>>>>> ${WRKDIR}/usr/share/doc; fi"
>>>>>> make: fatal errors encountered -- cannot continue
>>>>>>
>>>>>> What am I possibly missing? No googling helps, and I've tried many
>>>>>> different tricks that have worked in the past as ${DIRRM}, ${RM},
>>>>>> individual directory/file removal, etc.
>>>>>>
>>>>>> The indentation is exactly as in the Makefile.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F0E75C2.4020209>