Commit 4037d0d6 authored by Mulas, Giacomo's avatar Mulas, Giacomo
Browse files

update Makefiles to build libnptm library, then link to it

parent a4922e96
Loading
Loading
Loading
Loading
+0 −0

File moved.

+26 −11
Original line number Diff line number Diff line
@@ -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

+22 −7
Original line number Diff line number Diff line
@@ -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)

src/libnptm/Makefile

0 → 100644
+51 −0
Original line number Diff line number Diff line
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) 
+23 −0
Original line number Diff line number Diff line
@@ -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 $@ $<
Loading