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