From 3a2c63129ecdeca977d9f1832ec2f7bdbdcda5ff Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Thu, 16 Jul 2009 15:15:26 +0200 Subject: Use a Linux kernel style build output printing. Example: $ make install BUILD lib CC gpio.o AR libopenstm32.a BUILD example CC blink.o LD blink INSTALL headers INSTALL lib $ make clean CLEAN blink.o CLEAN blink CLEAN gpio.o CLEAN libopenstm32.a --- Makefile | 14 +++++++++++++- example/Makefile | 11 ++++++++--- lib/Makefile | 7 ++++++- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 88bd0bf..17fd9be 100644 --- a/Makefile +++ b/Makefile @@ -35,16 +35,28 @@ endif all: build -build: +build: lib example + +lib: + @printf " BUILD lib\n" $(Q)$(MAKE) -C lib all +example: lib + @printf " BUILD example\n" + $(Q)$(MAKE) -C example all + install: build + @printf " INSTALL headers\n" $(Q)$(INSTALL) -d $(INCLUDEDIR)/libopenstm32 $(Q)$(INSTALL) -d $(LIBDIR) $(Q)$(INSTALL) -m 0644 include/libopenstm32.h $(INCLUDEDIR) $(Q)$(INSTALL) -m 0644 include/libopenstm32/*.h $(INCLUDEDIR)/libopenstm32 + @printf " INSTALL lib\n" $(Q)$(INSTALL) -m 0644 lib/*.a $(LIBDIR) clean: + $(Q)$(MAKE) -C example clean $(Q)$(MAKE) -C lib clean +.PHONY: build lib example install clean + diff --git a/example/Makefile b/example/Makefile index 28a4245..e9c4b50 100644 --- a/example/Makefile +++ b/example/Makefile @@ -37,11 +37,16 @@ endif all: $(BINARY) $(BINARY): $(OBJS) $(BINARY).ld + @printf " LD $(subst $(shell pwd)/,,$(@))\n" $(Q)$(LD) $(LDFLAGS) -o $(BINARY) $(OBJS) -lopenstm32 -$(BINARY).o: $(BINARY).c - $(Q)$(CC) $(CFLAGS) -c $(BINARY).c +%.o: %.c + @printf " CC $(subst $(shell pwd)/,,$(@))\n" + $(Q)$(CC) $(CFLAGS) -o $@ -c $< clean: - $(Q)rm -f *.o $(BINARY) + @printf " CLEAN $(subst $(shell pwd)/,,$(OBJS))\n" + $(Q)rm -f *.o + @printf " CLEAN $(BINARY)\n" + $(Q)rm -f $(BINARY) diff --git a/lib/Makefile b/lib/Makefile index d3eb2c4..8b8d568 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -38,11 +38,16 @@ endif all: $(LIBNAME).a $(LIBNAME).a: $(OBJS) + @printf " AR $(subst $(shell pwd)/,,$(@))\n" $(Q)$(AR) $(ARFLAGS) $@ $^ %.o: %.c + @printf " CC $(subst $(shell pwd)/,,$(@))\n" $(Q)$(CC) $(CFLAGS) -o $@ -c $< clean: - $(Q)rm -f *.o $(LIBNAME).a + @printf " CLEAN $(subst $(shell pwd)/,,$(OBJS))\n" + $(Q)rm -f *.o + @printf " CLEAN $(LIBNAME).a\n" + $(Q)rm -f $(LIBNAME).a -- cgit v1.2.3