# User options
FCFLAGS='=-C -g -Bstatic_pgi'
RCOMPILE = r.compile
DESCRIP_PATH = ../
RMN = rmn_beta013

# Override incorrect implicits
%.o : %.mod

# Define suffix rules
.SUFFIXES: .ftn90 .o
.ftn90.o:
	$(RCOMPILE) -optf $(FCFLAGS) -includes $(DESCRIP_PATH) -src $<

OBJECTS = $(DESCRIP_PATH)vgrid_descriptors.o $(DESCRIP_PATH)vgrid_genab_5002.o $(DESCRIP_PATH)vgrid_genab_1002_5001.o $(DESCRIP_PATH)vgrid_genab_1001.o  $(DESCRIP_PATH)vgrid_genab_2001.o $(DESCRIP_PATH)vgrid_genab_1004.o 

all: compute_pressure convert_toctoc_5002 add_toctoc print_toctoc

dist: compute_pressure convert_toctoc_5002 add_toctoc print_toctoc
	cp compute_pressure r.convert_toctoc_5002 r.add_toctoc r.print_toctoc ../../bin/$(BASE_ARCH)

convert_toctoc_5002: convert_toctoc_5002.ftn90 $(OBJECTS)
	$(RCOMPILE) -optf $(FCFLAGS) -includes $(DESCRIP_PATH) -obj $(OBJECTS) -src $@.ftn90  -o r.$@ -librmn $(RMN)

print_toctoc: print_toctoc.ftn90 $(OBJECTS)
	$(RCOMPILE) -optf $(FCFLAGS) -includes $(DESCRIP_PATH) -obj $(OBJECTS) -src $@.ftn90 -o r.$@ -librmn $(RMN)

add_toctoc: add_toctoc.ftn90 $(OBJECTS)
	$(RCOMPILE) -optf $(FCFLAGS) -includes $(DESCRIP_PATH) -obj $(OBJECTS) -src $@.ftn90 -o r.$@ -librmn $(RMN)

compute_pressure: compute_pressure.ftn90 $(OBJECTS)
	$(RCOMPILE) -optf $(FCFLAGS) -includes $(DESCRIP_PATH) -obj $(OBJECTS) -src $@.ftn90 -o $@ -librmn $(RMN)

$(DESCRIP_PATH)vgrid_descriptors.o: $(DESCRIP_PATH)vgrid_descriptors.ftn90
	echo "STOP: $(DESCRIP_PATH)vgrid_descriptors has been updated ... recompilation needed in $(DESCRIP_PATH)"; \
	exit

$(DESCRIP_PATH)vgrid_genab.o: $(DESCRIP_PATH)vgrid_genab.ftn90
	echo "STOP: $(DESCRIP_PATH)vgrid_genab.o has been updated ... recompilation needed in $(DESCRIP_PATH)"; \
	exit

clean:
	rm -f *.f90 *.o *.mod test_output.fst

distclean: clean
	rm -f compute_pressure r.convert_toctoc_5002 r.add_toctoc r.print_toctoc

