Integrated a few external musrfit plug-ins into the standard build process.

In order to enable building of the additional libraries supply the following options to the configure script:

--enable-BMWlibs (for libTFitPofB libLFRelaxation libGapIntegrals libCalcMeanFieldsLEM)
--enable-ASlibs (for libPNL_PippardFitter)

By default, both options are disabled.

At the moment I have tested it only in an SL5 32-bit environment.
Further tests are going to follow.

For a clean installation I suggest to remove any musrfit and plug-in installations before newly building musrfit.
This commit is contained in:
Bastian M. Wojek
2009-12-22 17:00:43 +00:00
parent b07d28f770
commit a6959ea2fc
12 changed files with 368 additions and 129 deletions

View File

@ -1 +1,5 @@
SUBDIRS = TLemRunHeader MuSR_software mud
SUBDIRS = TFitPofB-lib \
libLFRelaxation \
libGapIntegrals \
libCalcMeanFieldsLEM \
Nonlocal

View File

@ -1,107 +0,0 @@
#---------------------------------------------------
# Makefile
#
# Author: Andreas Suter
# e-mail: andreas.suter@psi.ch
#
# $Id$
#
#---------------------------------------------------
#---------------------------------------------------
# get compilation and library flags from root-config
ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags)
ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --libs)
ROOTGLIBS = $(shell $(ROOTSYS)/bin/root-config --glibs)
#---------------------------------------------------
# depending on the architecture, choose the compiler,
# linker, and the flags to use
#
OSTYPE = $(shell uname)
ifeq ($(OSTYPE),Linux)
OS = LINUX
endif
ifeq ($(OSTYPE),Linux-gnu)
OS = LINUX
endif
ifeq ($(OSTYPE),darwin)
OS = DARWIN
endif
# -- Linux
ifeq ($(OS),LINUX)
CXX = g++
CXXFLAGS = -Wall -Wno-trigraphs -fPIC
INCLUDES = -I../include
LD = g++
LDFLAGS = -g
SOFLAGS = -O -shared
endif
# -- Darwin
ifeq ($(OS),DARWIN)
CXX = g++
CXXFLAGS = -Wall -Wno-trigraphs -fPIC
INCLUDES = -I../include
LD = g++
LDFLAGS = -g
SOFLAGS = -dynamic
endif
# the output from the root-config script:
CXXFLAGS += $(ROOTCFLAGS)
LDFLAGS +=
# the ROOT libraries (G = graphic)
LIBS = $(ROOTLIBS) -lXMLParser
GLIBS = $(ROOTGLIBS) -lXMLParser
# some definitions: headers (used to generate *Dict* stuff), sources, objects,...
OBJS =
OBJS += PNL_StartupHandler.o PNL_StartupHandlerDict.o
OBJS += PNL_RgeHandler.o
OBJS += PNL_PippardFitter.o PNL_PippardFitterDict.o
SHLIB = libPNL_PippardFitter.so
# make the shared lib:
#
all: $(SHLIB)
$(SHLIB): $(OBJS)
@echo "---> Building shared library $(SHLIB) ..."
/bin/rm -f $(SHLIB)
$(LD) $(OBJS) $(SOFLAGS) -o $(SHLIB) $(LIBS)
@echo "done"
# clean up: remove all object file (and core files)
# semicolon needed to tell make there is no source
# for this target!
#
clean:; @rm -f $(OBJS) *Dict* core*
@echo "---> removing $(OBJS)"
#
$(OBJS): %.o: %.cpp
$(CXX) $(INCLUDES) $(CXXFLAGS) -c $<
PNL_StartupHandlerDict.cpp: PNL_StartupHandler.h PNL_StartupHandlerLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p $^
PNL_PippardFitterDict.cpp: PNL_PippardFitter.h PNL_PippardFitterLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p $^
install: all
@echo "Installing shared lib: libPUserFcn.so ( you must be root ;-) )"
ifeq ($(OS),LINUX)
cp -pv $(SHLIB) $(ROOTSYS)/lib
# cp -pv PNonlocal.h $(ROOTSYS)/include
# cp -pv PNL_StartupHandler.h $(ROOTSYS)/include
cp -pv PNL_PippardFitter.h $(ROOTSYS)/include
endif

48
src/external/Nonlocal/Makefile.am vendored Normal file
View File

@ -0,0 +1,48 @@
## Process this file with automake to create Makefile.in
h_sources = \
PNL_PippardFitter.h \
PNL_RgeHandler.h \
PNL_StartupHandler.h \
PNonlocal.h
h_linkdef = \
PNL_PippardFitterLinkDef.h \
PNL_StartupHandlerLinkDef.h
dict_h_sources = \
PNL_PippardFitterDict.h \
PNL_StartupHandlerDict.h
cpp_sources = \
PNL_PippardFitter.cpp \
PNL_RgeHandler.cpp \
PNL_StartupHandler.cpp
dict_cpp_sources = \
PNL_PippardFitterDict.cpp \
PNL_StartupHandlerDict.cpp
include_HEADERS = $(h_sources)
noinst_HEADERS = $(h_linkdef) $(dict_h_sources)
INCLUDES = -I$(top_srcdir)/src/include -I../include $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) $(ROOT_CFLAGS)
AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS)
BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources)
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core
%Dict.cpp %Dict.h: %.h %LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^
lib_LTLIBRARIES = libPNL_PippardFitter.la
libPNL_PippardFitter_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources)
libPNL_PippardFitter_la_LIBADD = $(PMUSR_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS)
libPNL_PippardFitter_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS)
## For the moment do not build pkgconfig files for musrfit plug-ins...
## pkgconfigdir = $(libdir)/pkgconfig
## pkgconfig_DATA = PNL_PippardFitter.pc

1
src/external/TFitPofB-lib/Makefile.am vendored Normal file
View File

@ -0,0 +1 @@
SUBDIRS = classes

View File

@ -0,0 +1,65 @@
## Process this file with automake to create Makefile.in
h_sources = \
../include/TBofZCalc.h \
../include/TBulkTriVortexFieldCalc.h \
../include/TFitPofBStartupHandler.h \
../include/TLondon1D.h \
../include/TPofBCalc.h \
../include/TPofTCalc.h \
../include/TSkewedGss.h \
../include/TTrimSPDataHandler.h \
../include/TVortex.h
h_linkdef = \
../include/TFitPofBStartupHandlerLinkDef.h \
../include/TLondon1DLinkDef.h \
../include/TVortexLinkDef.h \
../include/TSkewedGssLinkDef.h
dict_h_sources = \
TFitPofBStartupHandlerDict.h \
TLondon1DDict.h \
TSkewedGssDict.h \
TVortexDict.h
cpp_sources = \
TBulkTriVortexFieldCalc.cpp \
TBofZCalc.cpp \
TFitPofBStartupHandler.cpp \
TLondon1D.cpp \
TPofBCalc.cpp \
TPofTCalc.cpp \
TSkewedGss.cpp \
TTrimSPDataHandler.cpp \
TVortex.cpp
dict_cpp_sources = \
TFitPofBStartupHandlerDict.cpp \
TLondon1DDict.cpp \
TSkewedGssDict.cpp \
TVortexDict.cpp
include_HEADERS = $(h_sources)
noinst_HEADERS = $(h_linkdef) $(dict_h_sources)
INCLUDES = -I$(top_srcdir)/src/include -I../include $(LEM_CFLAGS) $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) $(ROOT_CFLAGS)
AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS)
BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources)
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core
%Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^
lib_LTLIBRARIES = libTFitPofB.la
libTFitPofB_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources)
libTFitPofB_la_LIBADD = $(LEM_LIBS) $(PMUSR_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS)
libTFitPofB_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS)
## For the moment do not build pkgconfig files for musrfit plug-ins...
## pkgconfigdir = $(libdir)/pkgconfig
## pkgconfig_DATA = PTFitPofB.pc

View File

@ -0,0 +1,40 @@
## Process this file with automake to create Makefile.in
h_sources = \
TCalcMeanFieldsLEM.h
h_linkdef = \
TCalcMeanFieldsLEMLinkDef.h
dict_h_sources = \
TCalcMeanFieldsLEMDict.h
cpp_sources = \
TCalcMeanFieldsLEM.cpp
dict_cpp_sources = \
TCalcMeanFieldsLEMDict.cpp
include_HEADERS = $(h_sources)
noinst_HEADERS = $(h_linkdef) $(dict_h_sources)
INCLUDES = -I$(top_srcdir)/src/include $(TFITPOFB_CFLAGS) $(PMUSR_CFLAGS) $(ROOT_CFLAGS)
AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS)
BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources)
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core
%Dict.cpp %Dict.h: %.h %LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^
lib_LTLIBRARIES = libCalcMeanFieldsLEM.la
libCalcMeanFieldsLEM_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources)
libCalcMeanFieldsLEM_la_LIBADD = $(TFITPOFB_LIBS) $(PMUSR_LIBS) $(ROOT_LIBS)
libCalcMeanFieldsLEM_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS)
## For the moment do not build pkgconfig files for musrfit plug-ins...
## pkgconfigdir = $(libdir)/pkgconfig
## pkgconfig_DATA = CalcMeanFieldsLEM.pc

View File

@ -0,0 +1,42 @@
## Process this file with automake to create Makefile.in
h_sources = \
TGapIntegrals.h \
../BMWIntegrator/BMWIntegrator.h
h_linkdef = \
TGapIntegralsLinkDef.h
dict_h_sources = \
TGapIntegralsDict.h
cpp_sources = \
TGapIntegrals.cpp \
../BMWIntegrator/BMWIntegrator.cpp
dict_cpp_sources = \
TGapIntegralsDict.cpp
include_HEADERS = $(h_sources)
noinst_HEADERS = $(h_linkdef) $(dict_h_sources)
INCLUDES = -I$(top_srcdir)/src/include $(PMUSR_CFLAGS) $(GSL_CFLAGS) $(ROOT_CFLAGS) $(CUBA_CFLAGS)
AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS)
BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources)
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core
%Dict.cpp %Dict.h: %.h %LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^
lib_LTLIBRARIES = libGapIntegrals.la
libGapIntegrals_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources)
libGapIntegrals_la_LIBADD = $(PMUSR_LIBS) $(GSL_LIBS) $(ROOT_LIBS) $(CUBA_LIBS)
libGapIntegrals_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS)
## For the moment do not build pkgconfig files for musrfit plug-ins...
## pkgconfigdir = $(libdir)/pkgconfig
## pkgconfig_DATA = GapIntegrals.pc

View File

@ -0,0 +1,42 @@
## Process this file with automake to create Makefile.in
h_sources = \
TLFRelaxation.h \
../BMWIntegrator/BMWIntegrator.h
h_linkdef = \
TLFRelaxationLinkDef.h
dict_h_sources = \
TLFRelaxationDict.h
cpp_sources = \
TLFRelaxation.cpp \
../BMWIntegrator/BMWIntegrator.cpp
dict_cpp_sources = \
TLFRelaxationDict.cpp
include_HEADERS = $(h_sources)
noinst_HEADERS = $(h_linkdef) $(dict_h_sources)
INCLUDES = -I$(top_srcdir)/src/include $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) $(GSL_CFLAGS) $(ROOT_CFLAGS) $(CUBA_CFLAGS)
AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS)
BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources)
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core
%Dict.cpp %Dict.h: %.h %LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^
lib_LTLIBRARIES = libLFRelaxation.la
libLFRelaxation_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources)
libLFRelaxation_la_LIBADD = $(PMUSR_LIBS) $(FFTW3_LIBS) $(GSL_LIBS) $(ROOT_LIBS) $(CUBA_LIBS)
libLFRelaxation_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS)
## For the moment do not build pkgconfig files for musrfit plug-ins...
## pkgconfigdir = $(libdir)/pkgconfig
## pkgconfig_DATA = LFRelaxation.pc