diff --git a/.gitignore b/.gitignore index ecb83700cb4f01a8442484d33b4b02010c8592a6..0f5a2cfd44297542c8b1bac2d1e9b277f4753bba 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ build/cluster/* build/sphere/* build/trapping/* doc/build/* +src/objects/* \ No newline at end of file diff --git a/src/Makefile b/src/Makefile index 544534f8a4ef39c6e646749269d7ad3b732cc37c..3a14917951ad612c4c27ac9ba792e0572a209704 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,5 +1,6 @@ SUBDIRS := cluster sphere trapping SRCDIR=$(PWD) +OBJDIR=$(SRCDIR)/objects BUILDDIR=$(SRCDIR)/../build DOCSDIR=$(SRCDIR)/../doc @@ -12,14 +13,13 @@ $(SUBDIRS): $(MAKE) -C $@ clean: - rm -f $(BUILDDIR)/cluster/*.o - rm -f $(BUILDDIR)/sphere/*.o - rm -f $(BUILDDIR)/trapping/*.o + rm -f $(OBJDIR)/*.o wipe: rm -f $(BUILDDIR)/cluster/* rm -f $(BUILDDIR)/sphere/* rm -f $(BUILDDIR)/trapping/* + rm -f $(OBJDIR)/*.o if [ -d $(DOCSDIR)/build/html ]; then rm -r $(DOCSDIR)/build/html; fi if [ -d $(DOCSDIR)/build/latex ]; then rm -r $(DOCSDIR)/build/latex; fi diff --git a/src/cluster/Makefile b/src/cluster/Makefile index 1193c17e2264ab14f5d88e482266ba7027cd28df..82cd5f888bcc5ea9deb024b67116031080b856f5 100644 --- a/src/cluster/Makefile +++ b/src/cluster/Makefile @@ -1,46 +1,32 @@ -BUILDDIR=../../build/cluster +ifndef BUILDDIR +override BUILDDIR=../../build/cluster +endif +ifndef OBJDIR +override OBJDIR=../objects +endif include ../make.inc -all: clu edfb_clu np_cluster +F_CLU_OBJS=$(OBJDIR)/clu.o $(OBJDIR)/edfb_clu.o -clu: clu.o - $(FC) $(FCFLAGS) -o $(BUILDDIR)/clu $(BUILDDIR)/clu.o $(LDFLAGS) +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 -edfb_clu: edfb_clu.o - $(FC) $(FCFLAGS) -o $(BUILDDIR)/edfb_clu $(BUILDDIR)/edfb_clu.o $(LDFLAGS) -np_cluster: $(BUILDDIR)/np_cluster.o $(BUILDDIR)/Commons.o $(BUILDDIR)/Configuration.o $(BUILDDIR)/file_io.o $(BUILDDIR)/Parsers.o $(BUILDDIR)/sph_subs.o $(BUILDDIR)/clu_subs.o $(BUILDDIR)/cluster.o $(BUILDDIR)/TransitionMatrix.o - $(CXX) $(CXXFLAGS) -o $(BUILDDIR)/np_cluster $(BUILDDIR)/np_cluster.o $(BUILDDIR)/Commons.o $(BUILDDIR)/Configuration.o $(BUILDDIR)/file_io.o $(BUILDDIR)/Parsers.o $(BUILDDIR)/sph_subs.o $(BUILDDIR)/clu_subs.o $(BUILDDIR)/cluster.o $(BUILDDIR)/TransitionMatrix.o $(CXXLDFLAGS) +all: $(BUILDDIR)/clu $(BUILDDIR)/edfb_clu $(BUILDDIR)/np_cluster -#$(BUILDDIR)/np_cluster.o: -# $(CXX) $(CXXFLAGS) -c np_cluster.cpp -o $(BUILDDIR)/np_cluster.o +$(BUILDDIR)/clu: $(OBJDIR)/clu.o + $(FC) $(FCFLAGS) -o $(BUILDDIR)/clu $(OBJDIR)/clu.o $(LDFLAGS) -#$(BUILDDIR)/Commons.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/Commons.cpp -o $(BUILDDIR)/Commons.o +$(BUILDDIR)/edfb_clu: $(OBJDIR)/edfb_clu.o + $(FC) $(FCFLAGS) -o $(BUILDDIR)/edfb_clu $(OBJDIR)/edfb_clu.o $(LDFLAGS) -#$(BUILDDIR)/Configuration.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/Configuration.cpp -o $(BUILDDIR)/Configuration.o - -#$(BUILDDIR)/file_io.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/file_io.cpp -o $(BUILDDIR)/file_io.o - -#$(BUILDDIR)/Parsers.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/Parsers.cpp -o $(BUILDDIR)/Parsers.o - -#$(BUILDDIR)/cluster.o: -# $(CXX) $(CXXFLAGS) -c cluster.cpp -o $(BUILDDIR)/cluster.o - -#$(BUILDDIR)/clu_subs.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/clu_subs.cpp -o $(BUILDDIR)/clu_subs.o - -#$(BUILDDIR)/sph_subs.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/sph_subs.cpp -o $(BUILDDIR)/sph_subs.o +$(BUILDDIR)/np_cluster: $(CXX_CLU_OBJS) + $(CXX) $(CXXFLAGS) -o $(BUILDDIR)/np_cluster $(CXX_CLU_OBJS) $(CXXLDFLAGS) clean: - rm -f $(BUILDDIR)/*.o + rm -f $(F_CLU_OBJS) $(CXX_CLU_OBJS) wipe: - rm -f $(BUILDDIR)/clu $(BUILDDIR)/edfb_clu $(BUILDDIR)/*.o + rm -f $(BUILDDIR)/clu $(BUILDDIR)/edfb_clu $(F_CLU_OBJS) $(CXX_CLU_OBJS) diff --git a/src/make.inc b/src/make.inc index 57b6bbe33e52dd940dd17bb378ecf9a524891efd..9fa72d6c59a85854b30450dc6b7814393e1ea0b5 100644 --- a/src/make.inc +++ b/src/make.inc @@ -41,13 +41,16 @@ override CXXLDFLAGS=-L/usr/lib64 -L$(HDF5_LIB) -lhdf5 $(LDFLAGS) endif %.o : %.f - $(FC) $(FCFLAGS) -c -o $(BUILDDIR)/$@ $< + $(FC) $(FCFLAGS) -c -o $@ $< %.o : %.cpp - $(CXX) $(CXXFLAGS) -c -o $(BUILDDIR)/$@ $< + $(CXX) $(CXXFLAGS) -c -o $@ $< -$(BUILDDIR)/%.o : %.cpp - $(CXX) $(CXXFLAGS) -c -o $(BUILDDIR)/$@ $< +$(OBJDIR)/%.o : %.f + $(FC) $(FCFLAGS) -c -o $@ $< -$(BUILDDIR)/%.o : ../libnptm/%.cpp - $(CXX) $(CXXFLAGS) -c -o $(BUILDDIR)/$@ ../libnptm/$< +$(OBJDIR)/%.o : %.cpp + $(CXX) $(CXXFLAGS) -c -o $@ $< + +$(OBJDIR)/%.o : ../libnptm/%.cpp + $(CXX) $(CXXFLAGS) -c -o $@ $< diff --git a/src/objects/.gitkeep b/src/objects/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/sphere/Makefile b/src/sphere/Makefile index 497411a77c6b36d7c059d1f24397df411c2620d6..47293efc5427725e04025e4e783e97243e32acd3 100644 --- a/src/sphere/Makefile +++ b/src/sphere/Makefile @@ -1,49 +1,31 @@ -BUILDDIR=../../build/sphere +ifndef BUILDDIR +override BUILDDIR=../../build/sphere +endif +ifndef OBJDIR +override OBJDIR=../objects +endif include ../make.inc -#FC=gfortran -#FCFLAGS=-std=legacy -O3 -#LFLAGS= -#CXX=g++ -#CXXFLAGS=-O2 -ggdb -pg -coverage -#CXXLFLAGS=-L/usr/lib64 -lhdf5_hl -lhdf5 -all: edfb_sph sph np_sphere +F_SPH_OBJS=$(OBJDIR)/edfb_sph.o $(OBJDIR)/sph.o -edfb_sph: edfb_sph.o - $(FC) $(FCFLAGS) -o $(BUILDDIR)/edfb_sph $(BUILDDIR)/edfb_sph.o $(LDFLAGS) +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 -sph: sph.o - $(FC) $(FCFLAGS) -o $(BUILDDIR)/sph $(BUILDDIR)/sph.o $(LDFLAGS) +all: $(BUILDDIR)/edfb_sph $(BUILDDIR)/sph $(BUILDDIR)/np_sphere -np_sphere: $(BUILDDIR)/np_sphere.o $(BUILDDIR)/Commons.o $(BUILDDIR)/Configuration.o $(BUILDDIR)/file_io.o $(BUILDDIR)/Parsers.o $(BUILDDIR)/sph_subs.o $(BUILDDIR)/sphere.o $(BUILDDIR)/TransitionMatrix.o - $(CXX) $(CXXFLAGS) -o $(BUILDDIR)/np_sphere $(BUILDDIR)/np_sphere.o $(BUILDDIR)/Commons.o $(BUILDDIR)/Configuration.o $(BUILDDIR)/file_io.o $(BUILDDIR)/Parsers.o $(BUILDDIR)/sph_subs.o $(BUILDDIR)/sphere.o $(BUILDDIR)/TransitionMatrix.o $(CXXLDFLAGS) +$(BUILDDIR)/edfb_sph: $(OBJDIR)/edfb_sph.o + $(FC) $(FCFLAGS) -o $(BUILDDIR)/edfb_sph $(OBJDIR)/edfb_sph.o $(LDFLAGS) -#$(BUILDDIR)/np_sphere.o: -# $(CXX) $(CXXFLAGS) -c np_sphere.cpp -o $(BUILDDIR)/np_sphere.o +$(BUILDDIR)/sph: $(OBJDIR)/sph.o + $(FC) $(FCFLAGS) -o $(BUILDDIR)/sph $(OBJDIR)/sph.o $(LDFLAGS) -#$(BUILDDIR)/Commons.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/Commons.cpp -o $(BUILDDIR)/Commons.o - -#$(BUILDDIR)/Configuration.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/Configuration.cpp -o $(BUILDDIR)/Configuration.o - -#$(BUILDDIR)/file_io.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/file_io.cpp -o $(BUILDDIR)/file_io.o - -#$(BUILDDIR)/Parsers.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/Parsers.cpp -o $(BUILDDIR)/Parsers.o - -#$(BUILDDIR)/sph_subs.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/sph_subs.cpp -o $(BUILDDIR)/sph_subs.o - -#$(BUILDDIR)/sphere.o: -# $(CXX) $(CXXFLAGS) -c sphere.cpp -o $(BUILDDIR)/sphere.o +$(BUILDDIR)/np_sphere: $(CXX_SPH_OBJS) + $(CXX) $(CXXFLAGS) -o $(BUILDDIR)/np_sphere $(CXX_SPH_OBJS) $(CXXLDFLAGS) clean: - rm -f $(BUILDDIR)/*.o + rm -f $(F_SPH_OBJS) $(CXX_SPH_OBJS) wipe: - rm -f $(BUILDDIR)/edfb_sph $(BUILDDIR)/sph $(BUILDDIR)/*.o + rm -f $(BUILDDIR)/edfb_sph $(BUILDDIR)/sph $(F_SPH_OBJS) $(CXX_SPH_OBJS) diff --git a/src/trapping/Makefile b/src/trapping/Makefile index 10d5bb8b8e39f0b69326bb1ddfc378d0d076fc75..e9f114c692b2b985c7f34f9131e3bd70d4dff9d4 100644 --- a/src/trapping/Makefile +++ b/src/trapping/Makefile @@ -1,55 +1,31 @@ -BUILDDIR=../../build/trapping +ifndef BUILDDIR +override BUILDDIR=../../build/trapping +endif +ifndef OBJDIR +override OBJDIR=../objects +endif include ../make.inc -#FC=gfortran -#FCFLAGS=-std=legacy -O3 -#LFLAGS= -#CXX=g++ -#CXXFLAGS=-O2 -ggdb -pg -coverage -#CXXLFLAGS=-L/usr/lib64 -lhdf5_hl -lhdf5 -all: frfme lffft np_trapping +F_TRAP_OBJS=$(OBJDIR)/frfme.o $(OBJDIR)/lffft.o -frfme: frfme.o - $(FC) $(FCFLAGS) -o $(BUILDDIR)/frfme $(BUILDDIR)/frfme.o $(LDFLAGS) +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 -lffft: lffft.o - $(FC) $(FCFLAGS) -o $(BUILDDIR)/lffft $(BUILDDIR)/lffft.o $(LDFLAGS) +all: $(BUILDDIR)/frfme $(BUILDDIR)/lffft $(BUILDDIR)/np_trapping -np_trapping: $(BUILDDIR)/np_trapping.o $(BUILDDIR)/cfrfme.o $(BUILDDIR)/clffft.o $(BUILDDIR)/Parsers.o $(BUILDDIR)/Commons.o $(BUILDDIR)/Configuration.o $(BUILDDIR)/file_io.o $(BUILDDIR)/sph_subs.o $(BUILDDIR)/tra_subs.o - $(CXX) $(CXXFLAGS) -o $(BUILDDIR)/np_trapping $(BUILDDIR)/np_trapping.o $(BUILDDIR)/cfrfme.o $(BUILDDIR)/clffft.o $(BUILDDIR)/file_io.o $(BUILDDIR)/Parsers.o $(BUILDDIR)/Commons.o $(BUILDDIR)/Configuration.o $(BUILDDIR)/sph_subs.o $(BUILDDIR)/tra_subs.o $(CXXLDFLAGS) +$(BUILDDIR)/frfme: $(OBJDIR)/frfme.o + $(FC) $(FCFLAGS) -o $(BUILDDIR)/frfme $(OBJDIR)/frfme.o $(LDFLAGS) -#$(BUILDDIR)/np_trapping.o: -# $(CXX) $(CXXFLAGS) np_trapping.cpp -c -o $(BUILDDIR)/np_trapping.o +$(BUILDDIR)/lffft: $(OBJDIR)/lffft.o + $(FC) $(FCFLAGS) -o $(BUILDDIR)/lffft $(OBJDIR)/lffft.o $(LDFLAGS) -#$(BUILDDIR)/cfrfme.o: -# $(CXX) $(CXXFLAGS) frfme.cpp -c -o $(BUILDDIR)/cfrfme.o - -#$(BUILDDIR)/clffft.o: -# $(CXX) $(CXXFLAGS) lffft.cpp -c -o $(BUILDDIR)/clffft.o - -#$(BUILDDIR)/Commons.o: -# $(CXX) $(CXXFLAGS) ../libnptm/Commons.cpp -c -o $(BUILDDIR)/Commons.o - -#$(BUILDDIR)/Configuration.o: -# $(CXX) $(CXXFLAGS) ../libnptm/Configuration.cpp -c -o $(BUILDDIR)/Configuration.o - -#$(BUILDDIR)/file_io.o: -# $(CXX) $(CXXFLAGS) -c ../libnptm/file_io.cpp -o $(BUILDDIR)/file_io.o - -#$(BUILDDIR)/Parsers.o: -# $(CXX) $(CXXFLAGS) ../libnptm/Parsers.cpp -c -o $(BUILDDIR)/Parsers.o - -#$(BUILDDIR)/sph_subs.o: -# $(CXX) $(CXXFLAGS) ../libnptm/sph_subs.cpp -c -o $(BUILDDIR)/sph_subs.o - -#$(BUILDDIR)/tra_subs.o: -# $(CXX) $(CXXFLAGS) ../libnptm/tra_subs.cpp -c -o $(BUILDDIR)/tra_subs.o +$(BUILDDIR)/np_trapping: $(CXX_TRAP_OBJS) + $(CXX) $(CXXFLAGS) -o $(BUILDDIR)/np_trapping $(CXX_TRAP_OBJS) $(CXXLDFLAGS) clean: - rm -f $(BUILDDIR)/*.o + rm -f $(F_TRAP_OBJS) $(CXX_TRAP_OBJS) wipe: - rm -f $(BUILDDIR)/frfme $(BUILDDIR)/lffft $(BUILDDIR)/*.o + rm -f $(BUILDDIR)/frfme $(BUILDDIR)/lffft $(F_TRAP_OBJS) $(CXX_TRAP_OBJS)