Skip to content
Snippets Groups Projects
Makefile.bak 1.89 KiB
ifndef BUILDDIR
override BUILDDIR=../../build
endif
ifndef BUILDDIR_SPH
override BUILDDIR_SPH=$(BUILDDIR)/sphere
endif
ifndef OBJDIR
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


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)/sphere.o

CXX_SPH_DEBUG=$(OBJDIR)/np_sphere.g* $(OBJDIR)/sphere.g*

all: $(LIBNPTM) $(BUILDDIR_SPH)/edfb_sph $(BUILDDIR_SPH)/sph $(BUILDDIR_SPH)/np_sphere

$(OBJDIR):
	mkdir -p $(OBJDIR)

$(LIBNPTM):
	BUILDDIR=$(BUILDDIR) BUILDDIR_NPTM=$(BUILDDIR_NPTM) LIBNPTM=$(LIBNPTM) $(MAKE) -C ../libnptm $@

$(BUILDDIR_SPH):
	mkdir -p $(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) $(OBJDIR)/sph.o $(BUILDDIR_SPH)
	$(FC) $(FCFLAGS) -o $(BUILDDIR_SPH)/sph $(OBJDIR)/sph.o $(LDFLAGS)

# 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
$(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) $(CXX_SPH_DEBUG)

wipe:
	rm -f $(BUILDDIR_SPH)/edfb_sph $(BUILDDIR_SPH)/sph $(BUILDDIR_SPH)/np_sphere $(F_SPH_OBJS) $(CXX_SPH_OBJS) $(CXX_SPH_DEBUG)