
#########################################################################
#									#
#  Makefile for distribution of PI		version 1.1		#
#									#
#	tested in Sun-4, SunOS 4.1  running				#
#									#
#		Prolog		Release					#
#		-----------------------					#
#		yap:		3.0					#
#		sicstus:	2.1 #7					#
#		quintus:	3.1.1 					#
#									#
#########################################################################

#-----------------------------------------------------------------------
#
# EDIT THESE VARIABLES
#
#-----------------------------------------------------------------------


QUINTUS = prolog
SICSTUS	= sicstus
YAP	= yap
CC	= gcc

#  -I<location_of_include_files>
INCPATH = -I/usr/local/lib/sicstus2.1/Emulator -I/usr/local/lib/yap
# define OLD for SICStus version less than 2.1#6 and set -pic for Quintus/SunOS
OCFLAGS	= -O # -pic # -DOLD=1 


#-----------------------------------------------------------------------
#
# YOU SHOULDN'T HAVE TO EDIT ANY MORE
#
#-----------------------------------------------------------------------

SHELL	=/bin/csh
MAKE	=/bin/make

PI_HOME	= `pwd`
PATHS	= ${PI_HOME}/pi_paths.pl

RCFLAGS	= ${OCFLAGS} ${INCPATH}
PIFLAGS	= PROLOG="${PROLOG}" NAME=${NAME} CC=${CC} \
		CFLAGS="${CFLAGS}" COMP=${COMP}

# -- Prolog engine dependent flags

QUINTUS_FLAGS	= NAME=quintus PROLOG="${QUINTUS} +f +l ${PATHS}" \
		  CFLAGS="-DQUINTUS=1 ${RCFLAGS}" COMP=.qof 
SICSTUS_FLAGS	= NAME=sicstus PROLOG="${SICSTUS} -f -l ${PATHS}" \
		  CFLAGS="-DSICSTUS=1	${RCFLAGS}" COMP=.ql
YAP_FLAGS	= name=yap PROLOG="${YAP}	CFLAGS="-DYAP=1	${RCFLAGS}"

# -- targets 

default:
	@ echo no defaults:
	@ echo \ 
	@ echo "type:			to:"
	@ echo "-------------------------------------------------------------"
	@ echo "	make quintus	make PI for Quintus Prolog"
	@ echo "	make sicstus	make PI for SICStus Prolog"
	@ echo "	make both	make PI both for Quintus and SICStus"
	@ echo "	make yap	make PI for YAP Prolog"
	@ echo \ 
	@ echo " 	make resources	modify Prolog compiler's resource files"
	@ echo "	make clean	remove created files"
	@ echo \ 
	@ echo "	make doc	make documentation"
	@ echo \ 

quintus:
	if( ! -w edipo/obj.quintus ) ${MAKE} clean_obj
	touch edipo/obj.quintus
	${MAKE} all ${QUINTUS_FLAGS}

sicstus:
	if( ! -w edipo/obj.sicstus ) ${MAKE} clean_obj
	touch edipo/obj.sicstus
	${MAKE} all ${SICSTUS_FLAGS}

both:
	${MAKE} quintus
	${MAKE} sicstus

yap:
	if( ! -w edipo/obj.yap ) ${MAKE} clean_obj
	touch edipo/obj.yap
	${MAKE} all ${YAP_FLAGS}

clean_obj:
	(cd edipo;	${MAKE} clean_obj )
	


all: pi_paths.pl 
	(cd edipo	; ${MAKE} ${PIFLAGS} )
	(cd ytoolkit	; ${MAKE} ${PIFLAGS} )

doc:
	(cd doc		; ${MAKE})

pi_paths.pl:	
	echo	":- multifile library_directory/1."		>  ${PATHS}
	echo	":- dynamic library_directory/1."		>> ${PATHS}
	echo	":- op(200,xfy,~). % needed by fcompile"	>> ${PATHS}
	echo	"library_directory('${PI_HOME}/ytoolkit')." 	>> ${PATHS}
	echo 	"library_directory('${PI_HOME}/edipo')."	>> ${PATHS}

resources: pi_paths.pl
	if ( -w  ${HOME}/prolog.ini ) cat ${PATHS} >> ${HOME}/prolog.ini
	if ( -w  ${HOME}/.sicstusrc ) cat ${PATHS} >> ${HOME}/.sicstusrc
	if ( -w ${HOME}/.yaprc ) cat ${PATHS} >> ${HOME}/.yaprc

clean:
	rm -f ${PATHS}
	(cd edipo	; ${MAKE} clean)
	(cd ytoolkit	; ${MAKE} clean)
	(cd doc		; ${MAKE} clean)

ola:
	echo @{PWD}

# EOF
