From 18eeb79026f7e5c54bf99435537c024427011a36 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 20 Feb 2010 21:05:45 -0800 Subject: [PATCH] Quiet make output. This borrows ideas from the notmuch project to reduce the command line clutter seen when compiling or linking stuff. Signed-off-by: Keith Packard --- src/Makefile.proto | 27 +++++++++++++++++++------- src/teledongle-v0.1/Makefile.defs | 3 +-- src/teledongle-v0.2/Makefile.defs | 3 +-- src/telemetrum-v0.1-sirf/Makefile.defs | 3 +-- src/telemetrum-v0.1-sky/Makefile.defs | 3 +-- src/telemetrum-v0.2/Makefile.defs | 3 +-- src/tidongle/Makefile.defs | 2 +- 7 files changed, 26 insertions(+), 18 deletions(-) diff --git a/src/Makefile.proto b/src/Makefile.proto index 958b7572..c98abca6 100644 --- a/src/Makefile.proto +++ b/src/Makefile.proto @@ -174,6 +174,10 @@ TD_SRC = \ include Makefile.defs +CFLAGS += $(PRODUCT_DEF) -I. + +NICKLE=nickle + REL=$(SRC:.c=.rel) ao_product.rel ADB=$(REL:.rel=.adb) ASM=$(REL:.rel=.asm) @@ -188,29 +192,38 @@ PMAP=$(PROG:.ihx=.map) PMEM=$(PROG:.ihx=.mem) PAOM=$(PROG:.ihx=) +V=0 +# The user has explicitly enabled quiet compilation. +ifeq ($(V),0) +quiet = @printf " $1 $2 $@\n"; $($1) +endif +# Otherwise, print the full command line. +quiet ?= $($1) + %.rel : %.c $(INC) - $(CC) -c $(CFLAGS) -o$@ $< + $(call quiet,CC,$(PRODUCT_DEF)) $(CFLAGS) -c -o$@ $< -all: $(PROG) +all: ../$(PROG) -$(PROG): $(REL) Makefile Makefile.defs ../Makefile.proto - $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(REL) +../$(PROG): $(REL) Makefile Makefile.defs ../Makefile.proto + $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(REL) && mv $(PROG) .. ../altitude.h: make-altitude nickle $< > $@ ao_product.h: ao-make-product.5c - nickle $< -m altusmetrum.org -p $(PRODUCT) -v $(VERSION) > $@ + $(call quiet,NICKLE,$<) $< -m altusmetrum.org -p $(PRODUCT) -v $(VERSION) > $@ ao_product.rel: ao_product.c ao_product.h - $(CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"ao_product.h\"' -o$@ $< + $(call quiet,CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"ao_product.h\"' -o$@ $< distclean: clean clean: rm -f $(ADB) $(ASM) $(LNK) $(LST) $(REL) $(RST) $(SYM) - rm -f $(PROG) $(PCDB) $(PLNK) $(PMAP) $(PMEM) $(PAOM) + rm -f $(PCDB) $(PLNK) $(PMAP) $(PMEM) $(PAOM) rm -f ao_product.h + rm -f ../$(PROG) install: diff --git a/src/teledongle-v0.1/Makefile.defs b/src/teledongle-v0.1/Makefile.defs index 3526b4c5..06559b28 100644 --- a/src/teledongle-v0.1/Makefile.defs +++ b/src/teledongle-v0.1/Makefile.defs @@ -5,5 +5,4 @@ SRC = \ $(DBG_SRC) PRODUCT=TeleDongle-v0.1 - -CFLAGS += -DTELEDONGLE_V_0_1 -I. +PRODUCT_DEF=-DTELEDONGLE_V_0_1 diff --git a/src/teledongle-v0.2/Makefile.defs b/src/teledongle-v0.2/Makefile.defs index faad4dce..23694fda 100644 --- a/src/teledongle-v0.2/Makefile.defs +++ b/src/teledongle-v0.2/Makefile.defs @@ -5,5 +5,4 @@ SRC = \ $(DBG_SRC) PRODUCT=TeleDongle-v0.2 - -CFLAGS += -DTELEDONGLE_V_0_2 -I. +PRODUCT_DEF=-DTELEDONGLE_V_0_2 diff --git a/src/telemetrum-v0.1-sirf/Makefile.defs b/src/telemetrum-v0.1-sirf/Makefile.defs index 1157d679..7306683e 100644 --- a/src/telemetrum-v0.1-sirf/Makefile.defs +++ b/src/telemetrum-v0.1-sirf/Makefile.defs @@ -7,5 +7,4 @@ SRC = \ $(DBG_SRC) PRODUCT=TeleMetrum-v0.1-SiRF - -CFLAGS += -DTELEMETRUM_V_0_1 -I. +PRODUCT_DEF=-DTELEMETRUM_V_0_1 diff --git a/src/telemetrum-v0.1-sky/Makefile.defs b/src/telemetrum-v0.1-sky/Makefile.defs index ff7fd1bf..df475baa 100644 --- a/src/telemetrum-v0.1-sky/Makefile.defs +++ b/src/telemetrum-v0.1-sky/Makefile.defs @@ -7,5 +7,4 @@ SRC = \ $(DBG_SRC) PRODUCT=TeleMetrum-v0.1 - -CFLAGS += -DTELEMETRUM_V_0_1 -I. +PRODUCT_DEF=-DTELEMETRUM_V_0_1 diff --git a/src/telemetrum-v0.2/Makefile.defs b/src/telemetrum-v0.2/Makefile.defs index d5b0a962..eb11e7dc 100644 --- a/src/telemetrum-v0.2/Makefile.defs +++ b/src/telemetrum-v0.2/Makefile.defs @@ -7,5 +7,4 @@ SRC = \ $(DBG_SRC) PRODUCT=TeleMetrum-v0.2 - -CFLAGS += -DTELEMETRUM_V_0_2 -I. +PRODUCT_DEF=-DTELEMETRUM_V_0_2 diff --git a/src/tidongle/Makefile.defs b/src/tidongle/Makefile.defs index 16762940..5b910b9b 100644 --- a/src/tidongle/Makefile.defs +++ b/src/tidongle/Makefile.defs @@ -5,4 +5,4 @@ SRC = \ PRODUCT=TIDongle -CFLAGS += -DTIDONGLE -I. +PRODUCT_DEF=-DTIDONGLE -- 2.30.2