Skip to content
Snippets Groups Projects
Commit 4037d0d6 authored by Mulas, Giacomo's avatar Mulas, Giacomo
Browse files

update Makefiles to build libnptm library, then link to it

parent a4922e96
No related branches found
No related tags found
No related merge requests found
File moved
......@@ -4,9 +4,17 @@ OBJDIR=$(SRCDIR)/objects
ifndef BUILDDIR
override BUILDDIR=$(SRCDIR)/../build
endif
ifndef BUILDDIR_NPTM
override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif
ifndef LIBNPTM
# choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted
#override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.so
endif
DOCSDIR=$(SRCDIR)/../doc
all: $(SUBDIRS) $(BUILDDIR)
all: $(BUILDDIR) $(SUBDIRS)
docs:
cd $(DOCSDIR)/src; doxygen config.dox
......@@ -14,20 +22,27 @@ docs:
$(BUILDDIR):
mkdir -p $(BUILDDIR)
$(SUBDIRS): $(BUILDDIR)
$(MAKE) -C $@
$(LIBNPTM):
#echo "BUILDDIR_NPTM in libnptm is $(BUILDDIR_NPTM)"
#echo "LIBNPTM in libnptm is $(LIBNPTM)"
BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) LIBNPTM=$(LIBNPTM) $(MAKE) -C libnptm $@
$(SUBDIRS): $(BUILDDIR) $(LIBNPTM)
BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) LIBNPTM=$(LIBNPTM) $(MAKE) -C $@
clean: $(BUILDDIR)
$(MAKE) -C cluster clean
$(MAKE) -C sphere clean
$(MAKE) -C trapping clean
$(MAKE) -C testing clean
BUILDDIR=$(BUILDDIR) $(MAKE) -C cluster clean
BUILDDIR=$(BUILDDIR) $(MAKE) -C sphere clean
BUILDDIR=$(BUILDDIR) $(MAKE) -C trapping clean
BUILDDIR=$(BUILDDIR) $(MAKE) -C testing clean
BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) $(MAKE) -C libnptm clean
wipe: $(BUILDDIR)
$(MAKE) -C cluster wipe
$(MAKE) -C sphere wipe
$(MAKE) -C trapping wipe
$(MAKE) -C testing wipe
BUILDDIR=$(BUILDDIR) $(MAKE) -C cluster wipe
BUILDDIR=$(BUILDDIR) $(MAKE) -C sphere wipe
BUILDDIR=$(BUILDDIR) $(MAKE) -C trapping wipe
BUILDDIR=$(BUILDDIR) $(MAKE) -C testing wipe
BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) $(MAKE) -C libnptm wipe
if [ -d $(DOCSDIR)/build/html ]; then rm -r $(DOCSDIR)/build/html; fi
if [ -d $(DOCSDIR)/build/latex ]; then rm -r $(DOCSDIR)/build/latex; fi
......
......@@ -5,7 +5,15 @@ ifndef BUILDDIR_CLU
override BUILDDIR_CLU=$(BUILDDIR)/cluster
endif
ifndef OBJDIR
override OBJDIR=../objects
override OBJDIR=./objects
endif
ifndef BUILDDIR_NPTM
override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif
ifndef LIBNPTM
# choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
#override LIBNPTM=$(BUILDDIR_NPTM)/libnpTm.so
endif
include ../make.inc
......@@ -13,22 +21,29 @@ include ../make.inc
F_CLU_OBJS=$(OBJDIR)/clu.o $(OBJDIR)/edfb_clu.o
CXX_CLU_OBJS=$(OBJDIR)/np_cluster.o $(OBJDIR)/Commons.o $(OBJDIR)/Configuration.o $(OBJDIR)/file_io.o $(OBJDIR)/Parsers.o $(OBJDIR)/sph_subs.o $(OBJDIR)/clu_subs.o $(OBJDIR)/cluster.o $(OBJDIR)/TransitionMatrix.o
#CXX_CLU_OBJS=$(OBJDIR)/np_cluster.o $(OBJDIR)/Commons.o $(OBJDIR)/Configuration.o $(OBJDIR)/file_io.o $(OBJDIR)/Parsers.o $(OBJDIR)/sph_subs.o $(OBJDIR)/clu_subs.o $(OBJDIR)/cluster.o $(OBJDIR)/TransitionMatrix.o
CXX_CLU_OBJS=$(OBJDIR)/np_cluster.o $(OBJDIR)/cluster.o $(LIBNPTM)
all: $(LIBNPTM) $(BUILDDIR_CLU)/clu $(BUILDDIR_CLU)/edfb_clu $(BUILDDIR_CLU)/np_cluster
$(OBJDIR):
mkdir -p $(OBJDIR)
all: $(BUILDDIR_CLU)/clu $(BUILDDIR_CLU)/edfb_clu $(BUILDDIR_CLU)/np_cluster
$(LIBNPTM):
$(MAKE) -C ../libnptm $@
$(BUILDDIR_CLU):
mkdir -p $(BUILDDIR_CLU)
$(BUILDDIR_CLU)/clu: $(OBJDIR)/clu.o $(BUILDDIR_CLU)
$(BUILDDIR_CLU)/clu: $(OBJDIR) $(OBJDIR)/clu.o $(BUILDDIR_CLU)
$(FC) $(FCFLAGS) -o $(BUILDDIR_CLU)/clu $(OBJDIR)/clu.o $(LDFLAGS)
$(BUILDDIR_CLU)/edfb_clu: $(OBJDIR)/edfb_clu.o $(BUILDDIR_CLU)
$(BUILDDIR_CLU)/edfb_clu: $(OBJDIR) $(OBJDIR)/edfb_clu.o $(BUILDDIR_CLU)
$(FC) $(FCFLAGS) -o $(BUILDDIR_CLU)/edfb_clu $(OBJDIR)/edfb_clu.o $(LDFLAGS)
$(BUILDDIR_CLU)/np_cluster: $(CXX_CLU_OBJS) $(BUILDDIR_CLU)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_CLU)/np_cluster $(CXX_CLU_OBJS) $(CXXLDFLAGS)
$(BUILDDIR_CLU)/np_cluster: $(OBJDIR) $(CXX_CLU_OBJS) $(BUILDDIR_CLU) $(LIBNPTM)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_CLU)/np_cluster $(CXX_CLU_OBJS) $(LIBNPTM) $(CXXLDFLAGS)
clean:
rm -f $(F_CLU_OBJS) $(CXX_CLU_OBJS)
......
ifndef BUILDDIR
override BUILDDIR=../../build
endif
ifndef BUILDDIR_NPTM
override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif
ifndef LIBNPTM
# choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
#override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.so
endif
ifndef OBJDIR
override OBJDIR=./objects
endif
ifndef DYNOBJDIR
override DYNOBJDIR=./dynobjects
endif
include ../make.inc
CXX_NPTM_OBJS=$(OBJDIR)/Commons.o $(OBJDIR)/Configuration.o $(OBJDIR)/file_io.o $(OBJDIR)/Parsers.o $(OBJDIR)/sph_subs.o $(OBJDIR)/clu_subs.o $(OBJDIR)/tra_subs.o $(OBJDIR)/TransitionMatrix.o
CXX_NPTM_DYNOBJS=$(DYNOBJDIR)/Commons.o $(DYNOBJDIR)/Configuration.o $(DYNOBJDIR)/file_io.o $(DYNOBJDIR)/Parsers.o $(DYNOBJDIR)/sph_subs.o $(DYNOBJDIR)/clu_subs.o $(DYNOBJDIR)/tra_subs.o $(DYNOBJDIR)/TransitionMatrix.o
all: $(BUILDDIR_NPTM)/libnptm.a $(BUILDDIR_NPTM)/libnptm.so
$(OBJDIR):
mkdir -p $(OBJDIR)
$(DYNOBJDIR):
mkdir -p $(DYNOBJDIR)
$(BUILDDIR_NPTM):
mkdir -p $(BUILDDIR_NPTM)
$(BUILDDIR_NPTM)/libnptm.a: $(BUILDDIR_NPTM) $(OBJDIR) $(CXX_NPTM_OBJS)
$(AR) $(ARFLAGS) $(BUILDDIR_NPTM)/libnptm.a $(CXX_NPTM_OBJS)
$(BUILDDIR_NPTM)/libnptm.so: $(BUILDDIR_NPTM) $(DYNOBJDIR) $(CXX_NPTM_DYNOBJS)
$(CXX) $(CXXFLAGS) $(PICFLAGS) $(SOFLAGS) -o $(BUILDDIR_NPTM)/libnptm.so $(CXX_NPTM_DYNOBJS)
clean:
rm -f $(CXX_NPTM_OBJS) $(CXX_NPTM_DYNOBJS)
wipe:
#echo "BUILDDIR_NPTM in libnptm is $(BUILDDIR_NPTM)"
#echo "LIBNPTM in libnptm is $(LIBNPTM)"
rm -f $(BUILDDIR_NPTM)/libnptm.a $(BUILDDIR_NPTM)/libnptm.so $(CXX_NPTM_OBJS) $(CXX_NPTM_DYNOBJS)
......@@ -8,6 +8,21 @@ ifndef FCFLAGS
override FCFLAGS=-std=legacy -O3
endif
# AR defines the command to create static library files
ifndef AR
override AR=ar
endif
# ARFLAGS defines the flags for AR to create static library files
ifndef ARFLAGS
override ARFLAGS=-rs
endif
# PICFLAGS defines the additional flags for the c++ compiler to create objects suitable for shared library creation
ifndef PICFLAGS
override PICFLAGS=-fPIC
endif
# LDFLAGS defines the default linker flags
ifndef LDFLAGS
override LDFLAGS=
......@@ -40,6 +55,11 @@ override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 $(LDFLAGS)
#override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 $(CXXLDFLAGS)
endif
#SOFLAGS defines the additional flags for the c++ compiler to create a shared object file
ifndef SOFLAGS
override SOFLAGS=-shared
endif
%.o : %.f
$(FC) $(FCFLAGS) -c -o $@ $<
......@@ -52,5 +72,8 @@ $(OBJDIR)/%.o : %.f
$(OBJDIR)/%.o : %.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $<
$(DYNOBJDIR)/%.o : %.cpp
$(CXX) $(CXXFLAGS) $(PICFLAGS) -c -o $@ $<
$(OBJDIR)/%.o : ../libnptm/%.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $<
......@@ -5,7 +5,15 @@ ifndef BUILDDIR_SPH
override BUILDDIR_SPH=$(BUILDDIR)/sphere
endif
ifndef OBJDIR
override OBJDIR=../objects
override OBJDIR=./objects
endif
ifndef BUILDDIR_NPTM
override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif
ifndef LIBNPTM
# choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
#override LIBNPTM=$(BUILDDIR_NPTM)/libnpTm.so
endif
include ../make.inc
......@@ -13,21 +21,28 @@ include ../make.inc
F_SPH_OBJS=$(OBJDIR)/edfb_sph.o $(OBJDIR)/sph.o
CXX_SPH_OBJS=$(OBJDIR)/np_sphere.o $(OBJDIR)/Commons.o $(OBJDIR)/Configuration.o $(OBJDIR)/file_io.o $(OBJDIR)/Parsers.o $(OBJDIR)/sph_subs.o $(OBJDIR)/sphere.o $(OBJDIR)/TransitionMatrix.o
#CXX_SPH_OBJS=$(OBJDIR)/np_sphere.o $(OBJDIR)/Commons.o $(OBJDIR)/Configuration.o $(OBJDIR)/file_io.o $(OBJDIR)/Parsers.o $(OBJDIR)/sph_subs.o $(OBJDIR)/sphere.o $(OBJDIR)/TransitionMatrix.o
CXX_SPH_OBJS=$(OBJDIR)/np_sphere.o $(OBJDIR)/sphere.o
all: $(LIBNPTM) $(BUILDDIR_SPH)/edfb_sph $(BUILDDIR_SPH)/sph $(BUILDDIR_SPH)/np_sphere
$(OBJDIR):
mkdir -p $(OBJDIR)
all: $(BUILDDIR_SPH)/edfb_sph $(BUILDDIR_SPH)/sph $(BUILDDIR_SPH)/np_sphere
$(LIBNPTM):
$(MAKE) -C ../libnptm $@
$(BUILDDIR_SPH):
mkdir -p $(BUILDDIR_SPH)
$(BUILDDIR_SPH)/edfb_sph: $(OBJDIR)/edfb_sph.o $(BUILDDIR_SPH)
$(BUILDDIR_SPH)/edfb_sph: $(OBJDIR) $(OBJDIR)/edfb_sph.o $(BUILDDIR_SPH)
$(FC) $(FCFLAGS) -o $(BUILDDIR_SPH)/edfb_sph $(OBJDIR)/edfb_sph.o $(LDFLAGS)
$(BUILDDIR_SPH)/sph: $(OBJDIR)/sph.o $(BUILDDIR_SPH)
$(BUILDDIR_SPH)/sph: $(OBJDIR) $(OBJDIR)/sph.o $(BUILDDIR_SPH)
$(FC) $(FCFLAGS) -o $(BUILDDIR_SPH)/sph $(OBJDIR)/sph.o $(LDFLAGS)
$(BUILDDIR_SPH)/np_sphere: $(CXX_SPH_OBJS) $(BUILDDIR_SPH)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_SPH)/np_sphere $(CXX_SPH_OBJS) $(CXXLDFLAGS)
$(BUILDDIR_SPH)/np_sphere: $(OBJDIR) $(CXX_SPH_OBJS) $(BUILDDIR_SPH) $(LIBNPTM)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_SPH)/np_sphere $(CXX_SPH_OBJS) $(LIBNPTM) $(CXXLDFLAGS)
clean:
rm -f $(F_SPH_OBJS) $(CXX_SPH_OBJS)
......
......@@ -5,26 +5,40 @@ ifndef BUILDDIR_TEST
override BUILDDIR_TEST=$(BUILDDIR)/testing
endif
ifndef OBJDIR
override OBJDIR=../objects
override OBJDIR=./objects
endif
ifndef BUILDDIR_NPTM
override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif
ifndef LIBNPTM
# choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
#override LIBNPTM=$(BUILDDIR_NPTM)/libnpTm.so
endif
include ../make.inc
CXX_TEDF_OBJS=$(OBJDIR)/test_TEDF.o $(OBJDIR)/Configuration.o $(OBJDIR)/file_io.o $(OBJDIR)/Parsers.o
CXX_TEDF_OBJS=$(OBJDIR)/test_TEDF.o
CXX_TTMS_OBJS=$(OBJDIR)/test_TTMS.o
all: $(LIBNPTM) $(BUILDDIR_TEST)/test_TEDF $(BUILDDIR_TEST)/test_TTMS
CXX_TTMS_OBJS=$(OBJDIR)/test_TTMS.o $(OBJDIR)/file_io.o $(OBJDIR)/Parsers.o $(OBJDIR)/TransitionMatrix.o
$(OBJDIR):
mkdir -p $(OBJDIR)
all: $(BUILDDIR_TEST)/test_TEDF $(BUILDDIR_TEST)/test_TTMS
$(LIBNPTM):
$(MAKE) -C ../libnptm $@
$(BUILDDIR_TEST):
mkdir -p $(BUILDDIR_TEST)
$(BUILDDIR_TEST)/test_TEDF: $(CXX_TEDF_OBJS) $(BUILDDIR_TEST)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_TEST)/test_TEDF $(CXX_TEDF_OBJS) $(CXXLDFLAGS)
$(BUILDDIR_TEST)/test_TEDF: $(OBJDIR) $(CXX_TEDF_OBJS) $(BUILDDIR_TEST) $(LIBNPTM)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_TEST)/test_TEDF $(CXX_TEDF_OBJS) $(LIBNPTM) $(CXXLDFLAGS)
$(BUILDDIR_TEST)/test_TTMS: $(CXX_TTMS_OBJS) $(BUILDDIR_TEST)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_TEST)/test_TTMS $(CXX_TTMS_OBJS) $(CXXLDFLAGS)
$(BUILDDIR_TEST)/test_TTMS: $(OBJDIR) $(CXX_TTMS_OBJS) $(BUILDDIR_TEST) $(LIBNPTM)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_TEST)/test_TTMS $(CXX_TTMS_OBJS) $(LIBNPTM) $(CXXLDFLAGS)
clean:
rm -f $(CXX_TEDF_OBJS) $(CXX_TTMS_OBJS)
......
......@@ -5,7 +5,15 @@ ifndef BUILDDIR_TRA
override BUILDDIR_TRA=$(BUILDDIR)/trapping
endif
ifndef OBJDIR
override OBJDIR=../objects
override OBJDIR=./objects
endif
ifndef BUILDDIR_NPTM
override BUILDDIR_NPTM=$(BUILDDIR)/libnptm
endif
ifndef LIBNPTM
# choose one of the two following lines, depending on whether a static or dynamic libnptm is wanted
override LIBNPTM=$(BUILDDIR_NPTM)/libnptm.a
#override LIBNPTM=$(BUILDDIR_NPTM)/libnpTm.so
endif
include ../make.inc
......@@ -13,21 +21,27 @@ include ../make.inc
F_TRAP_OBJS=$(OBJDIR)/frfme.o $(OBJDIR)/lffft.o
CXX_TRAP_OBJS=$(OBJDIR)/np_trapping.o $(OBJDIR)/cfrfme.o $(OBJDIR)/clffft.o $(OBJDIR)/Parsers.o $(OBJDIR)/Commons.o $(OBJDIR)/Configuration.o $(OBJDIR)/file_io.o $(OBJDIR)/sph_subs.o $(OBJDIR)/tra_subs.o
CXX_TRAP_OBJS=$(OBJDIR)/np_trapping.o $(OBJDIR)/cfrfme.o $(OBJDIR)/clffft.o
all: $(LIBNPTM) $(BUILDDIR_TRA)/frfme $(BUILDDIR_TRA)/lffft $(BUILDDIR_TRA)/np_trapping
$(OBJDIR):
mkdir -p $(OBJDIR)
all: $(BUILDDIR_TRA)/frfme $(BUILDDIR_TRA)/lffft $(BUILDDIR_TRA)/np_trapping
$(LIBNPTM):
$(MAKE) -C ../libnptm $@
$(BUILDDIR_TRA):
mkdir -p $(BUILDDIR_TRA)
$(BUILDDIR_TRA)/frfme: $(OBJDIR)/frfme.o $(BUILDDIR_TRA)
$(BUILDDIR_TRA)/frfme: $(OBJDIR) $(OBJDIR)/frfme.o $(BUILDDIR_TRA)
$(FC) $(FCFLAGS) -o $(BUILDDIR_TRA)/frfme $(OBJDIR)/frfme.o $(LDFLAGS)
$(BUILDDIR_TRA)/lffft: $(OBJDIR)/lffft.o $(BUILDDIR_TRA)
$(BUILDDIR_TRA)/lffft: $(OBJDIR) $(OBJDIR)/lffft.o $(BUILDDIR_TRA)
$(FC) $(FCFLAGS) -o $(BUILDDIR_TRA)/lffft $(OBJDIR)/lffft.o $(LDFLAGS)
$(BUILDDIR_TRA)/np_trapping: $(CXX_TRAP_OBJS) $(BUILDDIR_TRA)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_TRA)/np_trapping $(CXX_TRAP_OBJS) $(CXXLDFLAGS)
$(BUILDDIR_TRA)/np_trapping: $(OBJDIR) $(CXX_TRAP_OBJS) $(BUILDDIR_TRA) $(LIBNPTM)
$(CXX) $(CXXFLAGS) -o $(BUILDDIR_TRA)/np_trapping $(CXX_TRAP_OBJS) $(LIBNPTM) $(CXXLDFLAGS)
clean:
rm -f $(F_TRAP_OBJS) $(CXX_TRAP_OBJS)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment