Makefile: fix location of listing produced by "make subdir/foo.s"
authorJonathan Nieder <jrnieder@gmail.com>
Sun, 22 Jul 2012 23:47:26 +0000 (18:47 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 23 Jul 2012 04:30:26 +0000 (21:30 -0700)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile

index e4f8e0ef08b9f3f4eb5035f20421ee035127fdf2..d03fee7e146f36067773781bd4485a4718070cec 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2116,7 +2116,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