|
|
Message-Id: <1331799923-14402-1-git-send-email-gf@unixsol.org>
Date: Thu, 15 Mar 2012 10:25:23 +0200
From: Georgi Chorbadzhiyski <gf@...xsol.org>
To: musl@...ts.openwall.com
Subject: [PATCH] makefile: Make default output compact and similar to Linux kernel.
This patch changes default make output to be similar to Linux kernel.
An example output looks like this:
ASM crt/i386/crt1.s
COPY crt/crt1.o lib/crt1.o
MKBITS i386
MKTYPES include/bits/alltypes.h.sh
CC src/aio/aio_cancel.c
CC src/unistd/write.c
LD lib/libc.so
BUILD tools/musl-gcc
INSTALL /usr/local/musl/lib/libc.a
INSTALL /usr/local/bin/musl-gcc
If you want to see the executed commands use make V=1 or export V=1
before running make.
---
Makefile | 83 +++++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 53 insertions(+), 30 deletions(-)
diff --git a/Makefile b/Makefile
index 7aa6c4f..62e5416 100644
--- a/Makefile
+++ b/Makefile
@@ -41,6 +41,13 @@ ALL_TOOLS = tools/musl-gcc
LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH).so.1
+ifndef V
+Q = @
+SAY = echo
+else
+SAY = @true
+endif
+
-include config.mak
all: $(ALL_LIBS) $(ALL_TOOLS)
@@ -48,70 +55,86 @@ 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
+ $(Q)$(SAY) "CLEAN all"
+ $(Q)rm -f crt/*.o
+ $(Q)rm -f $(OBJS)
+ $(Q)rm -f $(LOBJS)
+ $(Q)rm -f $(ALL_LIBS) lib/*.[ao] lib/*.so
+ $(Q)rm -f $(ALL_TOOLS)
+ $(Q)rm -f $(GENH)
+ $(Q)rm -f include/bits
include/bits:
- @test "$(ARCH)" || { echo "Please set ARCH in config.mak before running make." ; exit 1 ; }
- ln -sf ../arch/$(ARCH)/bits $@
+ $(Q)$(SAY) "MKBITS $(ARCH)"
+ @test "$(ARCH)" || { $(SAY) "Please set ARCH in config.mak before running make." ; exit 1 ; }
+ $(Q)ln -sf ../arch/$(ARCH)/bits $@
include/bits/alltypes.h.sh: include/bits
include/bits/alltypes.h: include/bits/alltypes.h.sh
- sh $< > $@
+ $(Q)$(SAY) "MKTYPES $<"
+ $(Q)sh $< > $@
%.o: $(ARCH)/%.s
- $(CC) $(CFLAGS) $(INC) -c -o $@ $<
+ $(Q)$(SAY) "ASM $<"
+ $(Q)$(CC) $(CFLAGS) $(INC) -c -o $@ $<
%.o: %.c $(GENH)
- $(CC) $(CFLAGS) $(INC) -c -o $@ $<
+ $(Q)$(SAY) "CC $<"
+ $(Q)$(CC) $(CFLAGS) $(INC) -c -o $@ $<
%.lo: $(ARCH)/%.s
- $(CC) $(CFLAGS) $(INC) $(PIC) -c -o $@ $<
+ $(Q)$(SAY) "ASM $<"
+ $(Q)$(CC) $(CFLAGS) $(INC) $(PIC) -c -o $@ $<
%.lo: %.c $(GENH)
- $(CC) $(CFLAGS) $(INC) $(PIC) -c -o $@ $<
+ $(Q)$(SAY) "CC $<"
+ $(Q)$(CC) $(CFLAGS) $(INC) $(PIC) -c -o $@ $<
lib/libc.so: $(LOBJS)
- $(CC) $(LDFLAGS) -Wl,-soname=libc.so -o $@ $(LOBJS) -lgcc
- $(OBJCOPY) --weaken $@
+ $(Q)$(SAY) "LD $@"
+ $(Q)$(CC) $(LDFLAGS) -Wl,-soname=libc.so -o $@ $(LOBJS) -lgcc
+ $(Q)$(OBJCOPY) --weaken $@
lib/libc.a: $(OBJS)
- rm -f $@
- $(AR) rc $@ $(OBJS)
- $(RANLIB) $@
+ $(Q)$(SAY) "AR $@"
+ $(Q)rm -f $@
+ $(Q)$(AR) rc $@ $(OBJS)
+ $(Q)$(RANLIB) $@
$(EMPTY_LIBS):
- rm -f $@
- $(AR) rc $@
+ $(Q)rm -f $@
+ $(Q)$(AR) rc $@
lib/%.o: crt/%.o
- cp $< $@
+ $(Q)$(SAY) "COPY $< $@"
+ $(Q)cp $< $@
tools/musl-gcc: tools/gen-musl-gcc.sh config.mak
- sh $< "$(prefix)" "$(LDSO_PATHNAME)" > $@ || { rm -f $@ ; exit 1 ; }
- chmod +x $@
+ $(Q)$(SAY) "BUILD $@"
+ $(Q)sh $< "$(prefix)" "$(LDSO_PATHNAME)" > $@ || { rm -f $@ ; exit 1 ; }
+ $(Q)chmod +x $@
$(DESTDIR)$(bindir)/%: tools/%
- install -D $< $@
+ $(Q)$(SAY) "INSTALL $@"
+ $(Q)install -D $< $@
$(DESTDIR)$(libdir)/%.so: lib/%.so
- install -D -m 755 $< $@
+ $(Q)$(SAY) "INSTALL $@"
+ $(Q)install -D -m 755 $< $@
$(DESTDIR)$(libdir)/%: lib/%
- install -D -m 644 $< $@
+ $(Q)$(SAY) "INSTALL $@"
+ $(Q)install -D -m 644 $< $@
$(DESTDIR)$(includedir)/%: include/%
- install -D -m 644 $< $@
+ $(Q)$(SAY) "INSTALL $@"
+ $(Q)install -D -m 644 $< $@
$(DESTDIR)$(LDSO_PATHNAME): lib/libc.so
- install -d -m 755 $(DESTDIR)$(syslibdir)
- ln -sf $(libdir)/libc.so $@ || true
+ $(Q)$(SAY) "INSTALL $@"
+ $(Q)install -d -m 755 $(DESTDIR)$(syslibdir)
+ $(Q)ln -sf $(libdir)/libc.so $@ || true
.PRECIOUS: $(CRT_LIBS:lib/%=crt/%)
--
1.7.5.1
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.