################################################################
# SWI-Prolog C++ interface
# Author:    Jan Wielemaker. jan@swi.psy.uva.nl
# Copyright: LGPL (see COPYING or www.gnu.org
################################################################

.SUFFIXES: .tex .dvi .doc .pl

SHELL=/bin/sh

PL=@PL@
PLBASE=@PLBASE@
PKGDOC=$(PLBASE)/doc/packages
PCEHOME=../xpce

DOCTOTEX=$(PCEHOME)/bin/doc2tex
PLTOTEX=$(PCEHOME)/bin/pl2tex
DOC=pl2cpp
TEX=$(DOC).tex
DVI=$(DOC).dvi
PDF=$(DOC).pdf
HTML=$(DOC).html

INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_DATA=@INSTALL_DATA@

all:		
		@echo "Nothing to do for this package"

install::	
		$(INSTALL_DATA) SWI-cpp.h $(PLBASE)/include

rpm-install:	install

pdf-install::
		$(INSTALL_DATA) $(DOC).pdf $(PKGDOC)

html-install::
		$(INSTALL_DATA) $(DOC).html $(PKGDOC)

uninstall::
		rm -f $(PLBASE)/include/SWI-cpp.h
		$(PL) -f none -g make -t halt

################################################################
# Documentation
################################################################

doc:		$(PDF) $(HTML)
pdf:		$(PDF)
html:		$(HTML)

$(HTML):	$(TEX)
		latex2html $(DOC)
		mv html/index.html $@

$(PDF):		$(TEX)
		runtex --pdf $(DOC)

$(TEX):		$(DOCTOTEX)

.doc.tex:
		$(DOCTOTEX) $*.doc > $*.tex
.pl.tex:
		$(PLTOTEX) $*.pl > $*.tex

################################################################
# Demos
################################################################

demo:		test.so likes

test.so:	test.cpp SWI-cpp.h
		g++ -Wall -O2 -c -I$(PLBASE)/include -fpic test.cpp
		g++ -shared -o $@ test.o

likes:		likes.cpp likes.pl SWI-cpp.h
		plld -o $@ -ld g++ -goal true likes.cpp likes.pl

################################################################
# Clean
################################################################

clean:
		rm -f *~ *% config.log *.o *.so likes

distclean:	clean
		rm -f config.cache config.status Makefile
		rm -f $(TEX)
		runtex --clean $(DOC)

