why :: in ports makefile ?

Jason Helfman jhelfman at e-e.com
Fri Mar 23 14:40:33 UTC 2012


>> I have never seen this before, and I wanted to know what it does.
>>
>> diff -ruN /tmp/p5-Mail-SpamAssassin.org/Makefile
>> /tmp/p5-Mail-SpamAssassin/Makefile
>> --- /tmp/p5-Mail-SpamAssassin.org/Makefile	2012-02-08 00:17:28.000000000
>> +0900
>> +++ /tmp/p5-Mail-SpamAssassin/Makefile	2012-03-06 08:55:28.445163638
>> +0900
>> @@ -219,7 +219,7 @@
>>   .endif
>>   	@${INSTALL_DATA} ${WRKSRC}/spamc/libspamc.h ${PREFIX}/include
>>
>> -post-install:
>> +post-install::
>>   .if defined (WITH_SPAMC)
>>   	@${STRIP_CMD} ${PREFIX}/bin/spamc
>>   .endif
>>
>> (this patch was sent to me by the maintainer of ja-p5-Mail-SpamAssassin.
>> I suggested that he change his port to a slave port so that it would be
>> easier to follow, and he has done a good job.
>>
>> I just wanted to know what the differences are in the port Makefile
>> between a ':' and a '::'
>>
>> Does this have to do with slave port(ish) things? does this force it to
>> execute?  what is it?
>>
>> Pardon my ignorance, I have just never seen this before in any port I
>> have
>> maintained, or worked on.
>>
>> (reference this PR for context)
>>
>> <http://www.freebsd.org/cgi/query-pr.cgi?pr=165765>
>>
>>
>>
>
> from make manapage
> (http://www.freebsd.org/cgi/man.cgi?query=make&apropos=0&sektion=0&manpath=FreeBSD+9.0-RELEASE&arch=default&format=html):
>
>      ::    If no sources are specified, the target is always re-created.
> Otherwise, a target is considered out-of-date if any of its sources
>  has been modified more recently than the target.  Sources for a
> target do not accumulate over dependency lines when this operator is
> used.  The target will not be removed if make is interrupted.
>
> This is typically used in ports for pre-everything target, but have never
> seen it on post-install. I don't see why the :: is necessary, either, as
> ':' should do in this case.
>
> -jgh

Unless, of course, the maintainer wants to override the master target of
the same name. I believe this may be the intention.
-jgh




More information about the freebsd-ports mailing list