Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 15 Mar 2012 17:47:32 +0100
From: Igmar Palsenberg <igmar@...senberg.com>
To: "musl@...ts.openwall.com" <musl@...ts.openwall.com>
Subject: Re: [PATCH] makefile: Make default output compact and similar to Linux kernel.

I'm agains it. I really don't see the added value of this.

Just my 4$

Regards,

Igmar

On Mar 15, 2012, at 9:25, Georgi Chorbadzhiyski <gf@...xsol.org> wrote:

> 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.