/* this program uses "native" files on a Sun; so
   it may not work on other platforms (without
   regenerating the "native" files -- feel free...).
   See "setup" below.
*/
#if ! sparc_HOST_ARCH
all depend runtests ::
	@echo '*** HMMS test only works on SPARC machines ****'
#else

/* extra stuff for "setup" is at the end */

SRCS_LHS =  Alignments.lhs	\
	    BalBinSTrees.lhs	\
	    Extrema.lhs		\
	    HmmConstants.lhs	\
	    HmmDensities.lhs	\
	    HmmDigraphs.lhs	\
	    Lists.lhs		\
	    MathTypes.lhs	\
	    MaybeStateT.lhs	\
	    NativeIO.lhs	\
	    Phones.lhs		\
	    PlainTextIO.lhs	\
	    Pronunciations.lhs	\
	    StateT.lhs		\
	    Viterbi.lhs		\
	    BatchAlign.lhs /* Main */ \
	    BatchTranscribe.lhs /* extras here on */ \
	    ConvertLinearDic.lhs

/* OBJS_O is for the BatchAlign pgm only -- important */
OBJS_O =    Alignments.o  	\
	    BalBinSTrees.o  	\
	    Extrema.o  		\
	    HmmConstants.o  	\
	    HmmDensities.o  	\
	    HmmDigraphs.o  	\
	    Lists.o  		\
	    MathTypes.o  	\
	    MaybeStateT.o  	\
	    NativeIO.o  	\
	    Phones.o  		\
	    PlainTextIO.o  	\
	    Pronunciations.o  	\
	    StateT.o  		\
	    Viterbi.o  		\
	    BatchAlign.o

MKDEPENDHS_OPTS = -syslib hbc /* really should not be here (ToDo) */

NoFibMultiModuleCompileAndRun(HMMS, -o2 HMMS.stderr hmms/h9 hmms/h9.ties hmms/h9.dgs sentences)

NoFibHaskellCompile(HMMS,Alignments,lhs)
NoFibHaskellCompile(HMMS,BalBinSTrees,lhs)
NoFibHaskellCompile(HMMS,Extrema,lhs)
NoFibHaskellCompile(HMMS,HmmConstants,lhs)
NoFibHaskellCompile(HMMS,HmmDensities,lhs)
NoFibHaskellCompile(HMMS,HmmDigraphs,lhs)
NoFibHaskellCompile(HMMS,Lists,lhs)
NoFibHaskellCompile(HMMS,MathTypes,lhs)
NoFibHaskellCompile(HMMS,MaybeStateT,lhs)
NoFibHaskellCompile(HMMS,NativeIO,lhs)
NoFibHaskellCompile(HMMS,Phones,lhs)
NoFibHaskellCompile(HMMS,PlainTextIO,lhs)
NoFibHaskellCompile(HMMS,Pronunciations,lhs)
NoFibHaskellCompile(HMMS,StateT,lhs)
NoFibHaskellCompile(HMMS,Viterbi,lhs)
NoFibHaskellCompile(HMMS,BatchAlign,lhs)

/* extras: a slightly unkosher way to do this */
NoFibHaskellCompile(HMMS,BatchTranscribe,lhs)
NoFibHaskellCompile(HMMS,ConvertLinearDic,lhs)

NoFibDependTarget(HMMS, $(SRCS_LHS))

OBJS_BatchTranscribe  =	BalBinSTrees.o	    \
			Pronunciations.o    \
			Lists.o		    \
			MaybeStateT.o	    \
			PlainTextIO.o	    \
			StateT.o	    \
			Phones.o	    \
			BatchTranscribe.o

OBJS_ConvertLinearDic = Phones.o	    \
			ConvertLinearDic.o

BatchTranscribe : $(OBJS_BatchTranscribe)
	$(HC) -o BatchTranscribe $(HCFLAGS) $(OBJS_BatchTranscribe) -syslib hbc

ConvertLinearDic : $(OBJS_ConvertLinearDic)
	$(HC) -o ConvertLinearDic $(HCFLAGS) $(OBJS_ConvertLinearDic) -syslib hbc

setup : BatchTranscribe ConvertLinearDic
	@echo "*** Running part of app/test/demo to set up ***"
	@echo " "
	@echo Running ConvertLinearDic
	@echo " "
	./ConvertLinearDic dictionary.0
	@echo " "
	@echo Running BatchTranscribe
	@echo " "
	./BatchTranscribe  dictionary.0.dgs sentences
	@echo " "
	@echo "*** Ready to run BatchAlign (via: make runtests) ***"

#endif
