Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
0cffabb
first cmaes addition
beniz May 5, 2014
ff42d7f
fixed configure for root 6 with cmaes
beniz May 6, 2014
d210ca3
adding cmaes repository
beniz May 6, 2014
d1ef702
added cmaes plugin
May 6, 2014
68c672e
first working auto-loaded cmaes
May 6, 2014
8297ed8
fixed cmaes wrapper + added likelihood gaussian fit to tutorial
May 6, 2014
6bdea61
connecting error estimates to cmaes wrapper
May 6, 2014
7d8bb1a
libcmaes auto detection
May 15, 2014
6822fb7
default CMA-ES progress function set to no output
May 15, 2014
8f1f69d
added support for box-type constraints with CMA-ES
May 16, 2014
40fdc4e
added support to multiple flavors of CMA-ES
May 19, 2014
d0d38e1
added 1D histograms fitting benchmark for CMA-ES
May 19, 2014
91fde3a
fixed loading of libraries in CMA-ES tutorial hist fit
May 19, 2014
66dab5b
fixed status in libcmaes wrapper
May 19, 2014
12537ce
fixed initialization of parameters with CMA-ES
May 20, 2014
8e65517
added 2D bench for cmaes
May 20, 2014
15e51d4
added explanations to hist 1D fit for cmaes
May 20, 2014
5643376
fixed parameters init for CMA-ES after refactoring of the libcmaes
May 21, 2014
9085301
provides error to true in CMAESMinimizer.h + preparing for fixed para…
May 21, 2014
4b66041
set default sigma0 for CMA-ES as the max step size across parameters
May 26, 2014
8be905a
fixed multiple loading of external lib in fit tutorial for CMA-ES
May 26, 2014
3b582c3
introduced first MINOS version for CMA-ES + added control of ftoleran…
May 26, 2014
b6527ab
added to CMA-ES packagte the same tests that are available for Minuit2
May 26, 2014
35894e0
fixes and additions to current set of fit tutorials for CMA-ES + new …
May 26, 2014
497b038
connected fUp to CMA-ES confidence interval (minos) computations
May 27, 2014
3b328fc
added control of max iterations and max functions eval to CMA-ES thro…
May 27, 2014
3a308b8
did bump the default max function budget for CMA-ES
May 27, 2014
d18b20f
added support for MinimizerOptions with cmaes, fixes #4
Jun 16, 2014
1c74c20
using conservative min initial step-size value across all parameters …
Jun 16, 2014
121b59c
adapted tutorials to new cmaes performances
Jun 16, 2014
be809c5
added support for gradient information with cmaes when available
Jun 16, 2014
d472356
added cmaes full bench tutorial script
Jun 17, 2014
6569d59
added more examples + fixes to cmaes bench script
Jun 18, 2014
fd8ca30
added support for cmaes / minuit2 budget and cpu ratio to benchmark
Jun 18, 2014
650a168
fixed settings of fixed variables in cmaes minimizer
Jun 18, 2014
d95b6b5
fixed clearing of parameter object in cmaes wrapper
Jun 19, 2014
cd8ee8f
new scheme in cmaes benchmark in order to compare algorithms on exact…
Jun 19, 2014
68f3c1f
added new functions to cmaes benchmark, in new format
Jun 19, 2014
174a973
added combined fit cmaes benchmark to new format
Jun 19, 2014
02c8e5b
completed migration of cmaes benchmarks
Jun 19, 2014
8b609fe
added control of number of cmaes benchmark loops over functions
Jun 19, 2014
32a8a27
first release of the cmaes / minuit2 benchmark tool and visualization
Jun 20, 2014
cc7a844
added support for Edm to ROOT with CMA-ES, closes #6
Jun 24, 2014
8db4d61
filled up missing functions in CMA-ES minimizer wrapper
Jun 24, 2014
97c1e0b
made CMA-ES minimizer's status compatible with those of Minuit2, clos…
Jun 24, 2014
3f11332
clean up of CMA-ES minimizer header
Jun 24, 2014
67f75cb
logscale + fixes to benchmark suite for CMA-ES and plot
Jun 24, 2014
ecb4dcc
improvements to CMA-ES benchmark suite
Jun 24, 2014
9e05a96
CMA-ES benchmark suite support for multiple lambda values
Jun 25, 2014
6bad1e9
logging of freeDim variable
Jun 25, 2014
f6b1637
CMA-ES benchmark suite with multiple lambda values
Jun 25, 2014
9688107
reactivate all problems on CMA-ES benchmark
Jun 25, 2014
ad74d64
added linear scaling of input parameters to CMA-ES Minimizer, ref #5
Jun 27, 2014
d8c17e1
added support for sigma as option to CMA-ES Minimizer
Jun 27, 2014
e0a5cfd
added optional linear scaling to CMA-ES Minimizer, ref #5
Jun 27, 2014
db2cdbf
added support for optional linear scaling to CMA-ES benchmark suite, …
Jun 27, 2014
18ad98a
updated CMA-ES lorentz tutorial with control of sigma and lambda
Jun 27, 2014
a593a2f
fixed sigma0 as conservative value when linear scaling is not activat…
Jul 1, 2014
5f83093
added computation of error bounds when geno/pheno tranform is active …
Jul 2, 2014
c409401
refactoring for new Minimizer getters for fTol, fUp and fMaxIter
Jul 7, 2014
ec00dfa
added support of numerical gradient injection to cma-es wrapper
Jul 11, 2014
87d6143
change for setting edm with cma-es
Jul 11, 2014
48afb36
update to the minuit/cmaes benchmark
Aug 18, 2014
6a2dcd7
major fix to CMA-ES / Minuit2 benchmark
Aug 20, 2014
35b7824
updated cmaes due to new setters/getters in libcmaes
Sep 9, 2014
3332466
merge with stash
Sep 9, 2014
39b8628
fixed previous commit
Sep 9, 2014
d792df1
fixed access to private cmaes pli members
Sep 9, 2014
b007b13
added support for multihreaded objective function calls to CMA-ES fro…
Sep 15, 2014
840d66a
added support for control of the quiet option of libcmaes through Min…
Sep 18, 2014
732c030
cmaes: added support for seed as an option + added example of a custo…
Sep 18, 2014
b7cf1c4
cmaes: fixed activation of gradient function when available from with…
Sep 19, 2014
81cfe34
fix wrt to cmaes API
Nov 8, 2014
9109a13
cmaes working with cmake
Nov 10, 2014
bc79394
fixes for cmake and configure building systems with cmaes
Nov 10, 2014
418b2e2
fix for new cmaes pli accesors
Nov 12, 2014
5068ec6
Support for CMA-ES minimizer based on libcmaes
Nov 18, 2014
9032142
allow cmake build with CMA-ES support without pkg-config nor full ins…
Nov 21, 2014
2b25ed6
libcmaes and CMA-ES are OFF by default
Nov 21, 2014
0260fd8
fixed libcmaes flag in compilation
Nov 21, 2014
aa83ec6
cmake download libcmaes and eigen3, install them locally from scratch…
Nov 22, 2014
e047c4f
cmake download libcmaes and eigen3, install them locally from scratch…
Nov 22, 2014
31d6842
name of export project was confusing cmake
beniz Nov 25, 2014
30edfcb
only build libcmaes lib with no exe when build from ROOT cmake
beniz Nov 25, 2014
66e5366
added cmaes support README.md file
Jan 5, 2015
c9a68ae
lower the default number of CMA-ES profile likelihood (aka Minos) ite…
Mar 3, 2015
46ff847
activate full CMA-ES Root benchmark
Mar 3, 2015
1792e11
CMA-ES glue code cleanup
Mar 3, 2015
b7558fc
added support for novel CMA-ES options: uncertainty handling and elitism
Mar 3, 2015
8db5df2
cleanup of the CMA-ES tutorial fit examples
Mar 3, 2015
ca9554d
connected libcmaes contour function
Mar 6, 2015
a85f657
use libcmaes simplified algo setter
Mar 6, 2015
870359e
cleared compilation warnings of CMA-ES Minimizer
Mar 6, 2015
b344e9c
disabling libcmaes surrogates as unused in ROOT and for faster build …
Mar 6, 2015
89ffee9
added Scan function to CMAESMinimizer
Mar 6, 2015
2e92b44
using libcmaes errors() call for standard deviation
Mar 9, 2015
5d20c01
added proper funding reference of the CMA-ES integration work
Mar 10, 2015
3f5788d
fixed TF1 merge
beniz Apr 17, 2017
ef2288f
cmaes ROOT_USE_PACKAGE removal
beniz Apr 17, 2017
f9b127f
removed backup file
beniz Apr 18, 2017
7567f4a
buildcmaes in alphabetical order
beniz Apr 18, 2017
68443f4
fixed Root main URL in cmaes module README
beniz Apr 18, 2017
82140fd
removed protectors around cmaes minimizer headers
beniz Apr 18, 2017
d062a9e
Merge branch 'cmaes_root' of https://github.com/beniz/root into beniz…
lmoneta Jan 14, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions cmake/modules/FindLibCmaes.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# - Try to find libcmaes, https://github.com/beniz/libcmaes
# Once done this will define
#
# LIBCMAES_FOUND - system has libcmaes
# LIBCMES_INCLUDE_DIR - the libcmaes include directory
# LIBCMAES_LIBRARIES - Link these to use libcmaes
# LIBCMAES_DEFINITIONS - Compiler switches required for using libcmaes
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#


# Copyright (c) 2014, Emmanuel Benazera, <[email protected]>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.

if ( LIBCMAES_INCLUDE_DIR AND LIBCMAES_LIBRARIES )
# in cache already
SET(Libcmaes_FIND_QUIETLY TRUE)
endif ( LIBCMAES_INCLUDE_DIR AND LIBCMAES_LIBRARIES )

# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
if( NOT WIN32 )
find_package(PkgConfig)
pkg_check_modules(PC_LIBCMAES QUIET libcmaes)

if( PKG_CONFIG_FOUND )
set(LIBCMAES_INCLUDE_DIR ${PC_LIBCMAES_INCLUDE_DIRS})
set(LIBCMAES_LIBRARIES ${PC_LIBCMAES_LIBRARY_DIRS})
set(LIBCMAES_DEFINITIONS ${PC_LIBCMAES_CFLAGS_OTHER})
endif( PKG_CONFIG_FOUND )

endif( NOT WIN32 )

find_path(LIBCMAES_INCLUDE_DIR NAMES cmaes.h
PATHS
${PC_LIBCMAES_INCLUDEDIR}
${PC_LIBCMAES_INCLUDE_DIRS}
)

find_library(LIBCMAES_LIBRARIES NAMES libcmaes
PATHS
${PC_LIBCMAES_LIBDIR}
${PC_LIBCMAES_LIBRARY_DIRS}
)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libcmaes DEFAULT_MSG LIBCMAES_INCLUDE_DIR LIBCMAES_LIBRARIES )

# show the LIBCMAES_INCLUDE_DIR and LIBCMAES_LIBRARIES variables only in the advanced view
mark_as_advanced(LIBCMAES_INCLUDE_DIR LIBCMAES_LIBRARIES )
1 change: 1 addition & 0 deletions cmake/modules/RootBuildOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ ROOT_BUILD_OPTION(http ON "Enable suppport for HTTP server")
ROOT_BUILD_OPTION(fcgi OFF "Enable FastCGI suppport in HTTP server")
ROOT_BUILD_OPTION(imt ON "Enable support for implicit multi-threading via Intel® Thread Bulding Blocks (TBB)")
ROOT_BUILD_OPTION(jemalloc OFF "Use jemalloc memory allocator")
ROOT_BUILD_OPTION(libcmaes OFF "Build the libcmaes minimizer library")
ROOT_BUILD_OPTION(libcxx OFF "Build using libc++")
ROOT_BUILD_OPTION(macos_native OFF "Disable looking for libraries, includes and binaries in locations other than a native installation (MacOS only)")
ROOT_BUILD_OPTION(mathmore ON "Build libMathMore extended math library (requires GSL)")
Expand Down
1 change: 1 addition & 0 deletions cmake/modules/RootConfiguration.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,7 @@ set(gslflags)

set(shadowpw ${value${shadowpw}})
set(buildmathmore ${value${mathmore}})
set(buildcmaes ${value${libcmaes}})
set(buildroofit ${value${roofit}})
set(buildminuit2 ${value${minuit2}})
set(buildunuran ${value${unuran}})
Expand Down
33 changes: 33 additions & 0 deletions cmake/modules/SearchInstalledSoftware.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -729,6 +729,39 @@ if(sqlite)
endif()
endif()

#---Check for Libcmaes-------------------------------------------------------------------
if(libcmaes)
message(STATUS "Looking for libcmaes")
find_package(LibCmaes)
if(NOT LIBCMAES_FOUND)
message(STATUS "Fetching and compiling libcmaes")
ExternalProject_Add(
eigen3
PREFIX eigen3
INSTALL_DIR ${CMAKE_BINARY_DIR}
URL http://bitbucket.org/eigen/eigen/get/3.2.2.tar.gz
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
)
ExternalProject_Add(
cma
DEPENDS eigen3
PREFIX cma
INSTALL_DIR ${CMAKE_BINARY_DIR}
URL https://github.com/beniz/libcmaes/archive/master.tar.gz
CONFIGURE_COMMAND ./autogen.sh && ./configure --prefix=<INSTALL_DIR> --with-eigen3-include=${CMAKE_BINARY_DIR}/include/eigen3 --enable-onlylib --disable-surrog
BUILD_IN_SOURCE 1
)
set(LIBCMAES_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include/libcmaes ${CMAKE_BINARY_DIR}/include/eigen3)
set(LIBCMAES_LIBRARIES ${CMAKE_BINARY_DIR}/lib/)
#if(fail-on-missing)
# message(FATAL_ERROR "libcmaes not found")
#else()
# message(STATUS "libcmaes not found. Switching off libcmaes option")
# set(libcmaes OFF CACHE BOOL "" FORCE)
#endif()
endif()
endif()

#---Check for Pythia6-------------------------------------------------------------------
if(pythia6)
message(STATUS "Looking for Pythia6")
Expand Down
5 changes: 5 additions & 0 deletions config/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,11 @@ BUILDROOFIT := @buildroofit@

BUILDMINUIT2 := @buildminuit2@

BUILDCMAES := @buildcmaes@
CMAESINCDIR := $(filter-out -I/usr/include, @cmaesincdir@)
CMAESLIBDIR := @cmaeslibdir@
CMAESLIB := -lcmaes

BUILDUNURAN := @buildunuran@

BUILDVC := @buildvc@
Expand Down
6 changes: 3 additions & 3 deletions core/base/src/TPluginManager.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ void TPluginManager::LoadHandlersFromEnv(TEnv *env)
TString ctor = strtok(0, ";\"");
if (!ctor.Contains("("))
ctor = strtok(0, ";\"");
AddHandler(s, regexp, clss, plugin, ctor, "TEnv");
AddHandler(s, regexp, clss, plugin, ctor, "TEnv");
cnt++;
}
delete [] v;
Expand Down Expand Up @@ -587,8 +587,8 @@ TPluginHandler *TPluginManager::FindHandler(const char *base, const char *uri)

while ((h = (TPluginHandler*) next())) {
if (h->CanHandle(base, uri)) {
if (gDebug > 0)
Info("FindHandler", "found plugin for %s", h->GetClass());
/*if (gDebug > 0)
Info("FindHandler", "found plugin for %s", h->GetClass());*/
return h;
}
}
Expand Down
4 changes: 2 additions & 2 deletions etc/plugins/ROOT@@Math@@Minimizer/P010_Minuit2Minimizer.C
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
void P010_Minuit2Minimizer()
{
gPluginMgr->AddHandler("ROOT::Math::Minimizer", "Minuit2", "ROOT::Minuit2::Minuit2Minimizer",
"Minuit2", "Minuit2Minimizer(const char *)");
gPluginMgr->AddHandler("ROOT::Math::Minimizer", "Minuit2", "ROOT::Minuit2::Minuit2Minimizer",
"Minuit2", "Minuit2Minimizer(const char *)");
}
5 changes: 5 additions & 0 deletions etc/plugins/ROOT@@Math@@Minimizer/P090_TCMAESMinimizer.C
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
void P090_TCMAESMinimizer()
{
gPluginMgr->AddHandler("ROOT::Math::Minimizer", "cmaes", "ROOT::cmaes::TCMAESMinimizer",
"cmaes_root", "TCMAESMinimizer(const char *)");
}
6 changes: 3 additions & 3 deletions graf2d/asimage/src/libAfterImage/asfont.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,11 @@
# include <ft2build.h>
# include FT_FREETYPE_H
# endif
# ifdef HAVE_FREETYPE_FREETYPE
/*# ifdef HAVE_FREETYPE_FREETYPE
# include <freetype/freetype.h>
# else
# else*/
# include <freetype.h>
# endif
//# endif
# if (FREETYPE_MAJOR == 2) && ((FREETYPE_MINOR == 0) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 3)))
# define FT_KERNING_DEFAULT ft_kerning_default
# endif
Expand Down
1 change: 0 additions & 1 deletion hist/hist/src/TF1.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1766,7 +1766,6 @@ Double_t TF1::GetMinMaxNDim(Double_t *x , bool findmax, Double_t epsilon, Int_t
stepSize = (rmax[i] - rmin[i]) / 100;
else if (std::abs(x[i]) > 1.)
stepSize = 0.1 * x[i];

// set variable names
if (ndim <= 3) {
if (i == 0) {
Expand Down
3 changes: 3 additions & 0 deletions math/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ add_subdirectory(minuit)
if(minuit2)
add_subdirectory(minuit2)
endif()
if (libcmaes)
add_subdirectory(cmaes)
endif()
add_subdirectory(fumili)
add_subdirectory(physics)
if(mlp)
Expand Down
13 changes: 13 additions & 0 deletions math/cmaes/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
############################################################################
# CMakeLists.txt file for building ROOT math/cmaes package
############################################################################

add_definitions(-DWARNINGMSG -DUSE_ROOT_ERROR)

include_directories(${LIBCMAES_INCLUDE_DIR})
link_directories(${LIBCMAES_LIBRARIES})

ROOT_GENERATE_DICTIONARY(G__cmaes *.h MODULE cmaes LINKDEF LinkDef.h)

ROOT_LINKER_LIBRARY(cmaes_root *.cxx G__cmaes.cxx DEPENDENCIES MathCore Hist LIBRARIES cmaes)
ROOT_INSTALL_HEADERS()
140 changes: 140 additions & 0 deletions math/cmaes/Module.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
# Module.mk for cmaes module.

MODNAME := cmaes
MODDIR := $(ROOT_SRCDIR)/math/$(MODNAME)
MODDIRS := $(MODDIR)/src
MODDIRI := $(MODDIR)/inc

CMAESDIR := $(MODDIR)
CMAESDIRS := $(CMAESDIR)/src
CMAESDIRI := $(CMAESDIR)/inc
#CMAESDIRT :=$(call stripsrc,$(CMAESDIR)/test)

CMAESBASEVERS := cmaes-1_0_0
CMAESBASESRCS := $(MODDIRS)/$(CMAESBASEVERS).tar.gz
CMAESBASEDIRS := $(MODDIRS)/$(CMAESBASEVERS)
CMAESBASEDIRI := -I$(MODDIRS)/$(CMAESBASEVERS)
CMAESBASEETAG := $(MODDIRS)/headers.d

##### liblcg_cmaes #####
ifeq ($(PLATFORM),win32)
CMAESBASELIBA := $(CMAESBASEDIRS)/libcmaesbase.lib
CMAESBASELIB := $(LPATH)/libcmaesbase.lib
ifeq (debug,$(findstring debug,$(ROOTBUILD)))
CMAESBASEBLD = "DEBUG=1"
else
CMAESBASEBLD = ""
endif
else
CMAESBASELIBA := $(CMAESBASEDIRS)/src/.libs/liblcg_cmaes.a
CMAESBASELIB := $(LPATH)/libcmaesbase.a
endif
CMAESBASEDEP := $(CMAESBASELIB)

##### libcmaes #####
CMAESL := $(MODDIRI)/LinkDef.h
CMAESDS := $(call stripsrc,$(MODDIRS)/G__cmaes.cxx)
CMAESDO := $(CMAESDS:.cxx=.o)
CMAESDH := $(CMAESDS:.cxx=.h)

CMAESAH := $(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h))
CMAESBH := $(filter-out $(MODDIRI)/cmaes/LinkDef%,$(wildcard $(MODDIRI)/cmaes/*.h))
CMAESH := $(CMAESAH) $(CMAESBH)
CMAESS := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx))
CMAESO := $(call stripsrc,$(CMAESS:.cxx=.o))

CMAESDEP := $(CMAESO:.o=.d) $(CMAESDO:.o=.d)

CMAESLIB := $(LPATH)/libcmaes_root.$(SOEXT)
CMAESMAP := $(CMAESLIB:.$(SOEXT)=.rootmap)

# use this compiler option if want to optimize object allocation in cmaes
# NOTE: using this option one loses the thread safety.
# It is worth to use only for minimization of cheap (non CPU intensive) functions
#CXXFLAGS += -DMN_USE_STACK_ALLOC

# used in the main Makefile
ALLHDRS += $(patsubst $(MODDIRI)/%.h,include/%.h,$(CMAESH))
ALLLIBS += $(CMAESLIB)
ALLMAPS += $(CMAESMAP)

# include all dependency files
INCLUDEFILES += $(CMAESDEP)

##### local rules #####
.PHONY: all-$(MODNAME) clean-$(MODNAME) distclean-$(MODNAME) \
test-$(MODNAME)

include/cmaes/%.h: $(CMAESDIRI)/cmaes/%.h
@(if [ ! -d "include/cmaes" ]; then \
mkdir -p include/cmaes; \
fi)
cp $< $@

include/%.h: $(CMAESDIRI)/%.h
cp $< $@

$(CMAESLIB): $(CMAESO) $(CMAESDO) $(ORDER_) $(MAINLIBS) $(CMAESLIBDEP)
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
"$(SOFLAGS)" libcmaes_root.$(SOEXT) $@ \
"$(CMAESO) $(CMAESDO)" "-lcmaes -lMathCore" "$(CMAESLIBEXTRA)"

$(call pcmrule,CMAES)
$(noop)

$(CMAESDS): $(CMAESH) $(CMAESL) $(ROOTCLINGEXE) $(call pcmdep,CMAES)
$(MAKEDIR)
@echo "Generating dictionary $@..."
$(ROOTCLINGSTAGE2) -f $@ $(call dictModule,CMAES) -I$(CMAESINCDIR) -I/usr/include/eigen3 -c $(CMAESH) $(CMAESL)

$(CMAESMAP): $(CMAESH) $(CMAESL) $(ROOTCLINGEXE) $(call pcmdep,CMAES)
$(MAKEDIR)
@echo "Generating rootmap $@..."
$(ROOTCLINGSTAGE2) -r $(CMAESDS) $(call dictModule,CMAES) -c $(CMAESH) $(CMAESL)

all-$(MODNAME): $(CMAESLIB)

#test-$(MODNAME): all-$(MODNAME)
#ifneq ($(ROOT_OBJDIR),$(ROOT_SRCDIR))
# @$(INSTALL) $(CMAESDIR)/test $(CMAESDIRT)
#endif
@cd $(CMAESDIRT) && $(MAKE) ROOTCONFIG=../../../bin/root-config

clean-$(MODNAME):
@rm -f $(CMAESO) $(CMAESDO)

clean:: clean-$(MODNAME)

distclean-$(MODNAME): clean-$(MODNAME)
@rm -f $(CMAESDEP) $(CMAESDS) $(CMAESDH) $(CMAESLIB) \
$(CMAESMAP)
@rm -rf include/cmaes
ifneq ($(ROOT_OBJDIR),$(ROOT_SRCDIR))
@rm -rf $(CMAESDIRT)
else
@cd $(CMAESDIRT) && $(MAKE) distclean ROOTCONFIG=../../../bin/root-config
endif

distclean:: distclean-$(MODNAME)

##### extra rules ######
$(CMAESO): CXXFLAGS += -DWARNINGMSG -DUSE_ROOT_ERROR
$(CMAESDO): CXXFLAGS += -DWARNINGMSG -DUSE_ROOT_ERROR
#for thread -safet
#$(CMAESO): CXXFLAGS += -DCMAES_THREAD_SAFE
# for openMP
#ifneq ($(USE_PARALLEL_CMAES),)
#ifneq ($(USE_OPENMP),)
#$(CMAESO): CXXFLAGS += -DCMAES_THREAD_SAFE -DCMAES_PARALLEL_OPENMP
#math/cmaes/src/Numerical2PGradientCalculator.o:
$(CMAESO):CXXFLAGS += -D_GLIBCXX_PARALLEL -fopenmp
$(CMAESDO):CXXFLAGS += -D_GLIBCXX_PARALLEL -fopenmp
$(CMAESLIB):LDFLAGS += -fopenmp
#endif

$(CMAESO):CXXFLAGS += -I$(CMAESINCDIR) -I/usr/include/eigen3
$(CMAESDO):CXXFLAGS += -I$(CMAESINCDIR) -I/usr/include/eigen3
$(CMAESDS):CXXFLAGS += -I$(CMAESINCDIR) -I/usr/include/eigen3
$(CMAESLIB):LDFLAGS += $(CMAESLIBDIR)
# Optimize dictionary with stl containers.
$(CMAESDO): NOOPT = $(OPT)
Loading