From: Damien Lespiau <damien.lespiau@gmail.com>
To: linux-sparse@vger.kernel.org
Cc: Damien Lespiau <damien.lespiau@gmail.com>
Subject: [PATCH] Beautify all & install Makefile targets
Date: Sun, 20 May 2007 23:59:45 +0200 [thread overview]
Message-ID: <11796983862564-git-send-email-damien.lespiau@gmail.com> (raw)
Beautify make's output like kbuild or git. The install
target is especially much more readable.
make V=1 (install) to get back to the old behaviour.
Signed-off-by: Damien Lespiau <damien.lespiau@gmail.com>
---
Makefile | 72 ++++++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 45 insertions(+), 27 deletions(-)
diff --git a/Makefile b/Makefile
index 77a6877..bacfba0 100644
--- a/Makefile
+++ b/Makefile
@@ -37,68 +37,83 @@ SLIB_FILE= libsparse.so
LIBS=$(LIB_FILE)
+#
+# Pretty print
+#
+ifneq ($(findstring $(MAKEFLAGS),s),s)
+ifndef V
+ Q = @
+ QUIET_CC = @echo ' ' CC' '$@;
+ QUIET_AR = @echo ' ' AR' '$@;
+ QUIET_GEN = @echo ' ' GEN' '$@;
+ QUIET_LD = @echo ' ' LD' '$@;
+ QUIET_INST_SH = echo -n ' ' INSTALL '';
+ QUIET_INST = @echo -n ' ' INSTALL '';
+endif
+endif
+
all: $(PROGRAMS) sparse.pc
install: $(INST_PROGRAMS) $(LIBS) $(LIB_H) sparse.pc
- install -d $(DESTDIR)$(BINDIR)
- install -d $(DESTDIR)$(LIBDIR)
- install -d $(DESTDIR)$(INCLUDEDIR)/sparse
- install -d $(DESTDIR)$(PKGCONFIGDIR)
- for f in $(INST_PROGRAMS); do \
- install -v $$f $(DESTDIR)$(BINDIR)/$$f || exit 1; \
+ $(Q)install -d $(DESTDIR)$(BINDIR)
+ $(Q)install -d $(DESTDIR)$(LIBDIR)
+ $(Q)install -d $(DESTDIR)$(INCLUDEDIR)/sparse
+ $(Q)install -d $(DESTDIR)$(PKGCONFIGDIR)
+ $(Q)for f in $(INST_PROGRAMS); do \
+ $(QUIET_INST_SH)install -v $$f $(DESTDIR)$(BINDIR)/$$f || exit 1; \
done
- for f in $(LIBS); do \
- install -m 644 -v $$f $(DESTDIR)$(LIBDIR)/$$f || exit 1; \
+ $(Q)for f in $(LIBS); do \
+ $(QUIET_INST_SH)install -m 644 -v $$f $(DESTDIR)$(LIBDIR)/$$f || exit 1; \
done
- for f in $(LIB_H); do \
- install -m 644 -v $$f $(DESTDIR)$(INCLUDEDIR)/sparse/$$f || exit 1; \
+ $(Q)for f in $(LIB_H); do \
+ $(QUIET_INST_SH)install -m 644 -v $$f $(DESTDIR)$(INCLUDEDIR)/sparse/$$f || exit 1; \
done
- install -m 644 -v sparse.pc $(DESTDIR)$(PKGCONFIGDIR)/sparse.pc
+ $(QUIET_INST)install -m 644 -v sparse.pc $(DESTDIR)$(PKGCONFIGDIR)/sparse.pc
sparse.pc: sparse.pc.in
- sed 's|@version@|$(VERSION)|g;s|@prefix@|$(PREFIX)|g;s|@libdir@|$(LIBDIR)|g;s|@includedir@|$(INCLUDEDIR)|g' sparse.pc.in > sparse.pc
+ $(QUIET_GEN)sed 's|@version@|$(VERSION)|g;s|@prefix@|$(PREFIX)|g;s|@libdir@|$(LIBDIR)|g;s|@includedir@|$(INCLUDEDIR)|g' sparse.pc.in > sparse.pc
test-lexing: test-lexing.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
test-parsing: test-parsing.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
test-linearize: test-linearize.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
test-sort: test-sort.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
compile: compile.o compile-i386.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< compile-i386.o $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< compile-i386.o $(LIBS)
obfuscate: obfuscate.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
sparse: sparse.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
graph: graph.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
example: example.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
test-unssa: test-unssa.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
test-dissect: test-dissect.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
ctags: ctags.o $(LIBS)
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(QUIET_LD)$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
$(LIB_FILE): $(LIB_OBJS)
- $(AR) rcs $@ $(LIB_OBJS)
+ $(QUIET_AR)$(AR) rcs $@ $(LIB_OBJS)
$(SLIB_FILE): $(LIB_OBJS)
- $(CC) -shared -o $@ $(LIB_OBJS)
+ $(QUIET_LD)$(CC) -shared -o $@ $(LIB_OBJS)
evaluate.o: $(LIB_H)
expression.o: $(LIB_H)
@@ -141,7 +156,10 @@ compat-mingw.o: $(LIB_H)
compat-cygwin.o: $(LIB_H)
pre-process.h:
- echo "#define GCC_INTERNAL_INCLUDE \"`$(CC) -print-file-name=include`\"" > pre-process.h
+ $(QUIET_GEN)echo "#define GCC_INTERNAL_INCLUDE \"`$(CC) -print-file-name=include`\"" > pre-process.h
+
+%.o: %.c
+ $(QUIET_CC)$(CC) -o $*.o -c $(CFLAGS) $<
clean:
rm -f *.[oasi] core core.[0-9]* $(PROGRAMS) $(SLIB_FILE) pre-process.h sparse.pc
--
1.5.2.rc3.87.g404fd
next reply other threads:[~2007-05-20 21:59 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-20 21:59 Damien Lespiau [this message]
2007-05-20 21:59 ` [PATCH] __DATE__ & __TIME expansion Damien Lespiau
2007-05-20 22:50 ` Neil Booth
2007-05-20 23:02 ` Josh Triplett
2007-05-20 23:49 ` Damien Lespiau
2007-05-21 0:06 ` Derek M Jones
2007-05-20 22:52 ` Josh Triplett
2007-05-21 0:35 ` [PATCH] Beautify all & install Makefile targets Josh Triplett
2007-05-22 18:28 ` Damien Lespiau
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=11796983862564-git-send-email-damien.lespiau@gmail.com \
--to=damien.lespiau@gmail.com \
--cc=linux-sparse@vger.kernel.org \
/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.
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).