From 857e7c75bb043a518ea0e724e635f68702ba33d0 Mon Sep 17 00:00:00 2001
From: John Hodge <tpg@ucc.asn.au>
Date: Fri, 21 Oct 2016 15:52:47 +0800
Subject: [PATCH] Makefile - Clean up makefiles

---
 src/Makefile        | 22 ++++++++++++----------
 src/client/Makefile | 28 +++++++++++++++++-----------
 src/server/Makefile | 12 +++++++-----
 3 files changed, 36 insertions(+), 26 deletions(-)

diff --git a/src/Makefile b/src/Makefile
index 7c28d52..37123a0 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,19 +1,21 @@
 
 .PHONY:	all clean install
 
+SUBMAKE := make --no-print-directory
+
 all:
-	@make -C cokebank_sqlite all
-#	@make -C cokebank_basic all
-	@make -C server all
-	@make -C client all
+	@echo "--- cokebank_sqlite: all" && $(SUBMAKE) -C cokebank_sqlite all
+#	@echo "--- cokebank_basic: all" && $(SUBMAKE) -C cokebank_basic all
+	@echo "--- server: all" && $(SUBMAKE) -C server all
+	@echo "--- client: all" && $(SUBMAKE) -C client all
 
 clean:
-	@make -C cokebank_sqlite clean
-#	@make -C cokebank_basic clean
-	@make -C server clean
-	@make -C client clean
+	@echo "--- cokebank_sqlite: clean" && $(SUBMAKE) -C cokebank_sqlite clean
+#	@echo "--- cokebank_basic: clean" && $(SUBMAKE) -C cokebank_basic clean
+	@echo "--- server: clean" && $(SUBMAKE) -C server clean
+	@echo "--- client: clean" && $(SUBMAKE) -C client clean
 
 install:
-	@make -C server install
-	@make -C client install
+	@echo "--- server: install" && $(SUBMAKE) -C server install
+	@echo "--- client: install" && $(SUBMAKE) -C client install
 
diff --git a/src/client/Makefile b/src/client/Makefile
index 5045d98..e5247f2 100644
--- a/src/client/Makefile
+++ b/src/client/Makefile
@@ -1,5 +1,6 @@
 # OpenDispense 2
 #
+V ?= @
 
 INSTALLDIR := /usr/local/opendispense2
 CFLAGS := -Wall -Werror -g -std=gnu99
@@ -10,6 +11,9 @@ BIN := ../../dispense
 OBJ := main.o protocol.o menu.o
 OBJ += doregex.o config.o
 
+OBJ := $(patsubst %,.obj/%,$(OBJ))
+
+
 DEPFILES := $(OBJ:%.o=%.d)
 
 .PHONY: all clean
@@ -24,16 +28,18 @@ install: $(BIN)
 	cp $(BIN) $(INSTALLDIR)
 
 $(BIN): $(OBJ)
-	$(CC) -o $(BIN) $(OBJ) $(LDFLAGS)
-#	chown root $(BIN)
-#	chmod u+s $(BIN)
-
-%.o: %.c
-	$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)
-	$(CC) -M -MT $@ -o $*.d $< $(CPPFLAGS)
-
-%.o: ../common/%.c
-	$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)
-	$(CC) -M -MT $@ -o $*.d $< $(CPPFLAGS)
+	@echo "[CC] -o $@"
+	$V$(CC) -o $(BIN) $(OBJ) $(LDFLAGS)
+#	chown root $(BIN) && chmod u+s $(BIN)
+
+.obj/%.o: %.c
+	@echo "[CC] -c $<"
+	@mkdir -p $(dir $@)
+	$V$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) -MMD -MF $@.d
+
+.obj/%.o: ../common/%.c
+	@echo "[CC] -c $<"
+	@mkdir -p $(dir $@)
+	$V$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) -MMD -MF $@.d
 
 -include $(DEPFILES)
diff --git a/src/server/Makefile b/src/server/Makefile
index 5034bf9..ead647d 100644
--- a/src/server/Makefile
+++ b/src/server/Makefile
@@ -1,5 +1,6 @@
 # OpenDispense 2
 #
+V ?= @
 
 INSTALLDIR := /usr/local/opendispense2
 
@@ -28,18 +29,19 @@ install: $(BIN)
 	cp $(BIN) $(INSTALLDIR)
 
 $(BIN): $(OBJ)
-	$(CC) -o $(BIN) $(OBJ) $(LINKFLAGS)
+	@echo "[CC] -o $@"
+	@$(CC) -o $(BIN) $(OBJ) $(LINKFLAGS)
 
 obj/%.o: %.c 
 	@mkdir -p $(dir $@)
-	$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)
-	@cpp $< -MM -MF $@.d
+	@echo "[CC] -c $<"
+	$V$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) -MMD -MF $@.d
 	
 
 obj/%.o: ../common/%.c 
 	@mkdir -p $(dir $@)
-	$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)
-	@cpp $< -MM -MF $@.d
+	@echo "[CC] -c $<"
+	$V$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) -MMD -MF $@.d
 
 -include $(DEPFILES)
 
-- 
GitLab