Quiet make output.
authorKeith Packard <keithp@keithp.com>
Sun, 21 Feb 2010 05:05:45 +0000 (21:05 -0800)
committerKeith Packard <keithp@keithp.com>
Sun, 21 Feb 2010 05:05:45 +0000 (21:05 -0800)
This borrows ideas from the notmuch project to reduce the command line
clutter seen when compiling or linking stuff.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/Makefile.proto
src/teledongle-v0.1/Makefile.defs
src/teledongle-v0.2/Makefile.defs
src/telemetrum-v0.1-sirf/Makefile.defs
src/telemetrum-v0.1-sky/Makefile.defs
src/telemetrum-v0.2/Makefile.defs
src/tidongle/Makefile.defs

index 958b757..c98abca 100644 (file)
@@ -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:
 
index 3526b4c..06559b2 100644 (file)
@@ -5,5 +5,4 @@ SRC = \
        $(DBG_SRC)
 
 PRODUCT=TeleDongle-v0.1
-
-CFLAGS += -DTELEDONGLE_V_0_1 -I.
+PRODUCT_DEF=-DTELEDONGLE_V_0_1
index faad4dc..23694fd 100644 (file)
@@ -5,5 +5,4 @@ SRC = \
        $(DBG_SRC)
 
 PRODUCT=TeleDongle-v0.2
-
-CFLAGS += -DTELEDONGLE_V_0_2 -I.
+PRODUCT_DEF=-DTELEDONGLE_V_0_2
index 1157d67..7306683 100644 (file)
@@ -7,5 +7,4 @@ SRC = \
        $(DBG_SRC)
 
 PRODUCT=TeleMetrum-v0.1-SiRF
-
-CFLAGS += -DTELEMETRUM_V_0_1 -I.
+PRODUCT_DEF=-DTELEMETRUM_V_0_1
index ff7fd1b..df475ba 100644 (file)
@@ -7,5 +7,4 @@ SRC = \
        $(DBG_SRC)
 
 PRODUCT=TeleMetrum-v0.1
-
-CFLAGS += -DTELEMETRUM_V_0_1 -I.
+PRODUCT_DEF=-DTELEMETRUM_V_0_1
index d5b0a96..eb11e7d 100644 (file)
@@ -7,5 +7,4 @@ SRC = \
        $(DBG_SRC)
 
 PRODUCT=TeleMetrum-v0.2
-
-CFLAGS += -DTELEMETRUM_V_0_2 -I.
+PRODUCT_DEF=-DTELEMETRUM_V_0_2
index 1676294..5b910b9 100644 (file)
@@ -5,4 +5,4 @@ SRC = \
 
 PRODUCT=TIDongle
 
-CFLAGS += -DTIDONGLE -I.
+PRODUCT_DEF=-DTIDONGLE