#MACROS
#SHELL = /bin/sh

.SUFFIXES: .c

# Compiler
#C         = mpicc
CFLAGS     = -O2

# Linker
LD_LCC = lcclnk
LCC_LIB = "C:\Program Files\MATLAB71\sys\lcc\lib"
LIBS     = -lm


# The rest of this Makefile remains static regardless of the values
# assigned to the variables above.

programs_obj   =  main.obj \
              erg.obj \
              erg_tau.obj \
              calc_rxn_prob_erg.obj \
              create_stoich_matrix.obj \
              calc_dependency.obj  \
              read_constants.obj \
              update_rxn_prob_erg.obj \
              update_rxn_prob_all.obj \
              find_next_reaction_erg.obj \
              find_tau.obj \
              rxn_prob_undef.obj \
              com.obj \
              linpack.obj \
              ranlib.obj

programs   =  main.o \
              erg.o \
              erg_tau.o \
              calc_rxn_prob_erg.o \
              create_stoich_matrix.o \
              calc_dependency.o  \
              read_constants.o \
              update_rxn_prob_erg.o \
              update_rxn_prob_all.o \
              find_next_reaction_erg.o \
              rxn_prob_undef.o \
              find_tau.o \
              com.o \
              linpack.o \
              ranlib.o



programs_mpi   =  main_mpi.o \
              erg.o \
              erg_tau.o \
              calc_rxn_prob_erg.o \
              create_stoich_matrix.o \
              calc_dependency.o  \
              read_constants.o \
              update_rxn_prob_erg.o \
              update_rxn_prob_all.o \
              find_next_reaction_erg.o \
              rxn_prob_undef.o \
              find_tau.o \
              com.o \
              linpack.o \
              ranlib.o



win32: $(programs_obj)
	$(LD_LCC) $(programs_obj) -L$(LCC_LIB) $(LIBS) -o ..\bns_c.exe

unix_gcc: $(programs)
	$(C) $(programs)  $(LIBS) -o ../bns_c.exe

mpi: $(programs_mpi)
	$(C) $(programs_mpi) $(LIBS) -o ../bns_mpi.exe

#SUFFIX RULES

.c.o:
	$(C) -c $(CFLAGS)  $<

clean_win32:
	del *.obj

clean:
	rm *.o
