ifndef BUILDDIR
override BUILDDIR=../../build
endif
ifndef BUILDDIR_TRA
override BUILDDIR_TRA=$(BUILDDIR)/trapping
endif
ifndef OBJDIR
override OBJDIR=../objects
endif

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

all: $(BUILDDIR_TRA)/frfme $(BUILDDIR_TRA)/lffft $(BUILDDIR_TRA)/np_trapping

$(BUILDDIR_TRA):
	mkdir -p $(BUILDDIR_TRA)

$(BUILDDIR_TRA)/frfme: $(OBJDIR)/frfme.o $(BUILDDIR_TRA)
	$(FC) $(FCFLAGS) -o $(BUILDDIR_TRA)/frfme $(OBJDIR)/frfme.o $(LDFLAGS)

$(BUILDDIR_TRA)/lffft: $(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) 

clean:
	rm -f $(F_TRAP_OBJS) $(CXX_TRAP_OBJS)

wipe:
	rm -f $(BUILDDIR_TRA)/frfme $(BUILDDIR_TRA)/lffft $(BUILDDIR_TRA)/np_trapping $(F_TRAP_OBJS) $(CXX_TRAP_OBJS)