# Default compiler
FC = gfortran

# Location of SPEEDY common files
common = ../common

# Compilation arguments
COMPARGS = -fconvert=swap -O3

# Define all files that observation operator depends on
common_depend = $(common)/common_speedy.o $(common)/common_obs_speedy.o $(common)/common.o $(common)/SFMT.o

# Main compilation rule
obsmake: obsmake.o $(common_depend)
	$(FC) $(COMPARGS) -o $@ $^

obsmake.o: $(common_depend)
$(common)/common.o: $(common)/SFMT.o
$(common)/common_speedy.o: $(common)/common.o

# Build rules
$(common)/%.o: $(common)/%.f90
	$(FC) $(COMPARGS) -c $< -o $@

%.o: %.f90
	$(FC) $(COMPARGS) -c $< -o $@

.PHONY: clean
clean:
	rm -f *.o *.mod $(common)/*.o $(common)/*.mod
