# See LICENSES/ for license information
# SPDX-License-Identifier: BSD-3-Clause

FC := gfortran

# saveguard: ensure Makefile is run from its directory
MAKEFILE_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
ifneq ($(CURDIR)/,$(MAKEFILE_DIR))
$(error Error: Make is not run from the Makefile's directory: $(MAKEFILE_DIR))
endif

INPUT_DIR := sedi_exp_in
OUTPUT_DIR := sedi_exp_out

all: linearadvection_experiment gammadist_experiment

linearadvection_experiment: pure_sedimentation_linearadvection.f90 | prepare_io_dirs
	$(FC) $^ -o $@ -O3

gammadist_experiment: pure_sedimentation_gammadist.f90 | prepare_io_dirs
	$(FC) $^ -o $@ -O3

.PHONY: prepare_io_dirs
prepare_io_dirs:
	rm -rf $(INPUT_DIR) $(OUTPUT_DIR)
	mkdir -p $(INPUT_DIR)
	mkdir -p $(OUTPUT_DIR)

.PHONY: clean
clean:
	rm -f *.mod
	rm -f linearadvection_experiment gammadist_experiment
	rm -rf $(INPUT_DIR) $(OUTPUT_DIR)

