Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision c66254e1a876dbcd46b647136bf10d44b9645140)
+++ src/Makefile.am	(revision 8278abfe651317e9b27dc124c600abcf84e8bc7b)
@@ -56,5 +56,13 @@
 ___driver_cfa_cpp_LDADD = -ldl			# yywrap
 
-AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O2 -g -std=c++14
+if WITH_LIBPROFILER
+	___driver_cfa_cpp_LDADD += -lprofiler
+endif
+
+if WITH_LIBTCMALLOC
+	___driver_cfa_cpp_LDADD += -ltcmalloc
+endif
+
+AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O3 -g -std=c++14
 AM_LDFLAGS  = @HOST_FLAGS@ -Xlinker -export-dynamic
 ARFLAGS     = cr
Index: src/Makefile.in
===================================================================
--- src/Makefile.in	(revision c66254e1a876dbcd46b647136bf10d44b9645140)
+++ src/Makefile.in	(revision 8278abfe651317e9b27dc124c600abcf84e8bc7b)
@@ -651,5 +651,5 @@
 ___driver_cfa_cpp_SOURCES = $(SRC)
 ___driver_cfa_cpp_LDADD = -ldl			# yywrap
-AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O2 -g -std=c++14
+AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O3 -g -std=c++14
 AM_LDFLAGS = @HOST_FLAGS@ -Xlinker -export-dynamic
 ARFLAGS = cr
@@ -1526,4 +1526,8 @@
 	@rm BasicTypes-gen
 
+@WITH_LIBPROFILER_TRUE@	___driver_cfa_cpp_LDADD += -lprofiler
+
+@WITH_LIBTCMALLOC_TRUE@	___driver_cfa_cpp_LDADD += -ltcmalloc
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
