# [PATCH] Makefile: fix location of listing produced by "make subdir/foo.s"

2 messages from 2012-07-22 to 2012-07-23. Participants: Jonathan Nieder, Junio C Hamano.
Thread: https://gitlist.dev/t/31070

## Jonathan Nieder, 2012-07-22 23:47

Subject: [PATCH] Makefile: fix location of listing produced by "make subdir/foo.s"
Message-ID: <20120722234726.GC2012@burratino>
URL: https://gitlist.dev/e/20120722234726.GC2012%40burratino

```
When I invoke "make block-sha1/sha1.s", 'make' runs $(CC) -S without
specifying where it should put its output and the output ends up in
./sha1.s.  Confusing.

Add an -o option to the .s rule to fix this.  We were already doing
that for most compiler invocations but had forgotten it for the
assembler listings.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Hi,

This patch is from below the scissors at
http://thread.gmane.org/gmane.comp.version-control.git/201434/focus=201485

I think it's a good change, but as usual it's nice if someone else
takes a look at it and gives it a sanity check.  If it seems sane,
I'd be happy to see it applied.  What do you think?

Thanks,
Jonathan

 Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 285c660e..8bfa19cd 100644
--- a/Makefile
+++ b/Makefile
@@ -2263,7 +2263,7 @@ $(ASM_OBJ): %.o: %.S GIT-CFLAGS $(missing_dep_dirs)
 endif
 
 %.s: %.c GIT-CFLAGS FORCE
-	$(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
+	$(QUIET_CC)$(CC) -o $@ -S $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
 
 ifdef USE_COMPUTED_HEADER_DEPENDENCIES
 # Take advantage of gcc's on-the-fly dependency generation
-- 
1.7.10.4

```

## Junio C Hamano, 2012-07-23 05:11

Subject: Re: [PATCH] Makefile: fix location of listing produced by "make subdir/foo.s"
Message-ID: <7vk3xvnjt2.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vk3xvnjt2.fsf%40alter.siamese.dyndns.org
In-Reply-To: <20120722234726.GC2012@burratino>

```
Jonathan Nieder <jrnieder@gmail.com> writes:

> When I invoke "make block-sha1/sha1.s", 'make' runs $(CC) -S without
> specifying where it should put its output and the output ends up in
> ./sha1.s.  Confusing.
>
> Add an -o option to the .s rule to fix this.  We were already doing
> that for most compiler invocations but had forgotten it for the
> assembler listings.
>
> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
> ---
> Hi,
>
> This patch is from below the scissors at
> http://thread.gmane.org/gmane.comp.version-control.git/201434/focus=201485
>
> I think it's a good change, but as usual it's nice if someone else
> takes a look at it and gives it a sanity check.  If it seems sane,
> I'd be happy to see it applied.  What do you think?
>
> Thanks,
> Jonathan

Yeah, I think it is a sensible thing to do.

>  Makefile |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 285c660e..8bfa19cd 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2263,7 +2263,7 @@ $(ASM_OBJ): %.o: %.S GIT-CFLAGS $(missing_dep_dirs)
>  endif
>  
>  %.s: %.c GIT-CFLAGS FORCE
> -	$(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
> +	$(QUIET_CC)$(CC) -o $@ -S $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
>  
>  ifdef USE_COMPUTED_HEADER_DEPENDENCIES
>  # Take advantage of gcc's on-the-fly dependency generation

```
