Skip to content
Snippets Groups Projects
Commit 997e4e2c authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Merge branch 'containers' into 'master'

Draft: update Makefiles to build libnptm library, then link to it

See merge request giacomo.mulas/np_tmcode!19
parents d01e05af e1d4e4cb
No related branches found
No related tags found
No related merge requests found
...@@ -3,5 +3,7 @@ build/cluster/* ...@@ -3,5 +3,7 @@ build/cluster/*
build/sphere/* build/sphere/*
build/testing/* build/testing/*
build/trapping/* build/trapping/*
build/libnptm/*
doc/build/* doc/build/*
src/objects/* src/*/objects/*
\ No newline at end of file src/*/dynobjects/*
...@@ -32,6 +32,7 @@ building_stage: ...@@ -32,6 +32,7 @@ building_stage:
- build/sphere/* - build/sphere/*
- build/testing/* - build/testing/*
- build/trapping/* - build/trapping/*
- build/libnptm/*
- doc/build/* - doc/build/*
exclude: exclude:
- ".git*" - ".git*"
...@@ -47,19 +48,19 @@ building_stage: ...@@ -47,19 +48,19 @@ building_stage:
- cat /etc/os-release - cat /etc/os-release
- cd src - cd src
- echo "Running make with gnu compilers version 11..." - echo "Running make with gnu compilers version 11..."
- make clean && BUILDDIR=$PWD/../build_gnu11 CXX=g++-11 FC=gfortran-11 make - make clean && BUILDDIR=$PWD/../build_gnu11 CXX=g++-11 FC=gfortran-11 make -j
- echo "Running make with gnu compilers version 12..." - echo "Running make with gnu compilers version 12..."
- make clean && BUILDDIR=$PWD/../build_gnu12 CXX=g++-12 FC=gfortran-12 make - make clean && BUILDDIR=$PWD/../build_gnu12 CXX=g++-12 FC=gfortran-12 make -j
- echo "Running make with gnu fortran version 12 and clang version 13..." - echo "Running make with gnu fortran version 12 and clang version 13..."
- make clean && BUILDDIR=$PWD/../build_clang13 CXX="clang++-13 -stdlib=libc++" FC=gfortran-12 make - make clean && BUILDDIR=$PWD/../build_clang13 CXX="clang++-13 -stdlib=libc++" FC=gfortran-12 make -j
- echo "Running make with gnu fortran version 12 and clang version 14..." - echo "Running make with gnu fortran version 12 and clang version 14..."
- make clean && BUILDDIR=$PWD/../build_clang14 CXX="clang++-14 -stdlib=libc++" FC=gfortran-12 make - make clean && BUILDDIR=$PWD/../build_clang14 CXX="clang++-14 -stdlib=libc++" FC=gfortran-12 make -j
- echo "Running make with gnu fortran version 12 and clang version 15..." - echo "Running make with gnu fortran version 12 and clang version 15..."
- make clean && BUILDDIR=$PWD/../build_clang15 CXX="clang++-15 -stdlib=libc++" FC=gfortran-12 make - make clean && BUILDDIR=$PWD/../build_clang15 CXX="clang++-15 -stdlib=libc++" FC=gfortran-12 make -j
- echo "Running make with gnu fortran version 12 and clang version 16..." - echo "Running make with gnu fortran version 12 and clang version 16..."
- make clean && BUILDDIR=$PWD/../build_clang16 CXX="clang++-16 -stdlib=libc++" FC=gfortran-12 make - make clean && BUILDDIR=$PWD/../build_clang16 CXX="clang++-16 -stdlib=libc++" FC=gfortran-12 make -j
- echo "Finally running make with default compilers..." - echo "Finally running make with default compilers..."
- make clean && make - make clean && make -j
- make docs -j && make -C ../doc/build/latex -j - make docs -j && make -C ../doc/build/latex -j
running_stage: running_stage:
......
File moved
...@@ -4,9 +4,17 @@ OBJDIR=$(SRCDIR)/objects ...@@ -4,9 +4,17 @@ OBJDIR=$(SRCDIR)/objects
ifndef BUILDDIR ifndef BUILDDIR
override BUILDDIR=$(SRCDIR)/../build override BUILDDIR=$(SRCDIR)/../build
endif 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 DOCSDIR=$(SRCDIR)/../doc
all: $(SUBDIRS) $(BUILDDIR) all: $(BUILDDIR) $(SUBDIRS)
docs: docs:
cd $(DOCSDIR)/src; doxygen config.dox cd $(DOCSDIR)/src; doxygen config.dox
...@@ -14,20 +22,27 @@ docs: ...@@ -14,20 +22,27 @@ docs:
$(BUILDDIR): $(BUILDDIR):
mkdir -p $(BUILDDIR) mkdir -p $(BUILDDIR)
$(SUBDIRS): $(BUILDDIR) $(LIBNPTM):
$(MAKE) -C $@ #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) clean: $(BUILDDIR)
$(MAKE) -C cluster clean BUILDDIR=$(BUILDDIR) $(MAKE) -C cluster clean
$(MAKE) -C sphere clean BUILDDIR=$(BUILDDIR) $(MAKE) -C sphere clean
$(MAKE) -C trapping clean BUILDDIR=$(BUILDDIR) $(MAKE) -C trapping clean
$(MAKE) -C testing clean BUILDDIR=$(BUILDDIR) $(MAKE) -C testing clean
BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) $(MAKE) -C libnptm clean
wipe: $(BUILDDIR) wipe: $(BUILDDIR)
$(MAKE) -C cluster wipe BUILDDIR=$(BUILDDIR) $(MAKE) -C cluster wipe
$(MAKE) -C sphere wipe BUILDDIR=$(BUILDDIR) $(MAKE) -C sphere wipe
$(MAKE) -C trapping wipe BUILDDIR=$(BUILDDIR) $(MAKE) -C trapping wipe
$(MAKE) -C testing 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/html ]; then rm -r $(DOCSDIR)/build/html; fi
if [ -d $(DOCSDIR)/build/latex ]; then rm -r $(DOCSDIR)/build/latex; fi if [ -d $(DOCSDIR)/build/latex ]; then rm -r $(DOCSDIR)/build/latex; fi
......
...@@ -5,7 +5,15 @@ ifndef BUILDDIR_CLU ...@@ -5,7 +5,15 @@ ifndef BUILDDIR_CLU
override BUILDDIR_CLU=$(BUILDDIR)/cluster override BUILDDIR_CLU=$(BUILDDIR)/cluster
endif endif
ifndef OBJDIR 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 endif
include ../make.inc include ../make.inc
...@@ -13,22 +21,30 @@ include ../make.inc ...@@ -13,22 +21,30 @@ include ../make.inc
F_CLU_OBJS=$(OBJDIR)/clu.o $(OBJDIR)/edfb_clu.o 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):
BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) LIBNPTM=$(LIBNPTM) $(MAKE) -C ../libnptm $@
$(BUILDDIR_CLU): $(BUILDDIR_CLU):
mkdir -p $(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) $(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) $(FC) $(FCFLAGS) -o $(BUILDDIR_CLU)/edfb_clu $(OBJDIR)/edfb_clu.o $(LDFLAGS)
$(BUILDDIR_CLU)/np_cluster: $(CXX_CLU_OBJS) $(BUILDDIR_CLU) # We put $(LIBNPTM) as an object to link in directly, so that it will be found at runtime even if it is a shared object library. May change in the future when we have an install: target
$(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: clean:
rm -f $(F_CLU_OBJS) $(CXX_CLU_OBJS) 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 ...@@ -8,6 +8,21 @@ ifndef FCFLAGS
override FCFLAGS=-std=legacy -O3 override FCFLAGS=-std=legacy -O3
endif 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 # LDFLAGS defines the default linker flags
ifndef LDFLAGS ifndef LDFLAGS
override LDFLAGS= override LDFLAGS=
...@@ -40,6 +55,11 @@ override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 $(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) #override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 $(CXXLDFLAGS)
endif endif
#SOFLAGS defines the additional flags for the c++ compiler to create a shared object file
ifndef SOFLAGS
override SOFLAGS=-shared
endif
%.o : %.f %.o : %.f
$(FC) $(FCFLAGS) -c -o $@ $< $(FC) $(FCFLAGS) -c -o $@ $<
...@@ -52,5 +72,8 @@ $(OBJDIR)/%.o : %.f ...@@ -52,5 +72,8 @@ $(OBJDIR)/%.o : %.f
$(OBJDIR)/%.o : %.cpp $(OBJDIR)/%.o : %.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $< $(CXX) $(CXXFLAGS) -c -o $@ $<
$(DYNOBJDIR)/%.o : %.cpp
$(CXX) $(CXXFLAGS) $(PICFLAGS) -c -o $@ $<
$(OBJDIR)/%.o : ../libnptm/%.cpp $(OBJDIR)/%.o : ../libnptm/%.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $< $(CXX) $(CXXFLAGS) -c -o $@ $<
...@@ -5,7 +5,15 @@ ifndef BUILDDIR_SPH ...@@ -5,7 +5,15 @@ ifndef BUILDDIR_SPH
override BUILDDIR_SPH=$(BUILDDIR)/sphere override BUILDDIR_SPH=$(BUILDDIR)/sphere
endif endif
ifndef OBJDIR 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 endif
include ../make.inc include ../make.inc
...@@ -13,21 +21,29 @@ include ../make.inc ...@@ -13,21 +21,29 @@ include ../make.inc
F_SPH_OBJS=$(OBJDIR)/edfb_sph.o $(OBJDIR)/sph.o 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):
BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) LIBNPTM=$(LIBNPTM) $(MAKE) -C ../libnptm $@
$(BUILDDIR_SPH): $(BUILDDIR_SPH):
mkdir -p $(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) $(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) $(FC) $(FCFLAGS) -o $(BUILDDIR_SPH)/sph $(OBJDIR)/sph.o $(LDFLAGS)
$(BUILDDIR_SPH)/np_sphere: $(CXX_SPH_OBJS) $(BUILDDIR_SPH) # We put $(LIBNPTM) as an object to link in directly, so that it will be found at runtime even if it is a shared object library. May change in the future when we have an install: target
$(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: clean:
rm -f $(F_SPH_OBJS) $(CXX_SPH_OBJS) rm -f $(F_SPH_OBJS) $(CXX_SPH_OBJS)
......
...@@ -5,26 +5,42 @@ ifndef BUILDDIR_TEST ...@@ -5,26 +5,42 @@ ifndef BUILDDIR_TEST
override BUILDDIR_TEST=$(BUILDDIR)/testing override BUILDDIR_TEST=$(BUILDDIR)/testing
endif endif
ifndef OBJDIR 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 endif
include ../make.inc 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):
BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) LIBNPTM=$(LIBNPTM) $(MAKE) -C ../libnptm $@
$(BUILDDIR_TEST): $(BUILDDIR_TEST):
mkdir -p $(BUILDDIR_TEST) mkdir -p $(BUILDDIR_TEST)
$(BUILDDIR_TEST)/test_TEDF: $(CXX_TEDF_OBJS) $(BUILDDIR_TEST) # We put $(LIBNPTM) as an object to link in directly, so that it will be found at runtime even if it is a shared object library. May change in the future when we have an install: target
$(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) # We put $(LIBNPTM) as an object to link in directly, so that it will be found at runtime even if it is a shared object library. May change in the future when we have an install: target
$(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: clean:
rm -f $(CXX_TEDF_OBJS) $(CXX_TTMS_OBJS) rm -f $(CXX_TEDF_OBJS) $(CXX_TTMS_OBJS)
......
...@@ -5,7 +5,15 @@ ifndef BUILDDIR_TRA ...@@ -5,7 +5,15 @@ ifndef BUILDDIR_TRA
override BUILDDIR_TRA=$(BUILDDIR)/trapping override BUILDDIR_TRA=$(BUILDDIR)/trapping
endif endif
ifndef OBJDIR 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 endif
include ../make.inc include ../make.inc
...@@ -13,21 +21,28 @@ include ../make.inc ...@@ -13,21 +21,28 @@ include ../make.inc
F_TRAP_OBJS=$(OBJDIR)/frfme.o $(OBJDIR)/lffft.o 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):
BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) LIBNPTM=$(LIBNPTM) $(MAKE) -C ../libnptm $@
$(BUILDDIR_TRA): $(BUILDDIR_TRA):
mkdir -p $(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) $(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) $(FC) $(FCFLAGS) -o $(BUILDDIR_TRA)/lffft $(OBJDIR)/lffft.o $(LDFLAGS)
$(BUILDDIR_TRA)/np_trapping: $(CXX_TRAP_OBJS) $(BUILDDIR_TRA) # We put $(LIBNPTM) as an object to link in directly, so that it will be found at runtime even if it is a shared object library. May change in the future when we have an install: target
$(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: clean:
rm -f $(F_TRAP_OBJS) $(CXX_TRAP_OBJS) rm -f $(F_TRAP_OBJS) $(CXX_TRAP_OBJS)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment