include /devel/maxwell/lib/SME/tool_support

TCL_LIB=-L/data/lib -ltcl8.0
READLINE_FLAGS=
READLINE_LIBS=
TCL_SRC_DIR=

# insert USER_CODE_LIB here!

USER_CODE_LIB = 


USERCODE_INCLUDE =  -I$(SME3_PROJ)/$(ProjName)/UserCode/

INCLUDES =  $(USERCODE_INCLUDE) $(SME3_FULL_INCLUDE) $(READLINE_FLAGS) $(TCL_SRC_DIR)
LINKS  = $(USER_CODE_LIB) $(SME3_FULL_LIBS) $(TCL_LIB) $(READLINE_LIBS) $(LIBS)

srcs = Main.cc $(ModelName).cc
objs = Main.o $(ModelName).o

all: $(ModelName)$(LIB_SUFFIX)

pure: $(ModelName)$(LIB_SUFFIX).pure

MML_source: $(SME3_STELLA_EQN_FILES)
	mpirun -np 1  /devel/maxwell/bin/MCP$(SME3_PURE_EXT) $(MCP_ARGS)

MML_source_debug: $(SME3_STELLA_EQN_FILES)
	runDebugger gdb /devel/maxwell/bin/MCP$(SME3_PURE_EXT) "$(MCP_ARGS)"

CC_source: $(SME3_PROJ)/$(ProjName)/Models/$(ModelName).MML
	mpirun -np 1  /devel/maxwell/bin/CGP$(SME3_PURE_EXT) $(CGP_ARGS)

CC_source_debug: $(SME3_PROJ)/$(ProjName)/Models/$(ModelName).MML
	runDebugger gdb /devel/maxwell/bin/CGP$(SME3_PURE_EXT) "$(CGP_ARGS)"

$(ModelName)$(LIB_SUFFIX): $(objs) $(SME_LIBRARY_LIST)
	@echo Using UserCodeLib: $(USER_CODE_LIB)
	$(CXX)  $(SME_CFLAGS) $(objs) $(LINKS) -o $(ModelName)$(LIB_SUFFIX)

$(ModelName)$(LIB_SUFFIX).pure: $(ModelName)$(LIB_SUFFIX)
	$(PURIFY) $(CXX)  $(SME_CFLAGS) $(objs) $(LINKS) -o $(ModelName)$(LIB_SUFFIX).pure

$(ModelName).o: $(ModelName).h $(ModelName).cc $(SME_LIBRARY_LIST)
	$(CXX) -c $(INCLUDES) $(ModelName).cc
 
clean:
	@$(RM) *.o                       
	@$(RM) *~
	@$(RM) -f $(ModelName)
	@$(RM) -f $(ModelName)mp
	@$(RM) -f $(ModelName).pure
	@$(RM) -f core
	@$(RM) -f parser.out

depend:
	makedepend -f makefile $(PG_INCLUDES) $(SS_INCLUDES) $(MML_INCLUDES) $(BASE_INCLUDES) $(SME_CFLAGS) $(SME_INCLUDES) $(srcs)

.cc.o:
	$(CXX) -c $(INCLUDES) $<

.c.o:
	$(CC) -c $(INCLUDES) $<


