unassociated shell command

Da Rock freebsd-ports at herveybayaustralia.com.au
Thu Jan 12 04:18:22 UTC 2012


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?
>
>
>
>>
>> @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.


More information about the freebsd-ports mailing list