All of lore.kernel.org
 help / color / mirror / Atom feed
* contrib/credential/osxkeychain: Makefile should allow to set CFLAGS
@ 2012-05-22 20:25 Samuel John
  2012-05-22 21:00 ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Samuel John @ 2012-05-22 20:25 UTC (permalink / raw)
  To: git

Hi there,

the contrib/credential/osxkeychain/Makefile goes like this

> CC = gcc
> RM = rm -f
> CFLAGS = -g -Wall
> 
> git-credential-osxkeychain: git-credential-osxkeychain.o
> 	$(CC) -o $@ $< -Wl,-framework -Wl,Security
> 


and does not allow me to pass CFLAGS to build git-credential-osxkeychain.o.
My hack is to call: make CC="$CC $CFLAGS"
That is ugly.

Would you mind to add the CFLAGS to that CC call?

bests,
 Samuel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: contrib/credential/osxkeychain: Makefile should allow to set CFLAGS
  2012-05-22 20:25 contrib/credential/osxkeychain: Makefile should allow to set CFLAGS Samuel John
@ 2012-05-22 21:00 ` Junio C Hamano
  2012-05-23 17:36   ` Jeff King
  0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2012-05-22 21:00 UTC (permalink / raw)
  To: Samuel John; +Cc: git

Samuel John <mail@samueljohn.de> writes:

> Hi there,
>
> the contrib/credential/osxkeychain/Makefile goes like this
>
>> CC = gcc
>> RM = rm -f
>> CFLAGS = -g -Wall
>> 
>> git-credential-osxkeychain: git-credential-osxkeychain.o
>> 	$(CC) -o $@ $< -Wl,-framework -Wl,Security
>
> and does not allow me to pass CFLAGS to build git-credential-osxkeychain.o.
> My hack is to call: make CC="$CC $CFLAGS"
> That is ugly.

Yeah, that is ugly.

It however seems to me that git-credential-osxkeychain.o does honor
$(CFLAGS), either from the user "make CFLAGS=..." or the default the
Makefile in question supplies.

The line you quoted is not using $(CC) as the compiler, but is using it to
link the final build product.  It may not hurt to have $(CFLAGS) on that
line, but shouldn't the line also have $(LDFLAGS) on it?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: contrib/credential/osxkeychain: Makefile should allow to set CFLAGS
  2012-05-22 21:00 ` Junio C Hamano
@ 2012-05-23 17:36   ` Jeff King
  2012-05-24 17:35     ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff King @ 2012-05-23 17:36 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Samuel John, git

On Tue, May 22, 2012 at 02:00:05PM -0700, Junio C Hamano wrote:

> It however seems to me that git-credential-osxkeychain.o does honor
> $(CFLAGS), either from the user "make CFLAGS=..." or the default the
> Makefile in question supplies.
> 
> The line you quoted is not using $(CC) as the compiler, but is using it to
> link the final build product.  It may not hurt to have $(CFLAGS) on that
> line, but shouldn't the line also have $(LDFLAGS) on it?

I think so. Why don't we do this?

-- >8 --
Subject: osxkeychain: pull make config from top-level directory

The default compiler and cflags were mostly "works for me"
when I built the original version. We need to be much less
careful here than usual, because we know we are building
only on OS X.  But it's only polite to at least respect the
CFLAGS and CC definitions that the user may have provided
earlier.

While we're at it, let's update our definitions and rules to
be more like the top-level Makefile; default our CFLAGS to
include -O2, and make sure we use CFLAGS and LDFLAGS when
linking.

Signed-off-by: Jeff King <peff@peff.net>
---
 contrib/credential/osxkeychain/Makefile | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/contrib/credential/osxkeychain/Makefile b/contrib/credential/osxkeychain/Makefile
index 75c07f8..4b3a08a 100644
--- a/contrib/credential/osxkeychain/Makefile
+++ b/contrib/credential/osxkeychain/Makefile
@@ -2,10 +2,13 @@ all:: git-credential-osxkeychain
 
 CC = gcc
 RM = rm -f
-CFLAGS = -g -Wall
+CFLAGS = -g -O2 -Wall
+
+-include ../../../config.mak.autogen
+-include ../../../config.mak
 
 git-credential-osxkeychain: git-credential-osxkeychain.o
-	$(CC) -o $@ $< -Wl,-framework -Wl,Security
+	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) -Wl,-framework -Wl,Security
 
 git-credential-osxkeychain.o: git-credential-osxkeychain.c
 	$(CC) -c $(CFLAGS) $<
-- 
1.7.9.7.35.gbeaaf11

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: contrib/credential/osxkeychain: Makefile should allow to set CFLAGS
  2012-05-23 17:36   ` Jeff King
@ 2012-05-24 17:35     ` Junio C Hamano
  2012-05-24 17:51       ` Jeff King
  0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2012-05-24 17:35 UTC (permalink / raw)
  To: Jeff King; +Cc: Samuel John, git

Jeff King <peff@peff.net> writes:

> On Tue, May 22, 2012 at 02:00:05PM -0700, Junio C Hamano wrote:
>
>> It however seems to me that git-credential-osxkeychain.o does honor
>> $(CFLAGS), either from the user "make CFLAGS=..." or the default the
>> Makefile in question supplies.
>> 
>> The line you quoted is not using $(CC) as the compiler, but is using it to
>> link the final build product.  It may not hurt to have $(CFLAGS) on that
>> line, but shouldn't the line also have $(LDFLAGS) on it?
>
> I think so. Why don't we do this?

I am OK with that.

CFLAGS/LDFLAGS that come from ../../../config.mak _might_ not be suitable
for this binary, but I do not think of a concrete example how that could
be.  Besides, this is just an example in contrib/ so I'd not worry about
it too much.

Thanks.

> -- >8 --
> Subject: osxkeychain: pull make config from top-level directory
>
> The default compiler and cflags were mostly "works for me"
> when I built the original version. We need to be much less
> careful here than usual, because we know we are building
> only on OS X.  But it's only polite to at least respect the
> CFLAGS and CC definitions that the user may have provided
> earlier.
>
> While we're at it, let's update our definitions and rules to
> be more like the top-level Makefile; default our CFLAGS to
> include -O2, and make sure we use CFLAGS and LDFLAGS when
> linking.
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
>  contrib/credential/osxkeychain/Makefile | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/contrib/credential/osxkeychain/Makefile b/contrib/credential/osxkeychain/Makefile
> index 75c07f8..4b3a08a 100644
> --- a/contrib/credential/osxkeychain/Makefile
> +++ b/contrib/credential/osxkeychain/Makefile
> @@ -2,10 +2,13 @@ all:: git-credential-osxkeychain
>  
>  CC = gcc
>  RM = rm -f
> -CFLAGS = -g -Wall
> +CFLAGS = -g -O2 -Wall
> +
> +-include ../../../config.mak.autogen
> +-include ../../../config.mak
>  
>  git-credential-osxkeychain: git-credential-osxkeychain.o
> -	$(CC) -o $@ $< -Wl,-framework -Wl,Security
> +	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) -Wl,-framework -Wl,Security
>  
>  git-credential-osxkeychain.o: git-credential-osxkeychain.c
>  	$(CC) -c $(CFLAGS) $<

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: contrib/credential/osxkeychain: Makefile should allow to set CFLAGS
  2012-05-24 17:35     ` Junio C Hamano
@ 2012-05-24 17:51       ` Jeff King
  0 siblings, 0 replies; 5+ messages in thread
From: Jeff King @ 2012-05-24 17:51 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Samuel John, git

On Thu, May 24, 2012 at 10:35:35AM -0700, Junio C Hamano wrote:

> > I think so. Why don't we do this?
> 
> I am OK with that.
> 
> CFLAGS/LDFLAGS that come from ../../../config.mak _might_ not be suitable
> for this binary, but I do not think of a concrete example how that could
> be.  Besides, this is just an example in contrib/ so I'd not worry about
> it too much.

Yeah, I considered that, but I figured that what you have in config.mak
is _at least_ as sensible as the random defaults I stuck in the
Makefile.  And overriding with "make CFLAGS=..." is still available.

-Peff

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-05-24 17:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-22 20:25 contrib/credential/osxkeychain: Makefile should allow to set CFLAGS Samuel John
2012-05-22 21:00 ` Junio C Hamano
2012-05-23 17:36   ` Jeff King
2012-05-24 17:35     ` Junio C Hamano
2012-05-24 17:51       ` Jeff King

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.