# This is the makefile for the mesa nuclear reaction networks library

MESA_DIR = ../..

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

# STEP 1: set up the standard info

include $(MESA_DIR)/utils/makefile_header

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

# STEP 2: build the library

LIB = libnet.a
LIB_OBJS = \
   net_def.o net_screen.o net_derivs_support.o \
   net_combos_support.o net_derivs.o net_initialize.o \
   net_eval.o net_burn.o net_burn_const_P.o net_lib.o

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

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

net_lib.o: \
  $(MOD_PUBLIC_DIR)/net_lib.f \
  $(MOD_PUBLIC_DIR)/basic_net.dek \
  $(MOD_PUBLIC_DIR)/add_c13.dek \
  $(MOD_PUBLIC_DIR)/add_o18_and_ne22.dek \
  $(MOD_PUBLIC_DIR)/add_pp_extras.dek \
  $(MOD_PUBLIC_DIR)/add_cno_extras.dek \
  $(MOD_PUBLIC_DIR)/add_co_burn.dek \
  $(MOD_PUBLIC_DIR)/add_alpha_s32.dek \
  $(MOD_PUBLIC_DIR)/add_alpha_ar36.dek \
  $(MOD_PUBLIC_DIR)/add_alpha_ca40.dek \
  $(MOD_PUBLIC_DIR)/add_alpha_ti44.dek \
  $(MOD_PUBLIC_DIR)/add_alpha_cr48.dek \
  $(MOD_PUBLIC_DIR)/add_alpha_fe52.dek \
  $(MOD_PUBLIC_DIR)/add_alpha_ni56.dek \
  $(MOD_PUBLIC_DIR)/add_using_net_num.dek \
  $(MOD_PUBLIC_DIR)/net_18_to_mg24.dek \
  $(MOD_PUBLIC_DIR)/net_19_to_ni56.dek
	$(COMPILE) $<
	
net_initialize.o: $(MOD_PRIVATE_DIR)/net_initialize.f
	$(COMPILE_NO_OPT) $(FCfixed) $<

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

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

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