From b3f771f20931eba3d2c4d065ea821473f3edf1bd Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Fri, 13 Jun 2014 21:39:08 +0200
Subject: [PATCH] merge makefiles and subdir parts

---
 alib2/makefile     | 68 ++++++++++++++++++++++++++++++++++++++++++++--
 alib2/objMakefile  | 33 ----------------------
 alib2/testMakefile | 33 ----------------------
 3 files changed, 66 insertions(+), 68 deletions(-)
 delete mode 100644 alib2/objMakefile
 delete mode 100644 alib2/testMakefile

diff --git a/alib2/makefile b/alib2/makefile
index f7b812d12c..bf0423726d 100644
--- a/alib2/makefile
+++ b/alib2/makefile
@@ -20,7 +20,39 @@ lib/$(LIBRARY): obj/
 
 obj/makefile:
 	mkdir -p $(dir $@)
-	cp objMakefile $@
+	echo "SHELL:=/bin/bash" >> $@
+	echo "SRCDIR:=" >> $@
+	echo "DEPTH:=" >> $@
+	echo "" >> $@
+	echo "CXXFLAGS:= -std=c++11 -O2 -g -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/" >> $@
+	echo "" >> $@
+	echo "SOURCES:= \$$(shell find ../\$$(DEPTH)src/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")" >> $@
+	echo "DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)src/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)obj/\$$(SRCDIR)%.d, \$$(SOURCES))" >> $@
+	echo "OBJECTS:= \$$(patsubst %.d, %.o, \$$(DEPENDENCIES))" >> $@
+	echo "SOURCES_DIRS:= \$$(shell find ../\$$(DEPTH)src/\$$(SRCDIR) -maxdepth 1 -mindepth 1 -type d)" >> $@
+	echo "OBJECTS_DIRS:= \$$(patsubst ../\$$(DEPTH)src/\$$(SRCDIR)%, %/, \$$(SOURCES_DIRS))" >> $@
+	echo "OBJECTS_DIRS_MAKEFILES:= \$$(patsubst %, %makefile, \$$(OBJECTS_DIRS))" >> $@
+	echo "" >> $@
+	echo ".PHONY: all" >> $@
+	echo ".PRECIOUS: \$$(DEPENDECIES) \$$(OBJECTS_DIRS_MAKEFILES)" >> $@
+	echo "" >> $@
+	echo "all: \$$(OBJECTS_DIRS) \$$(OBJECTS)" >> $@
+	echo "" >> $@
+	echo "%.d:" >> $@
+	echo "	@echo \"\$$(shell sha1sum <<< \"\$$@\" | sed \"s/  -//g\") = \\$$\$$(shell \\$$\$$(CXX) -MM \\$$\$$(CXXFLAGS) \$$(patsubst ../\$$(DEPTH)obj/\$$(SRCDIR)%.d,../\$$(DEPTH)src/\$$(SRCDIR)%.cpp, \$$@) | sed \\\"s/.*://g;s/\\\\\\\\\\\\\\\\//g\\\")\" >> \$$@" >> $@
+	echo "	@echo \"\$$(patsubst %.d,%.o, \$$@): \\$$\$$(\$$(shell sha1sum <<< \"\$$@\" | sed \"s/  -//g\"))\" >> \$$@" >> $@
+	echo "	@echo \"	\\$$\$$(CXX) \\$$\$$(CXXFLAGS) \\$$\$$< -o \$$(patsubst %.d,%.o, \$$@)\" >> \$$@" >> $@
+	echo "" >> $@
+	echo "%/makefile:" >> $@
+	echo "	mkdir -p \$$(dir \$$@)" >> $@
+	echo "	cp makefile \$$@" >> $@
+	echo "" >> $@
+	echo "%/: FORCE | %/makefile" >> $@
+	echo "	\$$(MAKE) -C \$$@ SRCDIR=\$$(SRCDIR)\$$(notdir \$$(patsubst %/, %, \$$@))/ DEPTH=\$$(DEPTH)../" >> $@
+	echo "" >> $@
+	echo "FORCE:" >> $@
+	echo "" >> $@
+	echo "-include \$$(DEPENDENCIES)" >> $@
 
 obj/: FORCE | obj/makefile
 	$(MAKE) -C $@
@@ -37,7 +69,39 @@ test-bin/$(TESTBIN): test-obj/ lib/$(LIBRARY)
 
 test-obj/makefile:
 	mkdir -p $(dir $@)
-	cp testMakefile $@
+	echo "SHELL:=/bin/bash" >> $@
+	echo "SRCDIR:=" >> $@
+	echo "DEPTH:=" >> $@
+	echo "" >> $@
+	echo "CXXFLAGS:= -std=c++11 -O2 -g -c -Wall -pedantic -Wextra -I../\$$(DEPTH)src/ -I/usr/include/libxml2/" >> $@
+	echo "" >> $@
+	echo "SOURCES:= \$$(shell find ../\$$(DEPTH)test-src/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")" >> $@
+	echo "DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)test-src/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)test-obj/\$$(SRCDIR)%.d, \$$(SOURCES))" >> $@
+	echo "OBJECTS:= \$$(patsubst %.d, %.o, \$$(DEPENDENCIES))" >> $@
+	echo "SOURCES_DIRS:= \$$(shell find ../\$$(DEPTH)test-src/\$$(SRCDIR) -maxdepth 1 -mindepth 1 -type d)" >> $@
+	echo "OBJECTS_DIRS:= \$$(patsubst ../\$$(DEPTH)test-src/\$$(SRCDIR)%, %/, \$$(SOURCES_DIRS))" >> $@
+	echo "OBJECTS_DIRS_MAKEFILES:= \$$(patsubst %, %makefile, \$$(OBJECTS_DIRS))" >> $@
+	echo "" >> $@
+	echo ".PHONY: all" >> $@
+	echo ".PRECIOUS: \$$(DEPENDECIES) \$$(OBJECTS_DIRS_MAKEFILES)" >> $@
+	echo "" >> $@
+	echo "all: \$$(OBJECTS_DIRS) \$$(OBJECTS)" >> $@
+	echo "" >> $@
+	echo "%.d:" >> $@
+	echo "	@echo \"\$$(shell sha1sum <<< \"\$$@\" | sed \"s/  -//g\") = \\$$\$$(shell \\$$\$$(CXX) -MM \\$$\$$(CXXFLAGS) \$$(patsubst ../\$$(DEPTH)test-obj/\$$(SRCDIR)%.d,../\$$(DEPTH)test-src/\$$(SRCDIR)%.cpp, \$$@) | sed \\\"s/.*://g;s/\\\\\\\\\\\\\\\\//g\\\")\" >> \$$@" >> $@
+	echo "	@echo \"\$$(patsubst %.d,%.o, \$$@): \\$$\$$(\$$(shell sha1sum <<< \"\$$@\" | sed \"s/  -//g\"))\" >> \$$@" >> $@
+	echo "	@echo \"	\\$$\$$(CXX) \\$$\$$(CXXFLAGS) \\$$\$$< -o \$$(patsubst %.d,%.o, \$$@)\" >> \$$@" >> $@
+	echo "" >> $@
+	echo "%/makefile:" >> $@
+	echo "	mkdir -p \$$(dir \$$@)" >> $@
+	echo "	cp makefile \$$@" >> $@
+	echo "" >> $@
+	echo "%/: FORCE | %/makefile" >> $@
+	echo "	\$$(MAKE) -C \$$@ SRCDIR=\$$(SRCDIR)\$$(notdir \$$(patsubst %/, %, \$$@))/ DEPTH=\$$(DEPTH)../" >> $@
+	echo "" >> $@
+	echo "FORCE:" >> $@
+	echo "" >> $@
+	echo "-include \$$(DEPENDENCIES)" >> $@
 
 test-obj/: FORCE | test-obj/makefile
 	$(MAKE) -C $@
diff --git a/alib2/objMakefile b/alib2/objMakefile
deleted file mode 100644
index 91ec62602e..0000000000
--- a/alib2/objMakefile
+++ /dev/null
@@ -1,33 +0,0 @@
-SHELL:=/bin/bash
-SRCDIR:=
-DEPTH:=
-
-CXXFLAGS:= -std=c++11 -O2 -g -c -Wall -pedantic -Wextra -fPIC -I/usr/include/libxml2/
-
-SOURCES:= $(shell find ../$(DEPTH)src/$(SRCDIR) -maxdepth 1 -type f -name "*.cpp")
-DEPENDENCIES:= $(patsubst ../$(DEPTH)src/$(SRCDIR)%.cpp, ../$(DEPTH)obj/$(SRCDIR)%.d, $(SOURCES))
-OBJECTS:= $(patsubst %.d, %.o, $(DEPENDENCIES))
-SOURCES_DIRS:= $(shell find ../$(DEPTH)src/$(SRCDIR) -maxdepth 1 -mindepth 1 -type d)
-OBJECTS_DIRS:= $(patsubst ../$(DEPTH)src/$(SRCDIR)%, %/, $(SOURCES_DIRS))
-OBJECTS_DIRS_MAKEFILES:= $(patsubst %, %makefile, $(OBJECTS_DIRS))
-
-.PHONY: all
-.PRECIOUS: $(DEPENDECIES) $(OBJECTS_DIRS_MAKEFILES)
-
-all: $(OBJECTS_DIRS) $(OBJECTS)
-
-%.d:
-	@echo "$(shell sha1sum <<< "$@" | sed "s/  -//g") = \$$(shell \$$(CXX) -MM \$$(CXXFLAGS) $(patsubst ../$(DEPTH)obj/$(SRCDIR)%.d,../$(DEPTH)src/$(SRCDIR)%.cpp, $@) | sed \"s/.*://g;s/\\\\\\\\//g\")" >> $@
-	@echo "$(patsubst %.d,%.o, $@): \$$($(shell sha1sum <<< "$@" | sed "s/  -//g"))" >> $@
-	@echo "	\$$(CXX) \$$(CXXFLAGS) \$$< -o $(patsubst %.d,%.o, $@)" >> $@
-
-%/makefile:
-	mkdir -p $(dir $@)
-	cp makefile $@
-
-%/: FORCE | %/makefile
-	$(MAKE) -C $@ SRCDIR=$(SRCDIR)$(notdir $(patsubst %/, %, $@))/ DEPTH=$(DEPTH)../
-
-FORCE:
-
--include $(DEPENDENCIES)
diff --git a/alib2/testMakefile b/alib2/testMakefile
deleted file mode 100644
index 670c4bd889..0000000000
--- a/alib2/testMakefile
+++ /dev/null
@@ -1,33 +0,0 @@
-SHELL:=/bin/bash
-SRCDIR:=
-DEPTH:=
-
-CXXFLAGS:= -std=c++11 -Og -g -c -Wall -pedantic -Wextra -I../$(DEPTH)src/ -I/usr/include/libxml2/ 
-
-SOURCES:= $(shell find ../$(DEPTH)test-src/$(SRCDIR) -maxdepth 1 -type f -name "*.cpp")
-DEPENDENCIES:= $(patsubst ../$(DEPTH)test-src/$(SRCDIR)%.cpp, ../$(DEPTH)test-obj/$(SRCDIR)%.d, $(SOURCES))
-OBJECTS:= $(patsubst %.d, %.o, $(DEPENDENCIES))
-SOURCES_DIRS:= $(shell find ../$(DEPTH)test-src/$(SRCDIR) -maxdepth 1 -mindepth 1 -type d)
-OBJECTS_DIRS:= $(patsubst ../$(DEPTH)test-src/$(SRCDIR)%, %/, $(SOURCES_DIRS))
-OBJECTS_DIRS_MAKEFILES:= $(patsubst %, %makefile, $(OBJECTS_DIRS))
-
-.PHONY: all
-.PRECIOUS: $(DEPENDECIES) $(OBJECTS_DIRS_MAKEFILES)
-
-all: $(OBJECTS_DIRS) $(OBJECTS)
-
-%.d: $(OBJECT_DIRS)
-	@echo "$(shell sha1sum <<< "$@" | sed "s/  -//g") = \$$(shell \$$(CXX) -MM \$$(CXXFLAGS) $(patsubst ../$(DEPTH)test-obj/$(SRCDIR)%.d,../$(DEPTH)test-src/$(SRCDIR)%.cpp, $@) | sed \"s/.*://g;s/\\\\\\\\//g\")" >> $@
-	@echo "$(patsubst %.d,%.o, $@): \$$($(shell sha1sum <<< "$@" | sed "s/  -//g"))" >> $@
-	@echo "	\$$(CXX) \$$(CXXFLAGS) \$$< -o $(patsubst %.d,%.o, $@)" >> $@
-
-%/makefile:
-	mkdir -p $(dir $@)
-	cp makefile $@
-
-%/: FORCE | %/makefile
-	$(MAKE) -C $@ SRCDIR=$(SRCDIR)$(notdir $(patsubst %/, %, $@))/ DEPTH=$(DEPTH)../
-
-FORCE:
-
--include $(DEPENDENCIES)
-- 
GitLab