mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Luca Barbato <lu_zero@gentoo.org>
To: musl@lists.openwall.com
Subject: [PATCH 1/3] makefile: add silent rules
Date: Thu, 16 Aug 2012 18:18:05 +0200	[thread overview]
Message-ID: <1345133887-4041-1-git-send-email-lu_zero@gentoo.org> (raw)

make V=0 to enable them
---

I forgot to resend it long ago once fixed, sorry

 Makefile |   62 ++++++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 40 insertions(+), 22 deletions(-)

diff --git a/Makefile b/Makefile
index 683850d..fa44829 100644
--- a/Makefile
+++ b/Makefile
@@ -36,6 +36,8 @@ CFLAGS_ALL_SHARED = $(CFLAGS_ALL) -fPIC -DSHARED -O3
 
 AR      = $(CROSS_COMPILE)ar
 RANLIB  = $(CROSS_COMPILE)ranlib
+INSTALL = install
+LN      = ln -sf
 
 ALL_INCLUDES = $(sort $(wildcard include/*.h include/*/*.h) $(GENH))
 
@@ -48,6 +50,22 @@ TOOL_LIBS = lib/musl-gcc.specs
 ALL_LIBS = $(CRT_LIBS) $(STATIC_LIBS) $(SHARED_LIBS) $(EMPTY_LIBS) $(TOOL_LIBS)
 ALL_TOOLS = tools/musl-gcc
 
+V ?= 1
+
+ifeq ($(strip $(V)), 0)
+Q      = @
+ECHO   = printf "$(1)\t%s\n" $(2)
+BRIEF  = CC AS AR LD HOSTCC SH LN
+SILENT = DEPCC RM RANLIB
+MSG    = $@
+M      = @$(call ECHO,$(TAG),$@);
+$(foreach VAR,$(BRIEF), \
+    $(eval override $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR))))
+$(foreach VAR,$(SILENT),$(eval override $(VAR) = @$($(VAR))))
+$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_PATH)/%=%)); $(INSTALL))
+endif
+
+
 LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH).so.1
 
 -include config.mak
@@ -57,25 +75,25 @@ all: $(ALL_LIBS) $(ALL_TOOLS)
 install: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(ALL_INCLUDES:include/%=$(DESTDIR)$(includedir)/%) $(ALL_TOOLS:tools/%=$(DESTDIR)$(bindir)/%) $(if $(SHARED_LIBS),$(DESTDIR)$(LDSO_PATHNAME),)
 
 clean:
-	rm -f crt/*.o
-	rm -f $(OBJS)
-	rm -f $(LOBJS)
-	rm -f $(ALL_LIBS) lib/*.[ao] lib/*.so
-	rm -f $(ALL_TOOLS)
-	rm -f $(GENH) 
-	rm -f include/bits
+	$(RM) crt/*.o
+	$(RM) $(OBJS)
+	$(RM) $(LOBJS)
+	$(RM) $(ALL_LIBS) lib/*.[ao] lib/*.so
+	$(RM) $(ALL_TOOLS)
+	$(RM) $(GENH)
+	$(RM) include/bits
 
 distclean: clean
-	rm -f config.mak
+	$(RM) config.mak
 
 include/bits:
 	@test "$(ARCH)" || { echo "Please set ARCH in config.mak before running make." ; exit 1 ; }
-	ln -sf ../arch/$(ARCH)/bits $@
+	$(Q)ln -sf ../arch/$(ARCH)/bits $@
 
 include/bits/alltypes.h.sh: include/bits
 
 include/bits/alltypes.h: include/bits/alltypes.h.sh
-	sh $< > $@
+	$(Q)sh $< > $@
 
 src/ldso/dynlink.lo: arch/$(ARCH)/reloc.h
 
@@ -97,41 +115,41 @@ lib/libc.so: $(LOBJS)
 	-Wl,-soname=libc.so -o $@ $(LOBJS) $(LIBCC)
 
 lib/libc.a: $(OBJS)
-	rm -f $@
+	$(RM) $@
 	$(AR) rc $@ $(OBJS)
 	$(RANLIB) $@
 
 $(EMPTY_LIBS):
-	rm -f $@
+	$(RM) $@
 	$(AR) rc $@
 
 lib/%.o: crt/%.o
-	cp $< $@
+	$(Q)cp $< $@
 
 lib/musl-gcc.specs: tools/musl-gcc.specs.sh config.mak
-	sh $< "$(includedir)" "$(libdir)" "$(LDSO_PATHNAME)" > $@
+	$(Q)sh $< "$(includedir)" "$(libdir)" "$(LDSO_PATHNAME)" > $@
 
 tools/musl-gcc: config.mak
-	printf '#!/bin/sh\nexec gcc "$$@" -specs "%s/musl-gcc.specs"\n' "$(libdir)" > $@
-	chmod +x $@
+	$(Q)printf '#!/bin/sh\nexec gcc "$$@" -specs "%s/musl-gcc.specs"\n' "$(libdir)" > $@
+	$(Q)chmod +x $@
 
 $(DESTDIR)$(bindir)/%: tools/%
-	install -D $< $@
+	$(INSTALL) -D $< $@
 
 $(DESTDIR)$(libdir)/%.so: lib/%.so
-	install -D -m 755 $< $@
+	$(INSTALL) -D -m 755 $< $@
 
 $(DESTDIR)$(libdir)/%: lib/%
-	install -D -m 644 $< $@
+	$(INSTALL) -D -m 644 $< $@
 
 $(DESTDIR)$(includedir)/%: include/%
-	install -D -m 644 $< $@
+	$(INSTALL) -D -m 644 $< $@
 
 $(DESTDIR)$(LDSO_PATHNAME): $(DESTDIR)$(syslibdir)
-	ln -sf $(libdir)/libc.so $@ || true
+	$(LN) $(libdir)/libc.so $@ || true
 
 $(DESTDIR)$(syslibdir):
-	install -d -m 755 $(DESTDIR)$(syslibdir)
+	$(INSTALL) -d -m 755 $(DESTDIR)$(syslibdir)
 
 .PRECIOUS: $(CRT_LIBS:lib/%=crt/%)
 
-- 
1.7.8.rc1



             reply	other threads:[~2012-08-16 16:18 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-16 16:18 Luca Barbato [this message]
2012-08-16 16:18 ` [PATCH 2/3] cosmetic: remove trailing whitespace Luca Barbato
2012-08-16 16:18 ` [PATCH 3/3] makefile: split install target Luca Barbato
2012-08-17 23:33   ` Rich Felker
2012-08-16 16:51 ` [PATCH 1/3] makefile: add silent rules orc
2012-08-16 17:05   ` Luca Barbato
2012-08-16 23:03 ` idunham
2012-08-16 23:06   ` Gregor Richards
2012-08-17  0:10   ` Luca Barbato
2012-08-17  1:21     ` Rich Felker
  -- strict thread matches above, loose matches on Subject: below --
2012-06-13  5:22 Build system tweaks Luca Barbato
2012-06-13  5:22 ` [PATCH 1/3] makefile: add silent rules Luca Barbato
2012-06-13  6:27   ` Szabolcs Nagy
2012-06-13  7:46     ` Luca Barbato
2012-06-13  7:34   ` John Spencer
2012-06-13  7:45     ` Luca Barbato
2012-06-13  9:45       ` John Spencer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1345133887-4041-1-git-send-email-lu_zero@gentoo.org \
    --to=lu_zero@gentoo.org \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).