# This is the makefile for the mesa equation of state library

MESA_DIR = ../..

#################################################################

# STEP 1: set up the standard info

include $(MESA_DIR)/utils/makefile_header

#################################################################

# STEP 2: build the library

LIB = libeos.a
LIB_OBJS = eos_def.o \
   p_eos.o \
   potekhin_10.o gauss_fermi.o helm_alloc.o helm_core.o \
   eosDT_load_tables.o eosPT_load_tables.o \
   eosDT_eval.o eosPT_eval.o \
   eos_initialize.o eos_lib.o


$(LIB) : $(LIB_OBJS)
	$(LIB_TOOL) $(LIB) $(LIB_OBJS)
	
#################################################################

#COMPILE = $(COMPILE_FAST) $(FCfixed)

COMPILE = $(COMPILE_TO_DEPLOY) $(FCfixed)
#COMPILE = $(COMPILE_TO_TEST) $(FCfixed)

%.o: $(MOD_PUBLIC_DIR)/%.f
	$(COMPILE) $<

%.o: $(MOD_PRIVATE_DIR)/%.f
	$(COMPILE) $<



potekhin_10.o: $(MOD_PRIVATE_DIR)/potekhin_10.f
	$(COMPILE_NO_CHECKS) $<

p_eos.o: $(MOD_PRIVATE_DIR)/p_eos.f90
	$(COMPILE_TO_TEST) $(FCfree) $<
	
	

helm_core.o: $(MOD_PRIVATE_DIR)/helm_core.f \
  $(MOD_PUBLIC_DIR)/eos_def.f \
  $(MOD_PRIVATE_DIR)/helm_coulomb_deriv_terms.dek \
  $(MOD_PRIVATE_DIR)/helm_coulomb2.dek \
  $(MOD_PRIVATE_DIR)/helm_store_results.dek \
  $(MOD_PRIVATE_DIR)/helm_print_results.dek \
  $(MOD_PRIVATE_DIR)/helm_declare_local_variables.dek \
  $(MOD_PRIVATE_DIR)/helm_gammas.dek \
  $(MOD_PRIVATE_DIR)/helm_ideal_ions.dek \
  $(MOD_PRIVATE_DIR)/helm_initialize_local_variables.dek \
  $(MOD_PRIVATE_DIR)/helm_radiation.dek \
  $(MOD_PRIVATE_DIR)/helm_sum_totals.dek
	$(COMPILE) $<

clean:
	-@rm -f *.o *.mod *genmod.f90 $(LIB)
