From b1b1b8c45f5de76fb16248367812209fec3a1f60 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Thu, 21 May 2015 11:33:06 +0200 Subject: [PATCH] Revert "+feature compile by llvm" use CXX=clang++ This reverts commit 4453a5cd535636a440e2cf1085db27f22e4a3d46. Conflicts: acompaction2/makefile acompare2/makefile aconversions2/makefile aconvert2/makefile aderivation2/makefile adeterminize2/makefile aecho2/makefile aepsilon2/makefile agenerate2/makefile aintegral2/makefile alangop2/makefile aminimize2/makefile anormalize2/makefile arand2/makefile arename2/makefile areverse2/makefile arun2/makefile astat2/makefile astringology2/makefile atrim2/makefile tniceprint/makefile --- .gitignore | 30 +--- aarbology2/makefile | 98 +++-------- acast2/makefile | 98 +++-------- acompaction2/makefile | 98 +++-------- acompare2/makefile | 98 +++-------- aconversions2/makefile | 98 +++-------- aconvert2/makefile | 98 +++-------- aderivation2/makefile | 98 +++-------- adeterminize2/makefile | 98 +++-------- aecho2/makefile | 98 +++-------- aepsilon2/makefile | 98 +++-------- agenerate2/makefile | 98 +++-------- aintegral2/makefile | 98 +++-------- alangop2/makefile | 98 +++-------- alib2algo/makefile | 186 ++++++-------------- alib2data/makefile | 182 +++++--------------- alib2elgo/makefile | 187 ++++++-------------- alib2std/makefile | 183 +++++--------------- aminimize2/makefile | 98 +++-------- anormalize2/makefile | 98 +++-------- arand2/makefile | 98 +++-------- araw2/makefile | 98 +++-------- arename2/makefile | 98 +++-------- areverse2/makefile | 98 +++-------- arun2/makefile | 98 +++-------- astat2/makefile | 98 +++-------- astringology2/makefile | 98 +++-------- atrim2/makefile | 98 +++-------- makefile | 382 ++++++++++++----------------------------- tniceprint/makefile | 100 +++-------- 30 files changed, 871 insertions(+), 2633 deletions(-) diff --git a/.gitignore b/.gitignore index dc20a3b598..4e1c2ee140 100644 --- a/.gitignore +++ b/.gitignore @@ -33,53 +33,25 @@ bin/* bin-release/* bin-debug/* -bin-gcc-release/* -bin-gcc-debug/* -bin-llvm-release/* -bin-llvm-debug/* lib/* lib-release/* lib-debug/* -lib-gcc-release/* -lib-gcc-debug/* -lib-llvm-release/* -lib-llvm-debug/* doc/* **/bin **/bin-release **/bin-debug -**/bin-gcc-release -**/bin-gcc-debug -**/bin-llvm-release -**/bin-llvm-debug **/doc **/obj **/obj-release **/obj-debug -**/obj-gcc-release -**/obj-gcc-debug -**/obj-llvm-release -**/obj-llvm-debug **/lib **/lib-release **/lib-debug -**/lib-gcc-release -**/lib-gcc-debug -**/lib-llvm-release -**/lib-llvm-debug **/test-bin **/test-bin-release **/test-bin-debug -**/test-bin-gcc-release -**/test-bin-gcc-debug -**/test-bin-llvm-release -**/test-bin-llvm-debug **/test-obj -**/test-obV-release +**/test-obj-release **/test-obj-debug -**/test-obj-gcc-release -**/test-obj-gcc-debug -**/test-obj-llvm-release -**/test-obj-llvm-debug **/CppUnitTestResults.xml diff --git a/aarbology2/makefile b/aarbology2/makefile index 86b9297bee..52823c7b2c 100644 --- a/aarbology2/makefile +++ b/aarbology2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/acast2/makefile b/acast2/makefile index 924ac432c6..eec63ae23f 100644 --- a/acast2/makefile +++ b/acast2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/acompaction2/makefile b/acompaction2/makefile index 5e7ce1889d..315605dc16 100644 --- a/acompaction2/makefile +++ b/acompaction2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/acompare2/makefile b/acompare2/makefile index 3f198f6d3f..8fc31a2adc 100644 --- a/acompare2/makefile +++ b/acompare2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/aconversions2/makefile b/aconversions2/makefile index d0275b85bf..2ce98f605a 100644 --- a/aconversions2/makefile +++ b/aconversions2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/aconvert2/makefile b/aconvert2/makefile index c93b8d833f..ed1f3be065 100644 --- a/aconvert2/makefile +++ b/aconvert2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/aderivation2/makefile b/aderivation2/makefile index 6bfd04eceb..b87bd5aee2 100644 --- a/aderivation2/makefile +++ b/aderivation2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/adeterminize2/makefile b/adeterminize2/makefile index 82439d7f96..f149733ccb 100644 --- a/adeterminize2/makefile +++ b/adeterminize2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/aecho2/makefile b/aecho2/makefile index 3cd763c3f6..3276d52e88 100644 --- a/aecho2/makefile +++ b/aecho2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/aepsilon2/makefile b/aepsilon2/makefile index a92fcd6899..7e0647cb06 100644 --- a/aepsilon2/makefile +++ b/aepsilon2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/agenerate2/makefile b/agenerate2/makefile index ef0d0671ee..22d8da9402 100644 --- a/agenerate2/makefile +++ b/agenerate2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/aintegral2/makefile b/aintegral2/makefile index 1dfd2a7a37..6a47f8921e 100644 --- a/aintegral2/makefile +++ b/aintegral2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/alangop2/makefile b/alangop2/makefile index 92c8a3d0a1..81e29f0025 100644 --- a/alangop2/makefile +++ b/alangop2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/alib2algo/makefile b/alib2algo/makefile index 844c8863c0..4022bc7002 100644 --- a/alib2algo/makefile +++ b/alib2algo/makefile @@ -9,27 +9,21 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -rdynamic -shared -lxml2 -LLVM_LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -rdynamic -shared -lxml2 -TEST_GCC_LDFLAGS_DEBUG:= -Llib-gcc-debug -L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lcppunit -Wl,-rpath,. -TEST_LLVM_LDFLAGS_DEBUG:= -Llib-llvm-debug -L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lcppunit -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -rdynamic -shared -lxml2 +TEST_LDFLAGS_DEBUG:= -Llib-debug -L../alib2std/lib-debug -L../alib2data/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lcppunit -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -rdynamic -shared -lxml2 -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -rdynamic -shared -lxml2 -TEST_GCC_LDFLAGS_RELEASE:= -Llib-gcc-release -L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lcppunit -Wl,-rpath,. -TEST_LLVM_LDFLAGS_RELEASE:= -Llib-llvm-release -L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lcppunit -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -rdynamic -shared -lxml2 +TEST_LDFLAGS_RELEASE:= -Llib-release -L../alib2std/lib-release -L../alib2data/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lcppunit -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) -TEST_OBJECTS_GCC_DEBUG:=$(patsubst test-src/%.cpp, test-obj-gcc-debug/%.o, $(shell find test-src/ -name *cpp)) -TEST_OBJECTS_LLVM_DEBUG:=$(patsubst test-src/%.cpp, test-obj-llvm-debug/%.o, $(shell find test-src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) +TEST_OBJECTS_DEBUG:=$(patsubst test-src/%.cpp, test-obj-debug/%.o, $(shell find test-src/ -name *cpp)) + +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) +TEST_OBJECTS_RELEASE:=$(patsubst test-src/%.cpp, test-obj-release/%.o, $(shell find test-src/ -name *cpp)) + +.PHONY: all build-debug build-tests-debug clean-debug doc -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) -TEST_OBJECTS_GCC_RELEASE:=$(patsubst test-src/%.cpp, test-obj-gcc-release/%.o, $(shell find test-src/ -name *cpp)) -TEST_OBJECTS_LLVM_RELEASE:=$(patsubst test-src/%.cpp, test-obj-llvm-release/%.o, $(shell find test-src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release build-tests-gcc-debug build-tests-llvm-debug build-tests-gcc-release build-tests-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc all: @echo "What to do master?" @@ -38,16 +32,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -100,16 +84,6 @@ test-obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst test-obj-%-release/,%,$(patsubst test-obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -121,7 +95,7 @@ test-obj%/makefile: makefile $${NEW_LINE}\ export NEW_LINE$${NEW_LINE}\ $${NEW_LINE}\ - CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2std/src/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\ + CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../\$$(DEPTH)src/ -I../../\$$(DEPTH)alib2std/src/ -I../../\$$(DEPTH)alib2data/src/$${NEW_LINE}\ $${NEW_LINE}\ SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\ DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\ @@ -158,153 +132,89 @@ test-obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: unit-test-gcc-debug - -llvm-debug: unit-test-llvm-debug - -gcc-release: unit-test-gcc-release +debug: unit-test-debug -llvm-release: unit-test-llvm-release +release: unit-test-release -gcc-clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -llvm-clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -gcc-test: unit-test-gcc-debug unit-test-gcc-release +test: unit-test-debug unit-test-release -llvm-test: unit-test-llvm-debug unit-test-llvm-release - -lib-gcc-debug/$(LIBRARY): $(OBJECTS_GCC_DEBUG) obj-gcc-debug/ +lib-debug/$(LIBRARY): $(OBJECTS_DEBUG) obj-debug/ mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -lib-llvm-debug/$(LIBRARY): $(OBJECTS_LLVM_DEBUG) obj-llvm-debug/ +lib-release/$(LIBRARY): $(OBJECTS_RELEASE) obj-release/ mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -lib-gcc-release/$(LIBRARY): $(OBJECTS_GCC_RELEASE) obj-gcc-release/ - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -lib-llvm-release/$(LIBRARY): $(OBJECTS_LLVM_RELEASE) obj-llvm-release/ - mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -obj-llvm-debug/: FORCE obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -obj-gcc-release/: FORCE obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" -obj-llvm-release/: FORCE obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ +$(OBJECTS_DEBUG): obj-debug/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +$(OBJECTS_RELEASE): obj-release/ -build-gcc-debug: lib-gcc-debug/$(LIBRARY) +build-debug: lib-debug/$(LIBRARY) -build-llvm-debug: lib-llvm-debug/$(LIBRARY) +build-release: lib-release/$(LIBRARY) -build-gcc-release: lib-gcc-release/$(LIBRARY) -build-llvm-release: lib-llvm-release/$(LIBRARY) - - -test-bin-gcc-debug/$(TESTBIN): lib-gcc-debug/$(LIBRARY) $(TEST_OBJECTS_GCC_DEBUG) test-obj-gcc-debug/ - mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_GCC_DEBUG) -o $@ $(TEST_GCC_LDFLAGS_DEBUG) - -test-bin-llvm-debug/$(TESTBIN): lib-llvm-debug/$(LIBRARY) $(TEST_OBJECTS_LLVM_DEBUG) test-obj-llvm-debug/ +test-bin-debug/$(TESTBIN): lib-debug/$(LIBRARY) $(TEST_OBJECTS_DEBUG) test-obj-debug/ mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_LLVM_DEBUG) -o $@ $(TEST_LLVM_LDFLAGS_DEBUG) + $(CXX) $(TEST_OBJECTS_DEBUG) -o $@ $(TEST_LDFLAGS_DEBUG) -test-bin-gcc-release/$(TESTBIN): lib-gcc-release/$(LIBRARY) $(TEST_OBJECTS_GCC_RELEASE) test-obj-gcc-release/ +test-bin-release/$(TESTBIN): lib-release/$(LIBRARY) $(TEST_OBJECTS_RELEASE) test-obj-release/ mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_GCC_RELEASE) -o $@ $(TEST_GCC_LDFLAGS_RELEASE) - -test-bin-llvm-release/$(TESTBIN): lib-llvm-release/$(LIBRARY) $(TEST_OBJECTS_LLVM_RELEASE) test-obj-llvm-release/ - mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_LLVM_RELEASE) -o $@ $(TEST_LLVM_LDFLAGS_RELEASE) - - - -test-obj-gcc-debug/: FORCE test-obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-gcc-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -test-obj-llvm-debug/: FORCE test-obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-llvm-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -test-obj-gcc-release/: FORCE test-obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-gcc-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" - -test-obj-llvm-release/: FORCE test-obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-llvm-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" - - -$(TEST_OBJECTS_GCC_DEBUG): test-obj-gcc-debug/ - -$(TEST_OBJECTS_LLVM_DEBUG): test-obj-llvm-debug/ + $(CXX) $(TEST_OBJECTS_RELEASE) -o $@ $(TEST_LDFLAGS_RELEASE) -$(TEST_OBJECTS_GCC_RELEASE): test-obj-gcc-release/ -$(TEST_OBJECTS_LLVM_RELEASE): test-obj-llvm-release/ +test-obj-debug/: FORCE | test-obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" +test-obj-release/: FORCE | test-obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" -build-tests-gcc-debug: test-bin-gcc-debug/$(TESTBIN) -build-tests-llvm-debug: test-bin-llvm-debug/$(TESTBIN) -build-tests-gcc-release: test-bin-gcc-release/$(TESTBIN) +$(TEST_OBJECTS_DEBUG): test-obj-debug/ -build-tests-llvm-release: test-bin-llvm-release/$(TESTBIN) +$(TEST_OBJECTS_RELEASE): test-obj-release/ -unit-test-gcc-debug: build-tests-gcc-debug - LD_LIBRARY_PATH="../alib2std/lib-gcc-debug;../alib2data/lib-gcc-debug;lib-gcc-debug" test-bin-gcc-debug/$(TESTBIN) +build-tests-debug: test-bin-debug/$(TESTBIN) -unit-test-llvm-debug: build-tests-llvm-debug - LD_LIBRARY_PATH="../alib2std/lib-llvm-debug;../alib2data/lib-llvm-debug;lib-llvm-debug" test-bin-llvm-debug/$(TESTBIN) +build-tests-release: test-bin-release/$(TESTBIN) -unit-test-gcc-release: build-tests-gcc-release - LD_LIBRARY_PATH="../alib2std/lib-gcc-release;../alib2data/lib-gcc-release;lib-gcc-release" test-bin-gcc-release/$(TESTBIN) -unit-test-llvm-release: build-tests-llvm-release - LD_LIBRARY_PATH="../alib2std/lib-llvm-release;../alib2data/lib-llvm-release;lib-llvm-release" test-bin-llvm-release/$(TESTBIN) +unit-test-debug: build-tests-debug + LD_LIBRARY_PATH="../alib2std/lib-debug;../alib2data/lib-debug;lib-debug" test-bin-debug/$(TESTBIN) +unit-test-release: build-tests-release + LD_LIBRARY_PATH="../alib2std/lib-release;../alib2data/lib-release;lib-release" test-bin-release/$(TESTBIN) -clean-gcc-debug: - $(RM) -r *.o *.d lib-gcc-debug obj-gcc-debug test-bin-gcc-debug test-obj-gcc-debug CppUnitTestResults.xml -clean-llvm-debug: - $(RM) -r *.o *.d lib-llvm-debug obj-llvm-debug test-bin-llvm-debug test-obj-llvm-debug CppUnitTestResults.xml -clean-gcc-release: - $(RM) -r *.o *.d lib-gcc-release obj-gcc-release test-bin-gcc-release test-obj-gcc-release CppUnitTestResults.xml +clean-debug: + $(RM) -r *.o *.d lib-debug obj-debug test-bin-debug test-obj-debug CppUnitTestResults.xml -clean-llvm-release: - $(RM) -r *.o *.d lib-llvm-release obj-llvm-release test-bin-llvm-release test-obj-llvm-release CppUnitTestResults.xml +clean-release: + $(RM) -r *.o *.d lib-release obj-release test-bin-release test-obj-release CppUnitTestResults.xml diff --git a/alib2data/makefile b/alib2data/makefile index d2b0ee7fbd..840b6ee040 100644 --- a/alib2data/makefile +++ b/alib2data/makefile @@ -9,27 +9,19 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -L../alib2std/lib-gcc-debug -rdynamic -shared -lxml2 -LLVM_LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -L../alib2std/lib-llvm-debug -rdynamic -shared -lxml2 -TEST_GCC_LDFLAGS_DEBUG:= -Llib-gcc-debug -L../alib2std/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lcppunit -Wl,-rpath,. -TEST_LLVM_LDFLAGS_DEBUG:= -Llib-llvm-debug -L../alib2std/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lcppunit -Wl,-rpath,. +LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -L../alib2std/lib-debug -rdynamic -shared -lxml2 +TEST_LDFLAGS_DEBUG:= -Llib-debug -L../alib2std/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lcppunit -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -rdynamic -shared -lxml2 -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -rdynamic -shared -lxml2 -TEST_GCC_LDFLAGS_RELEASE:= -Llib-gcc-release -L../alib2std/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lcppunit -Wl,-rpath,. -TEST_LLVM_LDFLAGS_RELEASE:= -Llib-llvm-release -L../alib2std/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lcppunit -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -rdynamic -shared -lxml2 +TEST_LDFLAGS_RELEASE:= -Llib-release -L../alib2std/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lcppunit -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) -TEST_OBJECTS_GCC_DEBUG:=$(patsubst test-src/%.cpp, test-obj-gcc-debug/%.o, $(shell find test-src/ -name *cpp)) -TEST_OBJECTS_LLVM_DEBUG:=$(patsubst test-src/%.cpp, test-obj-llvm-debug/%.o, $(shell find test-src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) +TEST_OBJECTS_DEBUG:=$(patsubst test-src/%.cpp, test-obj-debug/%.o, $(shell find test-src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) -TEST_OBJECTS_GCC_RELEASE:=$(patsubst test-src/%.cpp, test-obj-gcc-release/%.o, $(shell find test-src/ -name *cpp)) -TEST_OBJECTS_LLVM_RELEASE:=$(patsubst test-src/%.cpp, test-obj-llvm-release/%.o, $(shell find test-src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) +TEST_OBJECTS_RELEASE:=$(patsubst test-src/%.cpp, test-obj-release/%.o, $(shell find test-src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release build-tests-gcc-debug build-tests-llvm-debug build-tests-gcc-release build-tests-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug build-tests-debug clean-debug doc all: @echo "What to do master?" @@ -38,16 +30,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -100,16 +82,6 @@ test-obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst test-obj-%-release/,%,$(patsubst test-obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -158,154 +130,90 @@ test-obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: unit-test-gcc-debug +debug: unit-test-debug -llvm-debug: unit-test-llvm-debug +release: unit-test-release -gcc-release: unit-test-gcc-release - -llvm-release: unit-test-llvm-release - -gcc-clean: clean-gcc-debug clean-gcc-release - $(RM) -r doc - -llvm-clean: clean-llvm-debug clean-llvm-release +clean: clean-debug clean-release $(RM) -r doc -gcc-test: unit-test-gcc-debug unit-test-gcc-release - -llvm-test: unit-test-llvm-debug unit-test-llvm-release - - +test: unit-test-debug unit-test-release -lib-gcc-debug/$(LIBRARY): $(OBJECTS_GCC_DEBUG) obj-gcc-debug/ - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) -lib-llvm-debug/$(LIBRARY): $(OBJECTS_LLVM_DEBUG) obj-llvm-debug/ - mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) -lib-gcc-release/$(LIBRARY): $(OBJECTS_GCC_RELEASE) obj-gcc-release/ +lib-debug/$(LIBRARY): $(OBJECTS_DEBUG) obj-debug/ mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -lib-llvm-release/$(LIBRARY): $(OBJECTS_LLVM_RELEASE) obj-llvm-release/ +lib-release/$(LIBRARY): $(OBJECTS_RELEASE) obj-release/ mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -obj-llvm-debug/: FORCE obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -obj-gcc-release/: FORCE obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -obj-llvm-release/: FORCE obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" +obj-debug/: FORCE obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ +obj-release/: FORCE obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +$(OBJECTS_DEBUG): obj-debug/ +$(OBJECTS_RELEASE): obj-release/ -build-gcc-debug: lib-gcc-debug/$(LIBRARY) -build-llvm-debug: lib-llvm-debug/$(LIBRARY) +build-debug: lib-debug/$(LIBRARY) -build-gcc-release: lib-gcc-release/$(LIBRARY) +build-release: lib-release/$(LIBRARY) -build-llvm-release: lib-llvm-release/$(LIBRARY) - -test-bin-gcc-debug/$(TESTBIN): lib-gcc-debug/$(LIBRARY) $(TEST_OBJECTS_GCC_DEBUG) test-obj-gcc-debug/ - mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_GCC_DEBUG) -o $@ $(TEST_GCC_LDFLAGS_DEBUG) - -test-bin-llvm-debug/$(TESTBIN): lib-llvm-debug/$(LIBRARY) $(TEST_OBJECTS_LLVM_DEBUG) test-obj-llvm-debug/ +test-bin-debug/$(TESTBIN): lib-debug/$(LIBRARY) $(TEST_OBJECTS_DEBUG) test-obj-debug/ mkdir -p $(dir $@) - clang++ $(TEST_OBJECTS_LLVM_DEBUG) -o $@ $(TEST_LLVM_LDFLAGS_DEBUG) + $(CXX) $(TEST_OBJECTS_DEBUG) -o $@ $(TEST_LDFLAGS_DEBUG) -test-bin-gcc-release/$(TESTBIN): lib-gcc-release/$(LIBRARY) $(TEST_OBJECTS_GCC_RELEASE) test-obj-gcc-release/ +test-bin-release/$(TESTBIN): lib-release/$(LIBRARY) $(TEST_OBJECTS_RELEASE) test-obj-release/ mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_GCC_RELEASE) -o $@ $(TEST_GCC_LDFLAGS_RELEASE) - -test-bin-llvm-release/$(TESTBIN): lib-llvm-release/$(LIBRARY) $(TEST_OBJECTS_LLVM_RELEASE) test-obj-llvm-release/ - mkdir -p $(dir $@) - clang++ $(TEST_OBJECTS_LLVM_RELEASE) -o $@ $(TEST_LLVM_LDFLAGS_RELEASE) - - - -test-obj-gcc-debug/: FORCE test-obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-gcc-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -test-obj-llvm-debug/: FORCE test-obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-llvm-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -test-obj-gcc-release/: FORCE test-obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-gcc-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" - -test-obj-llvm-release/: FORCE test-obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-llvm-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" - - - -$(TEST_OBJECTS_GCC_DEBUG): test-obj-gcc-debug/ + $(CXX) $(TEST_OBJECTS_RELEASE) -o $@ $(TEST_LDFLAGS_RELEASE) -$(TEST_OBJECTS_LLVM_DEBUG): test-obj-llvm-debug/ -$(TEST_OBJECTS_GCC_RELEASE): test-obj-gcc-release/ -$(TEST_OBJECTS_LLVM_RELEASE): test-obj-llvm-release/ +test-obj-debug/: FORCE test-obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" +test-obj-release/: FORCE test-obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" -build-tests-gcc-debug: test-bin-gcc-debug/$(TESTBIN) -build-tests-llvm-debug: test-bin-llvm-debug/$(TESTBIN) +$(TEST_OBJECTS_DEBUG): test-obj-debug/ -build-tests-gcc-release: test-bin-gcc-release/$(TESTBIN) +$(TEST_OBJECTS_RELEASE): test-obj-release/ -build-tests-llvm-release: test-bin-llvm-release/$(TESTBIN) +build-tests-debug: test-bin-debug/$(TESTBIN) -unit-test-gcc-debug: build-tests-gcc-debug - LD_LIBRARY_PATH="../alib2std/lib-gcc-debug;lib-gcc-debug" test-bin-gcc-debug/$(TESTBIN) +build-tests-release: test-bin-release/$(TESTBIN) -unit-test-llvm-debug: build-tests-llvm-debug - LD_LIBRARY_PATH="../alib2std/lib-llvm-debug;lib-llvm-debug" test-bin-llvm-debug/$(TESTBIN) -unit-test-gcc-release: build-tests-gcc-release - LD_LIBRARY_PATH="../alib2std/lib-gcc-release;lib-gcc-release" test-bin-gcc-release/$(TESTBIN) -unit-test-llvm-release: build-tests-llvm-release - LD_LIBRARY_PATH="../alib2std/lib-llvm-release;lib-llvm-release" test-bin-llvm-release/$(TESTBIN) +unit-test-debug: build-tests-debug + LD_LIBRARY_PATH="../alib2std/lib-debug;lib-debug" test-bin-debug/$(TESTBIN) +unit-test-release: build-tests-release + LD_LIBRARY_PATH="../alib2std/lib-release;lib-release" test-bin-release/$(TESTBIN) -clean-gcc-debug: - $(RM) -r *.o *.d lib-gcc-debug obj-gcc-debug test-bin-gcc-debug test-obj-gcc-debug CppUnitTestResults.xml -clean-llvm-debug: - $(RM) -r *.o *.d lib-llvm-debug obj-llvm-debug test-bin-llvm-debug test-obj-llvm-debug CppUnitTestResults.xml +clean-debug: + $(RM) -r *.o *.d lib-debug obj-debug test-bin-debug test-obj-debug CppUnitTestResults.xml -clean-gcc-release: - $(RM) -r *.o *.d lib-gcc-release obj-gcc-release test-bin-gcc-release test-obj-gcc-release CppUnitTestResults.xml +clean-release: + $(RM) -r *.o *.d lib-release obj-release test-bin-release test-obj-release CppUnitTestResults.xml -clean-llvm-release: - $(RM) -r *.o *.d lib-llvm-release obj-llvm-release test-bin-llvm-release test-obj-llvm-release CppUnitTestResults.xml FORCE: diff --git a/alib2elgo/makefile b/alib2elgo/makefile index ab6087cd90..ea4fe4686d 100644 --- a/alib2elgo/makefile +++ b/alib2elgo/makefile @@ -9,27 +9,21 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -rdynamic -shared -lxml2 -LLVM_LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -rdynamic -shared -lxml2 -TEST_GCC_LDFLAGS_DEBUG:= -Llib-gcc-debug -L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -lcppunit -Wl,-rpath,. -TEST_LLVM_LDFLAGS_DEBUG:= -Llib-llvm-debug -L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -lcppunit -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -rdynamic -shared -lxml2 +TEST_LDFLAGS_DEBUG:= -Llib-debug -L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -lcppunit -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -rdynamic -shared -lxml2 -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -rdynamic -shared -lxml2 -TEST_GCC_LDFLAGS_RELEASE:= -Llib-gcc-release -L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -lcppunit -Wl,-rpath,. -TEST_LLVM_LDFLAGS_RELEASE:= -Llib-llvm-release -L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -lcppunit -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-debug -rdynamic -shared -lxml2 +TEST_LDFLAGS_RELEASE:= -Llib-release -L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -lcppunit -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) -TEST_OBJECTS_GCC_DEBUG:=$(patsubst test-src/%.cpp, test-obj-gcc-debug/%.o, $(shell find test-src/ -name *cpp)) -TEST_OBJECTS_LLVM_DEBUG:=$(patsubst test-src/%.cpp, test-obj-llvm-debug/%.o, $(shell find test-src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) +TEST_OBJECTS_DEBUG:=$(patsubst test-src/%.cpp, test-obj-debug/%.o, $(shell find test-src/ -name *cpp)) + +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) +TEST_OBJECTS_RELEASE:=$(patsubst test-src/%.cpp, test-obj-release/%.o, $(shell find test-src/ -name *cpp)) + +.PHONY: all build-debug build-tests-debug clean-debug doc -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) -TEST_OBJECTS_GCC_RELEASE:=$(patsubst test-src/%.cpp, test-obj-gcc-release/%.o, $(shell find test-src/ -name *cpp)) -TEST_OBJECTS_LLVM_RELEASE:=$(patsubst test-src/%.cpp, test-obj-llvm-release/%.o, $(shell find test-src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release build-tests-gcc-debug build-tests-llvm-debug build-tests-gcc-release build-tests-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc all: @echo "What to do master?" @@ -38,16 +32,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -100,16 +84,6 @@ test-obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst test-obj-%-release/,%,$(patsubst test-obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -121,7 +95,7 @@ test-obj%/makefile: makefile $${NEW_LINE}\ export NEW_LINE$${NEW_LINE}\ $${NEW_LINE}\ - CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../../\$$(DEPTH)alib2std/src/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/ -I../../\$$(DEPTH)alib2elgo/src/$${NEW_LINE}\ + CXXFLAGS:= -std=c++11 \$$(CXX_OTHER_FLAGS) -c -Wall -pedantic -Wextra -Werror -fPIC -I/usr/include/libxml2/ -I../\$$(DEPTH)src/ -I../../\$$(DEPTH)alib2std/src/ -I../../\$$(DEPTH)alib2data/src/ -I../../\$$(DEPTH)alib2algo/src/$${NEW_LINE}\ $${NEW_LINE}\ SOURCES:= \$$(shell find ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\ DEPENDENCIES:= \$$(patsubst ../\$$(DEPTH)\$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, ../\$$(DEPTH)\$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\ @@ -158,154 +132,89 @@ test-obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: unit-test-gcc-debug - -llvm-debug: unit-test-llvm-debug - -gcc-release: unit-test-gcc-release +debug: unit-test-debug -llvm-release: unit-test-llvm-release +release: unit-test-release -gcc-clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -llvm-clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -gcc-test: unit-test-gcc-debug unit-test-gcc-release - -llvm-test: unit-test-llvm-debug unit-test-llvm-release - +test: unit-test-debug unit-test-release -lib-gcc-debug/$(LIBRARY): $(OBJECTS_GCC_DEBUG) obj-gcc-debug/ - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) - -lib-llvm-debug/$(LIBRARY): $(OBJECTS_LLVM_DEBUG) obj-llvm-debug/ - mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) -lib-gcc-release/$(LIBRARY): $(OBJECTS_GCC_RELEASE) obj-gcc-release/ +lib-debug/$(LIBRARY): $(OBJECTS_DEBUG) obj-debug/ mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -lib-llvm-release/$(LIBRARY): $(OBJECTS_LLVM_RELEASE) obj-llvm-release/ +lib-release/$(LIBRARY): $(OBJECTS_RELEASE) obj-release/ mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -obj-llvm-debug/: FORCE obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -obj-gcc-release/: FORCE obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -obj-llvm-release/: FORCE obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +$(OBJECTS_DEBUG): obj-debug/ +$(OBJECTS_RELEASE): obj-release/ -build-gcc-debug: lib-gcc-debug/$(LIBRARY) -build-llvm-debug: lib-llvm-debug/$(LIBRARY) +build-debug: lib-debug/$(LIBRARY) -build-gcc-release: lib-gcc-release/$(LIBRARY) +build-release: lib-release/$(LIBRARY) -build-llvm-release: lib-llvm-release/$(LIBRARY) - -test-bin-gcc-debug/$(TESTBIN): lib-gcc-debug/$(LIBRARY) $(TEST_OBJECTS_GCC_DEBUG) test-obj-gcc-debug/ - mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_GCC_DEBUG) -o $@ $(TEST_GCC_LDFLAGS_DEBUG) - -test-bin-llvm-debug/$(TESTBIN): lib-llvm-debug/$(LIBRARY) $(TEST_OBJECTS_LLVM_DEBUG) test-obj-llvm-debug/ - mkdir -p $(dir $@) - clang++ $(TEST_OBJECTS_LLVM_DEBUG) -o $@ $(TEST_LLVM_LDFLAGS_DEBUG) - -test-bin-gcc-release/$(TESTBIN): lib-gcc-release/$(LIBRARY) $(TEST_OBJECTS_GCC_RELEASE) test-obj-gcc-release/ +test-bin-debug/$(TESTBIN): lib-debug/$(LIBRARY) $(TEST_OBJECTS_DEBUG) test-obj-debug/ mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_GCC_RELEASE) -o $@ $(TEST_GCC_LDFLAGS_RELEASE) + $(CXX) $(TEST_OBJECTS_DEBUG) -o $@ $(TEST_LDFLAGS_DEBUG) -test-bin-llvm-release/$(TESTBIN): lib-llvm-release/$(LIBRARY) $(TEST_OBJECTS_LLVM_RELEASE) test-obj-llvm-release/ +test-bin-release/$(TESTBIN): lib-release/$(LIBRARY) $(TEST_OBJECTS_RELEASE) test-obj-release/ mkdir -p $(dir $@) - clang++ $(TEST_OBJECTS_LLVM_RELEASE) -o $@ $(TEST_LLVM_LDFLAGS_RELEASE) - - - -test-obj-gcc-debug/: FORCE test-obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-gcc-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -test-obj-llvm-debug/: FORCE test-obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-llvm-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -test-obj-gcc-release/: FORCE test-obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-gcc-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" - -test-obj-llvm-release/: FORCE test-obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-llvm-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" - - - -$(TEST_OBJECTS_GCC_DEBUG): test-obj-gcc-debug/ - -$(TEST_OBJECTS_LLVM_DEBUG): test-obj-llvm-debug/ + $(CXX) $(TEST_OBJECTS_RELEASE) -o $@ $(TEST_LDFLAGS_RELEASE) -$(TEST_OBJECTS_GCC_RELEASE): test-obj-gcc-release/ -$(TEST_OBJECTS_LLVM_RELEASE): test-obj-llvm-release/ +test-obj-debug/: FORCE | test-obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" +test-obj-release/: FORCE | test-obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" -build-tests-gcc-debug: test-bin-gcc-debug/$(TESTBIN) -build-tests-llvm-debug: test-bin-llvm-debug/$(TESTBIN) -build-tests-gcc-release: test-bin-gcc-release/$(TESTBIN) +$(TEST_OBJECTS_DEBUG): test-obj-debug/ -build-tests-llvm-release: test-bin-llvm-release/$(TESTBIN) +$(TEST_OBJECTS_RELEASE): test-obj-release/ -unit-test-gcc-debug: build-tests-gcc-debug - LD_LIBRARY_PATH="../alib2std/lib-gcc-debug;../alib2data/lib-gcc-debug;../alib2algo/lib-gcc-debug;lib-gcc-debug" test-bin-gcc-debug/$(TESTBIN) +build-tests-debug: test-bin-debug/$(TESTBIN) -unit-test-llvm-debug: build-tests-llvm-debug - LD_LIBRARY_PATH="../alib2std/lib-llvm-debug;../alib2data/lib-llvm-debug;../alib2algo/lib-llvm-debug;lib-llvm-debug" test-bin-llvm-debug/$(TESTBIN) +build-tests-release: test-bin-release/$(TESTBIN) -unit-test-gcc-release: build-tests-gcc-release - LD_LIBRARY_PATH="../alib2std/lib-gcc-release;../alib2data/lib-gcc-release;../alib2algo/lib-gcc-release;lib-gcc-release" test-bin-gcc-release/$(TESTBIN) -unit-test-llvm-release: build-tests-llvm-release - LD_LIBRARY_PATH="../alib2std/lib-llvm-release;../alib2data/lib-llvm-release;../alib2algo/lib-llvm-release;lib-llvm-release" test-bin-llvm-release/$(TESTBIN) +unit-test-debug: build-tests-debug + LD_LIBRARY_PATH="../alib2std/lib-debug;../alib2data/lib-debug;../alib2algo/lib-debug;lib-debug" test-bin-debug/$(TESTBIN) +unit-test-release: build-tests-release + LD_LIBRARY_PATH="../alib2std/lib-release;../alib2data/lib-release;../alib2algo/lib-release;lib-release" test-bin-release/$(TESTBIN) -clean-gcc-debug: - $(RM) -r *.o *.d lib-gcc-debug obj-gcc-debug test-bin-gcc-debug test-obj-gcc-debug CppUnitTestResults.xml -clean-llvm-debug: - $(RM) -r *.o *.d lib-llvm-debug obj-llvm-debug test-bin-llvm-debug test-obj-llvm-debug CppUnitTestResults.xml -clean-gcc-release: - $(RM) -r *.o *.d lib-gcc-release obj-gcc-release test-bin-gcc-release test-obj-gcc-release CppUnitTestResults.xml +clean-debug: + $(RM) -r *.o *.d lib-debug obj-debug test-bin-debug test-obj-debug CppUnitTestResults.xml -clean-llvm-release: - $(RM) -r *.o *.d lib-llvm-release obj-llvm-release test-bin-llvm-release test-obj-llvm-release CppUnitTestResults.xml +clean-release: + $(RM) -r *.o *.d lib-release obj-release test-bin-release test-obj-release CppUnitTestResults.xml diff --git a/alib2std/makefile b/alib2std/makefile index f8dce3f3c6..7e3d50ef41 100644 --- a/alib2std/makefile +++ b/alib2std/makefile @@ -9,27 +9,19 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -rdynamic -shared -lxml2 -LLVM_LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -rdynamic -shared -lxml2 -TEST_GCC_LDFLAGS_DEBUG:= -Llib-gcc-debug -rdynamic -lxml2 -lalib2std -lcppunit -Wl,-rpath,. -TEST_LLVM_LDFLAGS_DEBUG:= -Llib-gcc-debug -rdynamic -lxml2 -lalib2std -lcppunit -Wl,-rpath,. +LDFLAGS_DEBUG:=-lbfd -liberty -lz -ldl -rdynamic -shared -lxml2 +TEST_LDFLAGS_DEBUG:= -Llib-debug -rdynamic -lxml2 -lalib2std -lcppunit -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-rdynamic -shared -lxml2 -LLVM_LDFLAGS_RELEASE:=-rdynamic -shared -lxml2 -TEST_GCC_LDFLAGS_RELEASE:= -Llib-gcc-release -rdynamic -lxml2 -lalib2std -lcppunit -Wl,-rpath,. -TEST_LLVM_LDFLAGS_RELEASE:= -Llib-gcc-release -rdynamic -lxml2 -lalib2std -lcppunit -Wl,-rpath,. +LDFLAGS_RELEASE:=-rdynamic -shared -lxml2 +TEST_LDFLAGS_RELEASE:= -Llib-release -rdynamic -lxml2 -lalib2std -lcppunit -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) -TEST_OBJECTS_GCC_DEBUG:=$(patsubst test-src/%.cpp, test-obj-gcc-debug/%.o, $(shell find test-src/ -name *cpp)) -TEST_OBJECTS_LLVM_DEBUG:=$(patsubst test-src/%.cpp, test-obj-llvm-debug/%.o, $(shell find test-src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) +TEST_OBJECTS_DEBUG:=$(patsubst test-src/%.cpp, test-obj-debug/%.o, $(shell find test-src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) -TEST_OBJECTS_GCC_RELEASE:=$(patsubst test-src/%.cpp, test-obj-gcc-release/%.o, $(shell find test-src/ -name *cpp)) -TEST_OBJECTS_LLVM_RELEASE:=$(patsubst test-src/%.cpp, test-obj-llvm-release/%.o, $(shell find test-src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(filter-out $(wildcard src/debug/*), $(shell find src/ -name *cpp))) +TEST_OBJECTS_RELEASE:=$(patsubst test-src/%.cpp, test-obj-release/%.o, $(shell find test-src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release build-tests-gcc-debug build-tests-llvm-debug build-tests-gcc-release build-tests-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug build-tests-debug clean-debug doc all: @echo "What to do master?" @@ -38,16 +30,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -100,16 +82,6 @@ test-obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst test-obj-%-release/,%,$(patsubst test-obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -158,154 +130,89 @@ test-obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: unit-test-gcc-debug +debug: unit-test-debug -llvm-debug: unit-test-llvm-debug +release: unit-test-release -gcc-release: unit-test-gcc-release - -llvm-release: unit-test-llvm-release - -gcc-clean: clean-gcc-debug clean-gcc-release - $(RM) -r doc - -llvm-clean: clean-llvm-debug clean-llvm-release +clean: clean-debug clean-release $(RM) -r doc -gcc-test: unit-test-gcc-debug unit-test-gcc-release +test: unit-test-debug unit-test-release -llvm-test: unit-test-llvm-debug unit-test-llvm-release - -lib-gcc-debug/$(LIBRARY): $(OBJECTS_GCC_DEBUG) obj-gcc-debug/ - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) - -lib-llvm-debug/$(LIBRARY): $(OBJECTS_LLVM_DEBUG) obj-llvm-debug/ +lib-debug/$(LIBRARY): $(OBJECTS_DEBUG) obj-debug/ mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -lib-gcc-release/$(LIBRARY): $(OBJECTS_GCC_RELEASE) obj-gcc-release/ +lib-release/$(LIBRARY): $(OBJECTS_RELEASE) obj-release/ mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -lib-llvm-release/$(LIBRARY): $(OBJECTS_LLVM_RELEASE) obj-llvm-release/ - mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -obj-llvm-debug/: FORCE obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -obj-gcc-release/: FORCE obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" - -obj-llvm-release/: FORCE obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ +obj-debug/: FORCE obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ +obj-release/: FORCE obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3 -DRELEASE" -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-debug: lib-gcc-debug/$(LIBRARY) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-debug: lib-llvm-debug/$(LIBRARY) -build-gcc-release: lib-gcc-release/$(LIBRARY) +build-debug: lib-debug/$(LIBRARY) -build-llvm-release: lib-llvm-release/$(LIBRARY) +build-release: lib-release/$(LIBRARY) -test-bin-gcc-debug/$(TESTBIN): lib-gcc-debug/$(LIBRARY) $(TEST_OBJECTS_GCC_DEBUG) test-obj-gcc-debug/ +test-bin-debug/$(TESTBIN): lib-debug/$(LIBRARY) $(TEST_OBJECTS_DEBUG) test-obj-debug/ mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_GCC_DEBUG) -o $@ $(TEST_GCC_LDFLAGS_DEBUG) + $(CXX) $(TEST_OBJECTS_DEBUG) -o $@ $(TEST_LDFLAGS_DEBUG) -test-bin-llvm-debug/$(TESTBIN): lib-llvm-debug/$(LIBRARY) $(TEST_OBJECTS_LLVM_DEBUG) test-obj-llvm-debug/ +test-bin-release/$(TESTBIN): lib-release/$(LIBRARY) $(TEST_OBJECTS_RELEASE) test-obj-release/ mkdir -p $(dir $@) - clang++ $(TEST_OBJECTS_LLVM_DEBUG) -o $@ $(TEST_LLVM_LDFLAGS_DEBUG) - -test-bin-gcc-release/$(TESTBIN): lib-gcc-release/$(LIBRARY) $(TEST_OBJECTS_GCC_RELEASE) test-obj-gcc-release/ - mkdir -p $(dir $@) - g++ $(TEST_OBJECTS_GCC_RELEASE) -o $@ $(TEST_GCC_LDFLAGS_RELEASE) - -test-bin-llvm-release/$(TESTBIN): lib-llvm-release/$(LIBRARY) $(TEST_OBJECTS_LLVM_RELEASE) test-obj-llvm-release/ - mkdir -p $(dir $@) - clang++ $(TEST_OBJECTS_LLVM_RELEASE) -o $@ $(TEST_LLVM_LDFLAGS_RELEASE) - - - -test-obj-gcc-debug/: FORCE test-obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-gcc-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -test-obj-llvm-debug/: FORCE test-obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-llvm-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" - -test-obj-gcc-release/: FORCE test-obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-gcc-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" - -test-obj-llvm-release/: FORCE test-obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-llvm-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" - - - -$(TEST_OBJECTS_GCC_DEBUG): test-obj-gcc-debug/ - -$(TEST_OBJECTS_LLVM_DEBUG): test-obj-llvm-debug/ + $(CXX) $(TEST_OBJECTS_RELEASE) -o $@ $(TEST_LDFLAGS_RELEASE) -$(TEST_OBJECTS_GCC_RELEASE): test-obj-gcc-release/ -$(TEST_OBJECTS_LLVM_RELEASE): test-obj-llvm-release/ +test-obj-debug/: FORCE test-obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-debug SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-g -O0 -DDEBUG" +test-obj-release/: FORCE test-obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=test-obj-release SOURCES_BASE_DIR=test-src CXX_OTHER_FLAGS="-O3 -DRELEASE" -build-tests-gcc-debug: test-bin-gcc-debug/$(TESTBIN) -build-tests-llvm-debug: test-bin-llvm-debug/$(TESTBIN) -build-tests-gcc-release: test-bin-gcc-release/$(TESTBIN) +$(TEST_OBJECTS_DEBUG): test-obj-debug/ -build-tests-llvm-release: test-bin-llvm-release/$(TESTBIN) +$(TEST_OBJECTS_RELEASE): test-obj-release/ -unit-test-gcc-debug: build-tests-gcc-debug - LD_LIBRARY_PATH="lib-gcc-debug" test-bin-gcc-debug/$(TESTBIN) +build-tests-debug: test-bin-debug/$(TESTBIN) -unit-test-llvm-debug: build-tests-llvm-debug - LD_LIBRARY_PATH="lib-llvm-debug" test-bin-llvm-debug/$(TESTBIN) +build-tests-release: test-bin-release/$(TESTBIN) -unit-test-gcc-release: build-tests-gcc-release - LD_LIBRARY_PATH="lib-gcc-release" test-bin-gcc-release/$(TESTBIN) -unit-test-llvm-release: build-tests-llvm-release - LD_LIBRARY_PATH="lib-llvm-release" test-bin-llvm-release/$(TESTBIN) +unit-test-debug: build-tests-debug + LD_LIBRARY_PATH="lib-debug" test-bin-debug/$(TESTBIN) +unit-test-release: build-tests-release + LD_LIBRARY_PATH="lib-release" test-bin-release/$(TESTBIN) -clean-gcc-debug: - $(RM) -r *.o *.d lib-gcc-debug obj-gcc-debug test-bin-gcc-debug test-obj-gcc-debug CppUnitTestResults.xml -clean-llvm-debug: - $(RM) -r *.o *.d lib-llvm-debug obj-llvm-debug test-bin-llvm-debug test-obj-llvm-debug CppUnitTestResults.xml -clean-gcc-release: - $(RM) -r *.o *.d lib-gcc-release obj-gcc-release test-bin-gcc-release test-obj-gcc-release CppUnitTestResults.xml +clean-debug: + $(RM) -r *.o *.d lib-debug obj-debug test-bin-debug test-obj-debug CppUnitTestResults.xml -clean-llvm-release: - $(RM) -r *.o *.d lib-llvm-release obj-llvm-release test-bin-llvm-release test-obj-llvm-release CppUnitTestResults.xml +clean-release: + $(RM) -r *.o *.d lib-release obj-release test-bin-release test-obj-release CppUnitTestResults.xml diff --git a/aminimize2/makefile b/aminimize2/makefile index eb15814418..4a183bfd5d 100644 --- a/aminimize2/makefile +++ b/aminimize2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/anormalize2/makefile b/anormalize2/makefile index 23cfaa3a36..b556a14005 100644 --- a/anormalize2/makefile +++ b/anormalize2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/arand2/makefile b/arand2/makefile index 7b9e19f8ce..46bf63d29a 100644 --- a/arand2/makefile +++ b/arand2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/araw2/makefile b/araw2/makefile index 73924b81cb..18dda73948 100644 --- a/araw2/makefile +++ b/araw2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/arename2/makefile b/arename2/makefile index b88ec8e474..c4f7d254db 100644 --- a/arename2/makefile +++ b/arename2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/areverse2/makefile b/areverse2/makefile index 8730473c1c..d53a86671c 100644 --- a/areverse2/makefile +++ b/areverse2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/arun2/makefile b/arun2/makefile index f9c4af2773..2792bacaa8 100644 --- a/arun2/makefile +++ b/arun2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/astat2/makefile b/astat2/makefile index 7590ee88cf..625440458a 100644 --- a/astat2/makefile +++ b/astat2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/astringology2/makefile b/astringology2/makefile index f86f3208d6..cebf60b4ec 100644 --- a/astringology2/makefile +++ b/astringology2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/atrim2/makefile b/atrim2/makefile index 8c98723b24..e3827ed2f4 100644 --- a/atrim2/makefile +++ b/atrim2/makefile @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release diff --git a/makefile b/makefile index a92cabb449..06cfaa47a7 100644 --- a/makefile +++ b/makefile @@ -37,12 +37,12 @@ ifneq (3.81, $(firstword $(sort $(MAKE_VERSION) 3.81))) $(error version $(MAKE_VERSION) is not supported. You need at least 3.82 is needed for make to work) endif -TCLAP_EXISTS = $(shell g++ -c -o /dev/null -xc++ - <<< \\\#include\ \<tclap/CmdLine.h\> 2>/dev/null; echo $$?) +TCLAP_EXISTS = $(shell $(CXX) -c -o /dev/null -xc++ - <<< \\\#include\ \<tclap/CmdLine.h\> 2>/dev/null; echo $$?) ifneq (0, $(TCLAP_EXISTS)) $(error You need tclap installed) endif -CPPUNIT_EXISTS = $(shell g++ -c -o /dev/null -xc++ - <<< \\\#include\ \<cppunit/Test.h\> 2>/dev/null; echo $$?) +CPPUNIT_EXISTS = $(shell $(CXX) -c -o /dev/null -xc++ - <<< \\\#include\ \<cppunit/Test.h\> 2>/dev/null; echo $$?) ifneq (0, $(CPPUNIT_EXISTS)) $(error You need cppunit installed) endif @@ -56,360 +56,192 @@ endif SUBDIRS_WITH_MAKE = $(dir $(wildcard */makefile)) -.PHONY: $(addsuffix .all-gcc-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) \ - $(addsuffix .all-llvm-debug, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) \ - $(addsuffix .all-gcc-release , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS))\ - $(addsuffix .all-llvm-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS))\ - $(addsuffix .build-gcc-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) \ - $(addsuffix .build-llvm-debug, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) \ - $(addsuffix .build-gcc-release , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS))\ - $(addsuffix .build-llvm-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS))\ - $(addsuffix .build-gcc-debug-tests , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) \ - $(addsuffix .build-llvm-debug-tests, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) \ - $(addsuffix .build-gcc-release-tests , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS))\ - $(addsuffix .build-llvm-release-tests, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS))\ - all-gcc-debug build-gcc-debug build-test-gcc-debug unit-test-gcc-debug clean-gcc-debug \ - all-llvm-debug build-llvm-debug build-test-llvm-debug unit-test-llvm-debug clean-llvm-debug \ - all-gcc-release build-gcc-release build-test-gcc-release unit-test-gcc-release clean-gcc-release \ - all-llvm-release build-llvm-release build-test-llvm-release unit-test-llvm-release clean-llvm-release \ - gcc-debug gcc-release llvm-debug llvm-release clean doc all +.PHONY: $(addsuffix .all-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) \ + $(addsuffix .all-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS))\ + $(addsuffix .build-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) \ + $(addsuffix .build-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS))\ + $(addsuffix .build-debug-tests , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) \ + $(addsuffix .build-release-tests, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS))\ + all-debug build-debug build-test-debug unit-test-debug clean-debug \ + all-release build-release build-test-release unit-test-release clean-release \ + debug release clean doc all all: @echo "What to do master?" -all-debug: all-gcc-debug FORCE - -all-release: all-gcc-release FORCE - -debug: gcc-debug FORCE - -gcc-debug: all-gcc-debug - mkdir -p $(addsuffix -gcc-debug, $(BINFOLDER)) - rm -rf $(addsuffix -gcc-debug, $(BINFOLDER))/* - for dir in $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB); do \ - cp $$dir/lib-gcc-debug/* $(addsuffix -gcc-debug, $(BINFOLDER)); \ - done - for dir in $(SUBDIRS_BINS); do \ - cp $$dir/bin-gcc-debug/* $(addsuffix -gcc-debug, $(BINFOLDER)); \ - done - ./tests.examples.sh gcc-debug - ./tests.adeterminize.sh gcc-debug - ./tests.aconversion.sh gcc-debug - ./tests.aderivation.aintegral.sh gcc-debug - ./tests.astringology.sh gcc-debug - ./tests.anormalize.sh gcc-debug - -llvm-debug: all-llvm-debug - mkdir -p $(addsuffix -llvm-debug, $(BINFOLDER)) - rm -rf $(addsuffix -llvm-debug, $(BINFOLDER))/* - for dir in $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB); do \ - cp $$dir/lib-llvm-debug/* $(addsuffix -llvm-debug, $(BINFOLDER)); \ - done - for dir in $(SUBDIRS_BINS); do \ - cp $$dir/bin-llvm-debug/* $(addsuffix -llvm-debug, $(BINFOLDER)); \ - done - ./tests.examples.sh llvm-debug - ./tests.adeterminize.sh llvm-debug - ./tests.aconversion.sh llvm-debug - ./tests.aderivation.aintegral.sh llvm-debug - ./tests.astringology.sh llvm-debug - ./tests.anormalize.sh llvm-debug - -release: gcc-release FORCE - -gcc-release: all-gcc-release - mkdir -p $(addsuffix -gcc-release, $(BINFOLDER)) - rm -rf $(addsuffix -gcc-release, $(BINFOLDER))/* +debug: all-debug + mkdir -p $(addsuffix -debug, $(BINFOLDER)) + rm -rf $(addsuffix -debug, $(BINFOLDER))/* for dir in $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB); do \ - cp $$dir/lib-gcc-release/* $(addsuffix -gcc-release, $(BINFOLDER)); \ + cp $$dir/lib-debug/* $(addsuffix -debug, $(BINFOLDER)); \ done for dir in $(SUBDIRS_BINS); do \ - cp $$dir/bin-gcc-release/* $(addsuffix -gcc-release, $(BINFOLDER)); \ - done - ./tests.examples.sh gcc-release - ./tests.adeterminize.sh gcc-release - ./tests.aconversion.sh gcc-release - ./tests.aderivation.aintegral.sh gcc-release - ./tests.astringology.sh gcc-release - ./tests.anormalize.sh gcc-release - -llvm-release: all-llvm-release - mkdir -p $(addsuffix -llvm-release, $(BINFOLDER)) - rm -rf $(addsuffix -llvm-release, $(BINFOLDER))/* + cp $$dir/bin-debug/* $(addsuffix -debug, $(BINFOLDER)); \ + done + ./tests.examples.sh debug + ./tests.adeterminize.sh debug + ./tests.aconversion.sh debug + ./tests.aderivation.aintegral.sh debug + ./tests.astringology.sh debug + ./tests.anormalize.sh debug + +release: all-release + mkdir -p $(addsuffix -release, $(BINFOLDER)) + rm -rf $(addsuffix -release, $(BINFOLDER))/* for dir in $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB); do \ - cp $$dir/lib-llvm-release/* $(addsuffix -llvm-release, $(BINFOLDER)); \ + cp $$dir/lib-release/* $(addsuffix -release, $(BINFOLDER)); \ done for dir in $(SUBDIRS_BINS); do \ - cp $$dir/bin-llvm-release/* $(addsuffix -llvm-release, $(BINFOLDER)); \ + cp $$dir/bin-release/* $(addsuffix -release, $(BINFOLDER)); \ done - ./tests.examples.sh llvm-release - ./tests.adeterminize.sh llvm-release - ./tests.aconversion.sh llvm-release - ./tests.aderivation.aintegral.sh llvm-release - ./tests.astringology.sh llvm-release - ./tests.anormalize.sh llvm-release - -clean : clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release - $(RM) -r bin-gcc-debug bin-llvm-debug bin-gcc-release bin-llvm-release - - - -all-gcc-debug : $(addsuffix .all-gcc-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) - -all-llvm-debug : $(addsuffix .all-llvm-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) - -all-gcc-release : $(addsuffix .all-gcc-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) - -all-llvm-release : $(addsuffix .all-llvm-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) - - - -build-gcc-debug : $(addsuffix .build-gcc-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) - -build-llvm-debug : $(addsuffix .build-llvm-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) - -build-gcc-release: $(addsuffix .build-gcc-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) - -build-llvm-release: $(addsuffix .build-llvm-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) - - - -build-tests-gcc-debug : $(addsuffix .build-tests-gcc-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB)) - -build-tests-llvm-debug : $(addsuffix .build-tests-llvm-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB)) - -build-tests-gcc-release: $(addsuffix .build-tests-gcc-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB)) - -build-tests-llvm-release: $(addsuffix .build-tests-llvm-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB)) + ./tests.examples.sh release + ./tests.adeterminize.sh release + ./tests.aconversion.sh release + ./tests.aderivation.aintegral.sh release + ./tests.astringology.sh release + ./tests.anormalize.sh release +clean : clean-debug clean-release + $(RM) -r bin-debug bin-release -$(addsuffix .all-gcc-debug, $(STD_LIB)): - $(MAKE) gcc-debug -C $(basename $@) -$(addsuffix .all-gcc-debug, $(CORE_LIB)): $(addsuffix .all-gcc-debug, $(STD_LIB)) - $(MAKE) gcc-debug -C $(basename $@) +all-debug : $(addsuffix .all-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) -$(addsuffix .all-gcc-debug, $(ALGO_LIB)): $(addsuffix .all-gcc-debug, $(CORE_LIB)) - $(MAKE) gcc-debug -C $(basename $@) +all-release : $(addsuffix .all-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) -$(addsuffix .all-gcc-debug, $(ELGO_LIB)): $(addsuffix .all-gcc-debug, $(ALGO_LIB)) - $(MAKE) gcc-debug -C $(basename $@) -$(addsuffix .all-gcc-debug, $(SUBDIRS_BINS)): $(addsuffix .all-gcc-debug, $(ELGO_LIB)) - $(MAKE) gcc-debug -C $(basename $@) -$(addsuffix .all-llvm-debug, $(STD_LIB)): - $(MAKE) llvm-debug -C $(basename $@) +build-debug : $(addsuffix .build-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) -$(addsuffix .all-llvm-debug, $(CORE_LIB)): $(addsuffix .all-llvm-debug, $(STD_LIB)) - $(MAKE) llvm-debug -C $(basename $@) +build-release: $(addsuffix .build-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB) $(SUBDIRS_BINS)) -$(addsuffix .all-llvm-debug, $(ALGO_LIB)): $(addsuffix .all-llvm-debug, $(CORE_LIB)) - $(MAKE) llvm-debug -C $(basename $@) -$(addsuffix .all-llvm-debug, $(ELGO_LIB)): $(addsuffix .all-llvm-debug, $(ALGO_LIB)) - $(MAKE) llvm-debug -C $(basename $@) -$(addsuffix .all-llvm-debug, $(SUBDIRS_BINS)): $(addsuffix .all-llvm-debug, $(ELGO_LIB)) - $(MAKE) llvm-debug -C $(basename $@) +build-tests-debug : $(addsuffix .build-tests-debug , $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB)) +build-tests-release: $(addsuffix .build-tests-release, $(STD_LIB) $(CORE_LIB) $(ALGO_LIB) $(ELGO_LIB)) -$(addsuffix .all-gcc-release, $(STD_LIB)): - $(MAKE) gcc-release -C $(basename $@) -$(addsuffix .all-gcc-release, $(CORE_LIB)): $(addsuffix .all-gcc-release, $(STD_LIB)) - $(MAKE) gcc-release -C $(basename $@) +$(addsuffix .all-debug, $(STD_LIB)): + $(MAKE) debug -C $(basename $@) -$(addsuffix .all-gcc-release, $(ALGO_LIB)): $(addsuffix .all-gcc-release, $(CORE_LIB)) - $(MAKE) gcc-release -C $(basename $@) +$(addsuffix .all-debug, $(CORE_LIB)): $(addsuffix .all-debug, $(STD_LIB)) + $(MAKE) debug -C $(basename $@) -$(addsuffix .all-gcc-release, $(ELGO_LIB)): $(addsuffix .all-gcc-release, $(ALGO_LIB)) - $(MAKE) gcc-release -C $(basename $@) +$(addsuffix .all-debug, $(ALGO_LIB)): $(addsuffix .all-debug, $(CORE_LIB)) + $(MAKE) debug -C $(basename $@) -$(addsuffix .all-gcc-release, $(SUBDIRS_BINS)): $(addsuffix .all-gcc-release, $(ELGO_LIB)) - $(MAKE) gcc-release -C $(basename $@) +$(addsuffix .all-debug, $(ELGO_LIB)): $(addsuffix .all-debug, $(ALGO_LIB)) + $(MAKE) debug -C $(basename $@) -$(addsuffix .all-llvm-release, $(STD_LIB)): - $(MAKE) llvm-release -C $(basename $@) +$(addsuffix .all-debug, $(SUBDIRS_BINS)): $(addsuffix .all-debug, $(ELGO_LIB)) + $(MAKE) debug -C $(basename $@) -$(addsuffix .all-llvm-release, $(CORE_LIB)): $(addsuffix .all-llvm-release, $(STD_LIB)) - $(MAKE) llvm-release -C $(basename $@) -$(addsuffix .all-llvm-release, $(ALGO_LIB)): $(addsuffix .all-llvm-release, $(CORE_LIB)) - $(MAKE) llvm-release -C $(basename $@) -$(addsuffix .all-llvm-release, $(ELGO_LIB)): $(addsuffix .all-llvm-release, $(ALGO_LIB)) - $(MAKE) llvm-release -C $(basename $@) +$(addsuffix .all-release, $(STD_LIB)): + $(MAKE) release -C $(basename $@) -$(addsuffix .all-llvm-release, $(SUBDIRS_BINS)): $(addsuffix .all-llvm-release, $(ELGO_LIB)) - $(MAKE) llvm-release -C $(basename $@) +$(addsuffix .all-release, $(CORE_LIB)): $(addsuffix .all-release, $(STD_LIB)) + $(MAKE) release -C $(basename $@) +$(addsuffix .all-release, $(ALGO_LIB)): $(addsuffix .all-release, $(CORE_LIB)) + $(MAKE) release -C $(basename $@) +$(addsuffix .all-release, $(ELGO_LIB)): $(addsuffix .all-release, $(ALGO_LIB)) + $(MAKE) release -C $(basename $@) -$(addsuffix .build-gcc-debug, $(STD_LIB)): - $(MAKE) build-gcc-debug -C $(basename $@) +$(addsuffix .all-release, $(SUBDIRS_BINS)): $(addsuffix .all-release, $(ELGO_LIB)) + $(MAKE) release -C $(basename $@) -$(addsuffix .build-gcc-debug, $(CORE_LIB)): $(addsuffix .build-gcc-debug, $(STD_LIB)) - $(MAKE) build-gcc-debug -C $(basename $@) -$(addsuffix .build-gcc-debug, $(ALGO_LIB)): $(addsuffix .build-gcc-debug, $(CORE_LIB)) - $(MAKE) build-gcc-debug -C $(basename $@) -$(addsuffix .build-gcc-debug, $(ELGO_LIB)): $(addsuffix .build-gcc-debug, $(ALGO_LIB)) - $(MAKE) build-gcc-debug -C $(basename $@) +$(addsuffix .build-debug, $(STD_LIB)): + $(MAKE) build-debug -C $(basename $@) -$(addsuffix .build-gcc-debug, $(SUBDIRS_BINS)): $(addsuffix .build-gcc-debug, $(ELGO_LIB)) - $(MAKE) build-gcc-debug -C $(basename $@) +$(addsuffix .build-debug, $(CORE_LIB)): $(addsuffix .build-debug, $(STD_LIB)) + $(MAKE) build-debug -C $(basename $@) -$(addsuffix .build-llvm-debug, $(STD_LIB)): - $(MAKE) build-llvm-debug -C $(basename $@) +$(addsuffix .build-debug, $(ALGO_LIB)): $(addsuffix .build-debug, $(CORE_LIB)) + $(MAKE) build-debug -C $(basename $@) -$(addsuffix .build-llvm-debug, $(CORE_LIB)): $(addsuffix .build-llvm-debug, $(STD_LIB)) - $(MAKE) build-llvm-debug -C $(basename $@) +$(addsuffix .build-debug, $(ELGO_LIB)): $(addsuffix .build-debug, $(ALGO_LIB)) + $(MAKE) build-debug -C $(basename $@) -$(addsuffix .build-llvm-debug, $(ALGO_LIB)): $(addsuffix .build-llvm-debug, $(CORE_LIB)) - $(MAKE) build-llvm-debug -C $(basename $@) +$(addsuffix .build-debug, $(SUBDIRS_BINS)): $(addsuffix .build-debug, $(ELGO_LIB)) + $(MAKE) build-debug -C $(basename $@) -$(addsuffix .build-llvm-debug, $(ELGO_LIB)): $(addsuffix .build-llvm-debug, $(ALGO_LIB)) - $(MAKE) build-llvm-debug -C $(basename $@) -$(addsuffix .build-llvm-debug, $(SUBDIRS_BINS)): $(addsuffix .build-llvm-debug, $(ELGO_LIB)) - $(MAKE) build-llvm-debug -C $(basename $@) +$(addsuffix .build-release, $(STD_LIB)): + $(MAKE) build-release -C $(basename $@) +$(addsuffix .build-release, $(CORE_LIB)): $(addsuffix .build-release, $(STD_LIB)) + $(MAKE) build-release -C $(basename $@) -$(addsuffix .build-gcc-release, $(STD_LIB)): - $(MAKE) build-gcc-release -C $(basename $@) +$(addsuffix .build-release, $(ALGO_LIB)): $(addsuffix .build-release, $(CORE_LIB)) + $(MAKE) build-release -C $(basename $@) -$(addsuffix .build-gcc-release, $(CORE_LIB)): $(addsuffix .build-gcc-release, $(STD_LIB)) - $(MAKE) build-gcc-release -C $(basename $@) +$(addsuffix .build-release, $(ELGO_LIB)): $(addsuffix .build-release, $(ALGO_LIB)) + $(MAKE) build-release -C $(basename $@) -$(addsuffix .build-gcc-release, $(ALGO_LIB)): $(addsuffix .build-gcc-release, $(CORE_LIB)) - $(MAKE) build-gcc-release -C $(basename $@) +$(addsuffix .build-release, $(SUBDIRS_BINS)): $(addsuffix .build-release, $(ELGO_LIB)) + $(MAKE) build-release -C $(basename $@) -$(addsuffix .build-gcc-release, $(ELGO_LIB)): $(addsuffix .build-gcc-release, $(ALGO_LIB)) - $(MAKE) build-gcc-release -C $(basename $@) -$(addsuffix .build-gcc-release, $(SUBDIRS_BINS)): $(addsuffix .build-gcc-release, $(ELGO_LIB)) - $(MAKE) build-gcc-release -C $(basename $@) -$(addsuffix .build-llvm-release, $(STD_LIB)): - $(MAKE) build-llvm-release -C $(basename $@) +$(addsuffix .build-tests-debug, $(STD_LIB)): $(addsuffix .build-debug, $(STD_LIB)) + $(MAKE) build-tests-debug -C $(basename $@) -$(addsuffix .build-llvm-release, $(CORE_LIB)): $(addsuffix .build-llvm-release, $(STD_LIB)) - $(MAKE) build-llvm-release -C $(basename $@) +$(addsuffix .build-tests-debug, $(CORE_LIB)): $(addsuffix .build-tests-debug, $(STD_LIB)) $(addsuffix .build-debug, $(CORE_LIB)) + $(MAKE) build-tests-debug -C $(basename $@) -$(addsuffix .build-llvm-release, $(ALGO_LIB)): $(addsuffix .build-llvm-release, $(CORE_LIB)) - $(MAKE) build-llvm-release -C $(basename $@) +$(addsuffix .build-tests-debug, $(ALGO_LIB)): $(addsuffix .build-tests-debug, $(CORE_LIB)) $(addsuffix .build-debug, $(ALGO_LIB)) + $(MAKE) build-tests-debug -C $(basename $@) -$(addsuffix .build-llvm-release, $(ELGO_LIB)): $(addsuffix .build-llvm-release, $(ALGO_LIB)) - $(MAKE) build-llvm-release -C $(basename $@) +$(addsuffix .build-tests-debug, $(ELGO_LIB)): $(addsuffix .build-tests-debug, $(ALGO_LIB)) $(addsuffix .build-debug, $(ELGO_LIB)) + $(MAKE) build-tests-debug -C $(basename $@) -$(addsuffix .build-llvm-release, $(SUBDIRS_BINS)): $(addsuffix .build-llvm-release, $(ELGO_LIB)) - $(MAKE) build-llvm-release -C $(basename $@) +$(addsuffix .build-tests-release, $(STD_LIB)): $(addsuffix .build-release, $(STD_LIB)) + $(MAKE) build-tests-release -C $(basename $@) -$(addsuffix .build-tests-gcc-debug, $(STD_LIB)): $(addsuffix .build-gcc-debug, $(STD_LIB)) - $(MAKE) build-tests-gcc-debug -C $(basename $@) +$(addsuffix .build-tests-release, $(CORE_LIB)): $(addsuffix .build-tests-release, $(STD_LIB)) $(addsuffix .build-release, $(CORE_LIB)) + $(MAKE) build-tests-release -C $(basename $@) -$(addsuffix .build-tests-gcc-debug, $(CORE_LIB)): $(addsuffix .build-tests-gcc-debug, $(STD_LIB)) $(addsuffix .build-gcc-debug, $(CORE_LIB)) - $(MAKE) build-tests-gcc-debug -C $(basename $@) +$(addsuffix .build-tests-release, $(ALGO_LIB)): $(addsuffix .build-tests-release, $(CORE_LIB)) $(addsuffix .build-release, $(ALGO_LIB)) + $(MAKE) build-tests-release -C $(basename $@) -$(addsuffix .build-tests-gcc-debug, $(ALGO_LIB)): $(addsuffix .build-tests-gcc-debug, $(CORE_LIB)) $(addsuffix .build-gcc-debug, $(ALGO_LIB)) - $(MAKE) build-tests-gcc-debug -C $(basename $@) +$(addsuffix .build-tests-release, $(ELGO_LIB)): $(addsuffix .build-tests-release, $(ALGO_LIB)) $(addsuffix .build-release, $(ELGO_LIB)) + $(MAKE) build-tests-release -C $(basename $@) -$(addsuffix .build-tests-gcc-debug, $(ELGO_LIB)): $(addsuffix .build-tests-gcc-debug, $(ALGO_LIB)) $(addsuffix .build-gcc-debug, $(ELGO_LIB)) - $(MAKE) build-tests-gcc-debug -C $(basename $@) -$(addsuffix .build-tests-llvm-debug, $(STD_LIB)): $(addsuffix .build-llvm-debug, $(STD_LIB)) - $(MAKE) build-tests-llvm-debug -C $(basename $@) -$(addsuffix .build-tests-llvm-debug, $(CORE_LIB)): $(addsuffix .build-tests-llvm-debug, $(STD_LIB)) $(addsuffix .build-llvm-debug, $(CORE_LIB)) - $(MAKE) build-tests-llvm-debug -C $(basename $@) - -$(addsuffix .build-tests-llvm-debug, $(ALGO_LIB)): $(addsuffix .build-tests-llvm-debug, $(CORE_LIB)) $(addsuffix .build-llvm-debug, $(ALGO_LIB)) - $(MAKE) build-tests-llvm-debug -C $(basename $@) - -$(addsuffix .build-tests-llvm-debug, $(ELGO_LIB)): $(addsuffix .build-tests-llvm-debug, $(ALGO_LIB)) $(addsuffix .build-llvm-debug, $(ELGO_LIB)) - $(MAKE) build-tests-llvm-debug -C $(basename $@) - - - -$(addsuffix .build-tests-gcc-release, $(STD_LIB)): $(addsuffix .build-gcc-release, $(STD_LIB)) - $(MAKE) build-tests-gcc-release -C $(basename $@) - -$(addsuffix .build-tests-gcc-release, $(CORE_LIB)): $(addsuffix .build-tests-gcc-release, $(STD_LIB)) $(addsuffix .build-gcc-release, $(CORE_LIB)) - $(MAKE) build-tests-gcc-release -C $(basename $@) - -$(addsuffix .build-tests-gcc-release, $(ALGO_LIB)): $(addsuffix .build-tests-gcc-release, $(CORE_LIB)) $(addsuffix .build-gcc-release, $(ALGO_LIB)) - $(MAKE) build-tests-gcc-release -C $(basename $@) - -$(addsuffix .build-tests-gcc-release, $(ELGO_LIB)): $(addsuffix .build-tests-gcc-release, $(ALGO_LIB)) $(addsuffix .build-gcc-release, $(ELGO_LIB)) - $(MAKE) build-tests-gcc-release -C $(basename $@) - -$(addsuffix .build-tests-llvm-release, $(STD_LIB)): $(addsuffix .build-llvm-release, $(STD_LIB)) - $(MAKE) build-tests-llvm-release -C $(basename $@) - -$(addsuffix .build-tests-llvm-release, $(CORE_LIB)): $(addsuffix .build-tests-llvm-release, $(STD_LIB)) $(addsuffix .build-llvm-release, $(CORE_LIB)) - $(MAKE) build-tests-llvm-release -C $(basename $@) - -$(addsuffix .build-tests-llvm-release, $(ALGO_LIB)): $(addsuffix .build-tests-llvm-release, $(CORE_LIB)) $(addsuffix .build-llvm-release, $(ALGO_LIB)) - $(MAKE) build-tests-llvm-release -C $(basename $@) - -$(addsuffix .build-tests-llvm-release, $(ELGO_LIB)): $(addsuffix .build-tests-llvm-release, $(ALGO_LIB)) $(addsuffix .build-llvm-release, $(ELGO_LIB)) - $(MAKE) build-tests-llvm-release -C $(basename $@) - - - -clean-gcc-debug: +clean-debug: for dir in $(SUBDIRS_WITH_MAKE); do \ - $(MAKE) clean-gcc-debug -C $$dir; \ + $(MAKE) clean-debug -C $$dir; \ done -clean-llvm-debug: +clean-release: for dir in $(SUBDIRS_WITH_MAKE); do \ - $(MAKE) clean-llvm-debug -C $$dir; \ - done - -clean-gcc-release: - for dir in $(SUBDIRS_WITH_MAKE); do \ - $(MAKE) clean-gcc-release -C $$dir; \ - done - -clean-llvm-release: - for dir in $(SUBDIRS_WITH_MAKE); do \ - $(MAKE) clean-llvm-release -C $$dir; \ + $(MAKE) clean-release -C $$dir; \ done -unit-test-gcc-debug: +unit-test-debug: for dir in $(CORE_LIB) $(ALGO_LIB); do \ - $(MAKE) unit-test-gcc-debug -C $$dir; \ + $(MAKE) unit-test-debug -C $$dir; \ done -unit-test-llvm-debug: +unit-test-verbose: for dir in $(CORE_LIB) $(ALGO_LIB); do \ - $(MAKE) unit-test-llvm-debug -C $$dir; \ + $(MAKE) unit-test-release -C $$dir; \ done -unit-test-gcc-release: - for dir in $(CORE_LIB) $(ALGO_LIB); do \ - $(MAKE) unit-test-gcc-release -C $$dir; \ - done - -unit-test-llvm-release: - for dir in $(CORE_LIB) $(ALGO_LIB); do \ - $(MAKE) unit-test-llvm-release -C $$dir; \ - done - - - -FORCE: - doc: diff --git a/tniceprint/makefile b/tniceprint/makefile index 15f2fe04d6..a7e0d81559 100644 --- a/tniceprint/makefile +++ b/tniceprint/makefile @@ -1,5 +1,5 @@ SHELL:=/bin/bash -EXECUTABLE:=tniceprint +EXECUTABLE:=tniceprint2 define NEW_LINE @@ -8,19 +8,15 @@ endef export NEW_LINE -GCC_LDFLAGS_DEBUG:=-L../alib2std/lib-gcc-debug -L../alib2data/lib-gcc-debug -L../alib2algo/lib-gcc-debug -L../alib2elgo/lib-gcc-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_DEBUG:=-L../alib2std/lib-llvm-debug -L../alib2data/lib-llvm-debug -L../alib2algo/lib-llvm-debug -L../alib2elgo/lib-llvm-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_DEBUG:=-L../alib2std/lib-debug -L../alib2data/lib-debug -L../alib2algo/lib-debug -L../alib2elgo/lib-debug -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -GCC_LDFLAGS_RELEASE:=-L../alib2std/lib-gcc-release -L../alib2data/lib-gcc-release -L../alib2algo/lib-gcc-release -L../alib2elgo/lib-gcc-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -LLVM_LDFLAGS_RELEASE:=-L../alib2std/lib-llvm-release -L../alib2data/lib-llvm-release -L../alib2algo/lib-llvm-release -L../alib2elgo/lib-llvm-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. +LDFLAGS_RELEASE:=-L../alib2std/lib-release -L../alib2data/lib-release -L../alib2algo/lib-release -L../alib2elgo/lib-release -rdynamic -lxml2 -lalib2std -lalib2data -lalib2algo -lalib2elgo -Wl,-rpath,. -OBJECTS_GCC_DEBUG:=$(patsubst src/%.cpp, obj-gcc-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_DEBUG:=$(patsubst src/%.cpp, obj-llvm-debug/%.o, $(shell find src/ -name *cpp)) +OBJECTS_DEBUG:=$(patsubst src/%.cpp, obj-debug/%.o, $(shell find src/ -name *cpp)) -OBJECTS_GCC_RELEASE:=$(patsubst src/%.cpp, obj-gcc-release/%.o, $(shell find src/ -name *cpp)) -OBJECTS_LLVM_RELEASE:=$(patsubst src/%.cpp, obj-llvm-release/%.o, $(shell find src/ -name *cpp)) +OBJECTS_RELEASE:=$(patsubst src/%.cpp, obj-release/%.o, $(shell find src/ -name *cpp)) -.PHONY: all build-gcc-debug build-llvm-debug build-gcc-release build-llvm-release clean-gcc-debug clean-llvm-debug clean-gcc-release clean-llvm-release doc +.PHONY: all build-debug clean-debug doc all: @echo "What to do master?" @@ -29,16 +25,6 @@ obj%/makefile: makefile mkdir -p $(dir $@) echo "\ SHELL:=/bin/bash$${NEW_LINE}\ - CXXX:=$(patsubst obj-%-release/,%,$(patsubst obj-%-debug/,%,$(dir $@)))$${NEW_LINE}\ - ifeq (gcc, \$$(CXXX))$${NEW_LINE}\ - CXX:=g++$${NEW_LINE}\ - else$${NEW_LINE}\ - ifeq (llvm, \$$(CXXX))$${NEW_LINE}\ - CXX:=clang++$${NEW_LINE}\ - else$${NEW_LINE}\ - \$$(error \"invalid compiler\")$${NEW_LINE}\ - endif$${NEW_LINE}\ - endif$${NEW_LINE}\ SRCDIR:=$${NEW_LINE}\ DEPTH:=$${NEW_LINE}\ OBJECTS_BASE_DIR:=$${NEW_LINE}\ @@ -87,85 +73,49 @@ obj%/makefile: makefile $${NEW_LINE}\ -include \$$(DEPENDENCIES)" > $@ -gcc-debug: build-gcc-debug +debug: build-debug -llvm-debug: build-llvm-debug +release: build-release -gcc-release: build-gcc-release - -llvm-release: build-llvm-release - -clean: clean-gcc-debug clean-gcc-release +clean: clean-debug clean-release $(RM) -r doc -clean: clean-llvm-debug clean-llvm-release - $(RM) -r doc - -bin-gcc-debug/$(EXECUTABLE): obj-gcc-debug/ $(OBJECTS_GCC_DEBUG) +bin-debug/$(EXECUTABLE): obj-debug/ $(OBJECTS_DEBUG) mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_DEBUG) -o $@ $(GCC_LDFLAGS_DEBUG) + $(CXX) $(OBJECTS_DEBUG) -o $@ $(LDFLAGS_DEBUG) -bin-llvm-debug/$(EXECUTABLE): obj-llvm-debug/ $(OBJECTS_LLVM_DEBUG) +bin-release/$(EXECUTABLE): obj-release/ $(OBJECTS_RELEASE) mkdir -p $(dir $@) - clang++ $(OBJECTS_LLVM_DEBUG) -o $@ $(LLVM_LDFLAGS_DEBUG) - -bin-gcc-release/$(EXECUTABLE): obj-gcc-release/ $(OBJECTS_GCC_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_GCC_RELEASE) -o $@ $(GCC_LDFLAGS_RELEASE) - -bin-llvm-release/$(EXECUTABLE): obj-llvm-release/ $(OBJECTS_LLVM_RELEASE) - mkdir -p $(dir $@) - g++ $(OBJECTS_LLVM_RELEASE) -o $@ $(LLVM_LDFLAGS_RELEASE) - - - -obj-gcc-debug/: FORCE | obj-gcc-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-llvm-debug/: FORCE | obj-llvm-debug/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" - -obj-gcc-release/: FORCE | obj-gcc-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-gcc-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - -obj-llvm-release/: FORCE | obj-llvm-release/makefile - $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-llvm-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" - - - -$(OBJECTS_GCC_DEBUG): obj-gcc-debug/ + $(CXX) $(OBJECTS_RELEASE) -o $@ $(LDFLAGS_RELEASE) -$(OBJECTS_LLVM_DEBUG): obj-llvm-debug/ -$(OBJECTS_GCC_RELEASE): obj-gcc-release/ -$(OBJECTS_LLVM_RELEASE): obj-llvm-release/ +obj-debug/: FORCE | obj-debug/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-debug SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-g -O0" +obj-release/: FORCE | obj-release/makefile + $(MAKE) -C $@ OBJECTS_BASE_DIR=obj-release SOURCES_BASE_DIR=src CXX_OTHER_FLAGS="-O3" -build-gcc-debug: bin-gcc-debug/$(EXECUTABLE) -build-llvm-debug: bin-llvm-debug/$(EXECUTABLE) +$(OBJECTS_DEBUG): obj-debug/ -build-gcc-release: bin-gcc-release/$(EXECUTABLE) +$(OBJECTS_RELEASE): obj-release/ -build-llvm-release: bin-llvm-release/$(EXECUTABLE) +build-debug: bin-debug/$(EXECUTABLE) +build-release: bin-release/$(EXECUTABLE) -clean-gcc-debug: - $(RM) -r *.o *.d bin-gcc-debug obj-gcc-debug -clean-llvm-debug: - $(RM) -r *.o *.d bin-llvm-debug obj-llvm-debug -clean-gcc-release: - $(RM) -r *.o *.d bin-gcc-release obj-gcc-release +clean-debug: + $(RM) -r *.o *.d bin-debug obj-debug -clean-llvm-release: - $(RM) -r *.o *.d bin-llvm-release obj-llvm-release +clean-release: + $(RM) -r *.o *.d bin-release obj-release -- GitLab