Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Mar 2012 15:33:16 +0100
From:      Grzegorz Blach <magik@roorback.net>
To:        freebsd-ports@freebsd.org
Subject:   Re: why :: in ports makefile ?
Message-ID:  <4F6C89AC.4050809@roorback.net>
In-Reply-To: <4F6C8893.6040005@FreeBSD.org>
References:  <4F6C8893.6040005@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 03/23/2012 03:28 PM, Michael Scheidell wrote:
> 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 `man make`

      :     A target is considered out-of-date if its modification time
	   is less than those of any of its sources. Sources for a
            target accumulate over dependency lines when this operator
            is used. The target is removed if make is interrupted.

      ::    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.






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