diff --git a/.gitignore b/.gitignore
index ec9d7e5ef7fcdac272d9720a2852f8178d77019d..edf592dc713f703973c233fccc94fa0c2ab9ecef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,6 +57,7 @@ doc/*
 
 debug.sh
 release.sh
+build.conf
 
 # local files
 local/
diff --git a/aaccess2/makefile b/aaccess2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aaccess2/makefile
+++ b/aaccess2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aarbology2/makefile b/aarbology2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aarbology2/makefile
+++ b/aarbology2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/acast2/makefile b/acast2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/acast2/makefile
+++ b/acast2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/acompaction2/makefile b/acompaction2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/acompaction2/makefile
+++ b/acompaction2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/acompare2/makefile b/acompare2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/acompare2/makefile
+++ b/acompare2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aconversions2/makefile b/aconversions2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aconversions2/makefile
+++ b/aconversions2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aconvert2/makefile b/aconvert2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aconvert2/makefile
+++ b/aconvert2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aderivation2/makefile b/aderivation2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aderivation2/makefile
+++ b/aderivation2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/adeterminize2/makefile b/adeterminize2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/adeterminize2/makefile
+++ b/adeterminize2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aecho2/makefile b/aecho2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aecho2/makefile
+++ b/aecho2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aepsilon2/makefile b/aepsilon2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aepsilon2/makefile
+++ b/aepsilon2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/agenerate2/makefile b/agenerate2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/agenerate2/makefile
+++ b/agenerate2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aintegral2/makefile b/aintegral2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aintegral2/makefile
+++ b/aintegral2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aintrospection2/makefile b/aintrospection2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aintrospection2/makefile
+++ b/aintrospection2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alangop2/makefile b/alangop2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/alangop2/makefile
+++ b/alangop2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2algo/makefile b/alib2algo/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2algo/makefile
+++ b/alib2algo/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2algo_experimental/makefile b/alib2algo_experimental/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2algo_experimental/makefile
+++ b/alib2algo_experimental/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2common/makefile b/alib2common/makefile
index 89a440863b61ae7d8ead85a27d8e94f21df3f80c..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2common/makefile
+++ b/alib2common/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,14 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
-# O0 here not to optimize measurement tests
 test-obj-debug/: FORCE test-obj-debug/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -O0 -DDEBUG"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2data/makefile b/alib2data/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2data/makefile
+++ b/alib2data/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2data_experimental/makefile b/alib2data_experimental/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2data_experimental/makefile
+++ b/alib2data_experimental/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2elgo/makefile b/alib2elgo/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2elgo/makefile
+++ b/alib2elgo/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2measurepp/makefile b/alib2measurepp/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2measurepp/makefile
+++ b/alib2measurepp/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2raw/makefile b/alib2raw/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2raw/makefile
+++ b/alib2raw/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2std/makefile b/alib2std/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2std/makefile
+++ b/alib2std/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2str/makefile b/alib2str/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2str/makefile
+++ b/alib2str/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/alib2str_experimental/makefile b/alib2str_experimental/makefile
index b41f715c53eb7ecdb132f65578d6ba4fc06861e8..c11946de9ea995a4ec6457f73187b9543b66ecbc 100644
--- a/alib2str_experimental/makefile
+++ b/alib2str_experimental/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 FULL_LIBRARY:=lib$(LIBRARY).so
 define NEW_LINE
 
@@ -17,8 +23,8 @@ space := $(eval) $(eval)
 LDFLAGS_DEBUG:=-rdynamic -shared
 TEST_LDFLAGS_DEBUG:=-Wl,--no-as-needed -Llib-debug $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-rdynamic -shared -flto
-TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-rdynamic -shared $(LTO_PARAM)
+TEST_LDFLAGS_RELEASE:=-Wl,--no-as-needed -Llib-release $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic -l$(LIBRARY) $(addprefix -l, $(LINK_LIBRARIES)) -lcppunit $(LTO_PARAM) -Wl,-rpath,.
 
 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))
@@ -147,13 +153,13 @@ obj-debug/: FORCE obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 test-obj-debug/: FORCE test-obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-debug) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 test-obj-release/: FORCE test-obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath test-obj-release) SOURCES_BASE_DIR=$(realpath test-src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/all-debug.sh b/all-debug.sh
index 0737267c86e8229116a73debaf320158aa94d3d0..84ace32b7345e4a671bbfe0385f6f049e5d9e9e5 100755
--- a/all-debug.sh
+++ b/all-debug.sh
@@ -1,4 +1,4 @@
 THREADS=${1:-5}
-USE_RAMDISK=1 CXX=clang++ make debug -j${THREADS} || exit 1
-USE_RAMDISK=1 CXX=clang++ make install-debug -j${THREADS} || exit 1
-USE_RAMDISK=1 CXX=clang++ make test-debug -j${THREADS} || exit 1
+CXX=clang++ make debug -j${THREADS} || exit 1
+CXX=clang++ make install-debug -j${THREADS} || exit 1
+CXX=clang++ make test-debug -j${THREADS} || exit 1
diff --git a/all-release.sh b/all-release.sh
index 1e885d0ae98387dfc9797a48d674764dd6ce18f0..7abf5dc52e7b5ca465d49d4665ebf2cb2a916291 100755
--- a/all-release.sh
+++ b/all-release.sh
@@ -1,4 +1,4 @@
 THREADS=${1:-5}
-USE_RAMDISK=1 CXX=g++-6 make release -j${THREADS} || exit 1
-USE_RAMDISK=1 CXX=g++-6 make install-release -j${THREADS} || exit 1
-USE_RAMDISK=1 CXX=g++-6 make test-release -j${THREADS} || exit 1
+CXX=g++-6 make release -j${THREADS} || exit 1
+CXX=g++-6 make install-release -j${THREADS} || exit 1
+CXX=g++-6 make test-release -j${THREADS} || exit 1
diff --git a/ameasure2/makefile b/ameasure2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/ameasure2/makefile
+++ b/ameasure2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/ameasurep2/makefile b/ameasurep2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/ameasurep2/makefile
+++ b/ameasurep2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aminimize2/makefile b/aminimize2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aminimize2/makefile
+++ b/aminimize2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/anormalize2/makefile b/anormalize2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/anormalize2/makefile
+++ b/anormalize2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/aquery2/makefile b/aquery2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/aquery2/makefile
+++ b/aquery2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/arand2/makefile b/arand2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/arand2/makefile
+++ b/arand2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/araw2/makefile b/araw2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/araw2/makefile
+++ b/araw2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/arename2/makefile b/arename2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/arename2/makefile
+++ b/arename2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/areverse2/makefile b/areverse2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/areverse2/makefile
+++ b/areverse2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/arun2/makefile b/arun2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/arun2/makefile
+++ b/arun2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/astat2/makefile b/astat2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/astat2/makefile
+++ b/astat2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/astringology2/makefile b/astringology2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/astringology2/makefile
+++ b/astringology2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/atrim2/makefile b/atrim2/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/atrim2/makefile
+++ b/atrim2/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies
diff --git a/build-debug.sh b/build-debug.sh
index ea131e9c1d29219f97dc92b33cd8f4c3167a0eeb..7c6f18f2f49cbc0c379909db7473c6bd8917bbb3 100755
--- a/build-debug.sh
+++ b/build-debug.sh
@@ -1,3 +1,3 @@
 THREADS=${1:-5}
-USE_RAMDISK=1 CXX=clang++ make build-code-debug -j${THREADS} || exit 1
-USE_RAMDISK=1 CXX=clang++ make install-debug -j${THREADS} || exit 1
+CXX=clang++ make build-code-debug -j${THREADS} || exit 1
+CXX=clang++ make install-debug -j${THREADS} || exit 1
diff --git a/build-release.sh b/build-release.sh
index c46c061b5a7699eb6ee3c2e274de0e56dd30c33f..6a92fbe0e9b8c1da9f543390271aa425dcac632a 100755
--- a/build-release.sh
+++ b/build-release.sh
@@ -1,3 +1,3 @@
 THREADS=${1:-5}
-USE_RAMDISK=1 CXX=g++-6 make build-code-release -j${THREADS} || exit 1
-USE_RAMDISK=1 CXX=g++-6 make install-release -j${THREADS} || exit 1
+CXX=g++-6 make build-code-release -j${THREADS} || exit 1
+CXX=g++-6 make install-release -j${THREADS} || exit 1
diff --git a/makefile b/makefile
index 460ecbeedcf2c9b03e5a03c7d00f05240ac0098e..c2a483a176bceaacd4ec9c7423999d0d997046a7 100644
--- a/makefile
+++ b/makefile
@@ -1,9 +1,15 @@
 SHELL = /bin/bash
-USE_RAMDISK ?= 0
 APPPATH = /usr/bin
 LIBPATH = /usr/lib
 BINFOLDER = bin
 
+ifeq ("$(wildcard build.conf)","")
+$(shell echo USE_RAMDISK=0 >> build.conf)
+$(shell echo USE_LTO=0 >> build.conf)
+endif
+
+-include build.conf
+
 # can be queued from version 4.2 via MAKEFLAGS sice there is the number of jobs as well
 MAKE_PID := $(shell echo $$PPID)
 JOB_FLAG := $(filter -j%, $(subst -j ,-j,$(shell ps T | grep "^\s*$(MAKE_PID).*$(MAKE)")))
diff --git a/tniceprint/makefile b/tniceprint/makefile
index 1527c83e67afda42077dc506d791b6c0e2e00f20..4064fd013121e849e47c80f3733b1e5231d5ad38 100644
--- a/tniceprint/makefile
+++ b/tniceprint/makefile
@@ -1,7 +1,13 @@
 SHELL:=/bin/bash
-USE_RAMDISK ?= 0
+
+-include ../build.conf
 -include makefile.conf
 
+LTO_PARAM:=
+ifeq ($(USE_LTO),1)
+LTO_PARAM:= -flto
+endif
+
 define NEW_LINE
 
 
@@ -13,7 +19,7 @@ CXX_FLAGS := -Wall -pedantic -Wextra -Werror -Wshadow -Wpointer-arith -Wcast-qua
 
 LDFLAGS_DEBUG:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-debug, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -Wl,-rpath,.
 
-LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) -flto -Wl,-rpath,.
+LDFLAGS_RELEASE:=-Wl,--no-as-needed $(addprefix -L, $(addsuffix lib-release, $(LINK_PATHS))) -rdynamic $(addprefix -l, $(LINK_LIBRARIES)) $(LTO_PARAM) -Wl,-rpath,.
 
 OBJECTS_DEBUG:=$(patsubst src/%.cpp,obj-debug/%.o, $(shell find src/ -name *cpp))
 
@@ -118,7 +124,7 @@ obj-debug/: FORCE | obj-debug/makefile
 	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-debug) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-g -Og -DDEBUG"
 
 obj-release/: FORCE | obj-release/makefile
-	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -flto -DNDEBUG -DRELEASE"
+	$(MAKE) -C $@ OBJECTS_BASE_DIR=$(realpath obj-release) SOURCES_BASE_DIR=$(realpath src) CXX_OTHER_FLAGS="-O3 -DNDEBUG -DRELEASE $(LTO_PARAM)"
 
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # objects dependencies