
# Modules have to compiled in this order.
MODULES     = precision ctglobal ctusrModule ctworkModule \
	      ct10spec  ct11prnt ct15usr     ct16refn \
              ct20eval  ct25opt  ct28derv    ct29set  \
              ct30ker   control

MODULES_O   = $(MODULES:%=$(SNCTRL_OBJDIR)/%.o)


all: all_snctrl
clean: snctrl_clean
veryclean: snctrl_veryclean
distclean: snctrl_veryclean


all_snctrl: $(SNCTRL_LIBDIR) $(SNCTRL_MODDIR) $(SNCLIB_A)

$(SNCTRL_LIBDIR): $(SNCTRLDIR)
	if [ ! -d $(SNCTRL_LIBDIR) ]; then mkdir $@; fi

$(SNCTRL_MODDIR): $(SNCTRLDIR)
	if [ ! -d $(SNCTRL_MODDIR) ]; then mkdir $@; fi

$(SNCTRL_LIBDIR)/libsnctrl.a: $(MODULES_O)
	ar cru $(SNCTRL_LIBDIR)/libsnctrl.a $(MODULES_O)


$(SNCTRL_OBJDIR)/%.o: $(SNCTRL_SRCDIR)/%.f90
	$(FC) -c $(FFLAGS) $(MODFLAGS) $< -o $@


snctrl_clean:
	rm -f $(SNCTRL_OBJDIR)/*.o

snctrl_veryclean: snctrl_clean
	rm -f $(SNCTRL_MODDIR)/*.mod
	rm -f $(SNCLIB_A)