# Redefine QUINTUS or SICSTUS according to your local system!
QUINTUS = /usr/local/q3.1.1/bin3.1.1/sun4-4.1/prolog
SICSTUS = /usr/local/languages/sicstus2.1/sicstus

ALFPROLOG:sh = ${ALFHOME}/localbin/getALFPROLOG
GMAKE   = ${ALFHOME}/localbin/gmake.`arch`


install: alf-${ALFPROLOG} awam awamS
	cp alf-${ALFPROLOG} ${ALFHOME}/localbin/alf-${ALFPROLOG}
	mv awam ${ALFHOME}/bin/awam
	mv awamS ${ALFHOME}/bin/awamS

alf-quintus: qprolog/load_alf.pl qprolog/q_missing.pl \
     compiler/ff.pl compiler/skel_part.pl compiler/comp_part.pl \
     compiler/atos_part.pl compiler/sowam_to_absy.pl \
     bytecode/sowam_to_bc.pl bytecode/func_to_bc.pl bytecode/byte_def.pl \
     bytecode/make_AF.pl bytecode/bc_out.pl bytecode/relocation.pl \
     alf-general/aufrufe.pl alf-general/sowam.pl
	(cd qprolog ; (echo "compile(load_alf), save_program('../alf-quintus')." | ${QUINTUS} ) )

alf-sicstus: qprolog/load_alf.pl qprolog/q_missing.pl \
     compiler/ff.pl compiler/skel_part.pl compiler/comp_part.pl \
     compiler/atos_part.pl compiler/sowam_to_absy.pl \
     bytecode/sowam_to_bc.pl bytecode/func_to_bc.pl bytecode/byte_def.pl \
     bytecode/make_AF.pl bytecode/bc_out.pl bytecode/relocation.pl \
     alf-general/aufrufe.pl alf-general/sowam.pl
	(cd qprolog ; (echo "compile(load_alf), save_program('../alf-sicstus')." | ${SICSTUS} ) )

alf-sbprolog: sbprolog/compile_alf sbprolog/sb_missing.pl \
     compiler/ff.pl compiler/skel_part.pl compiler/comp_part.pl \
     compiler/atos_part.pl compiler/sowam_to_absy.pl \
     bytecode/sowam_to_bc.pl bytecode/func_to_bc.pl bytecode/byte_def.pl \
     bytecode/make_AF.pl bytecode/bc_out.pl bytecode/relocation.pl \
     alf-general/aufrufe.pl alf-general/sowam.pl
	(cd sbprolog ; make )

awam:
	(cd sowam/Optimized ; ${GMAKE} )
	cp sowam/Optimized/sowamO awam

awamS:
	(cd sowam/Stat ; ${GMAKE} )
	cp sowam/Stat/sowamS awamS

clean:
	rm -f alf-quintus alf-sicstus alf-sbprolog
	(cd sbprolog ; make clean )
	(cd sowam/Stat ; ${GMAKE} realclean )
	(cd sowam/Optimized ; ${GMAKE} realclean )
