* Fix running Prolog inside the build environment
[chr.git] / Makefile.in
blob9a27b48a982454bce8c7c442818c26faedf36ba4
1 ################################################################
2 # SWI-Prolog CHR package
3 # Author: Jan Wielemaker. jan@swi.psy.uva.nl
4 # Copyright: LGPL (see COPYING or www.gnu.org
5 ################################################################
7 .SUFFIXES: .tex .dvi .doc .pl
9 SHELL=@SHELL@
10 PLBASE=@PLBASE@
11 PLARCH=@PLARCH@
12 PL=@PL@
13 XPCEBASE=$(PLBASE)/xpce
14 PKGDOC=$(PLBASE)/doc/packages
15 PCEHOME=../../xpce
16 LIBDIR=$(PLBASE)/library
17 CHRDIR=$(LIBDIR)/chr
18 EXDIR=$(PKGDOC)/examples/chr
20 DOCTOTEX=$(PCEHOME)/bin/doc2tex
21 PLTOTEX=$(PCEHOME)/bin/pl2tex
22 LATEX=latex
23 DOC=chr
24 TEX=$(DOC).tex
25 DVI=$(DOC).dvi
26 PDF=$(DOC).pdf
27 HTML=$(DOC).html
29 INSTALL=@INSTALL@
30 INSTALL_PROGRAM=@INSTALL_PROGRAM@
31 INSTALL_DATA=@INSTALL_DATA@
33 LIBPL= chr_runtime.pl chr_op.pl chr_translate.pl chr_debug.pl \
34 chr_messages.pl hprolog.pl pairlist.pl clean_code.pl \
35 find.pl a_star.pl binomialheap.pl builtins.pl \
36 chr_hashtable_store.pl
37 CHRPL= chr_swi.pl
38 EXAMPLES= chrfreeze.chr fib.chr gcd.chr primes.chr \
39 bool.chr family.chr fibonacci.chr leq.chr listdom.chr \
40 chrdif.chr
42 all: chr_translate.pl
44 chr_translate_bootstrap1.pl: chr_translate_bootstrap1.chr
45 $(PL) -q -f chr_swi_bootstrap.pl \
46 -g "chr_compile_step1('$<','$@'),halt" \
47 -t 'halt(1)'
48 $(PL) -q -f chr_swi_bootstrap.pl \
49 -g "chr_compile_step2('$<','$@'),halt" \
50 -t 'halt(1)'
52 chr_translate.pl: chr_translate.chr chr_translate_bootstrap1.pl
53 $(PL) -q -f chr_swi_bootstrap.pl \
54 -g "chr_compile_step2('$<','$@'),halt" \
55 -t 'halt(1)'
56 $(PL) -q -f chr_swi_bootstrap.pl \
57 -g "chr_compile_step3('$<','$@'),halt" \
58 -t 'halt(1)'
60 chr.pl: chr_swi.pl
61 cp $< $@
63 install: $(CHRDIR) $(LIBPL)
64 $(INSTALL) -m 644 $(LIBPL) $(CHRDIR)
65 $(INSTALL) -m 644 $(CHRPL) $(LIBDIR)/chr.pl
66 $(INSTALL) -m 644 README $(CHRDIR)
67 $(PL) -f none -g make -t halt
69 $(CHRDIR):
70 mkdir -p $@
72 rpm-install: install
74 pdf-install: install-examples
76 html-install: install-examples
78 install-examples::
79 mkdir -p $(EXDIR)
80 (cd Examples && $(INSTALL_DATA) $(EXAMPLES) $(EXDIR))
82 uninstall:
83 (cd $(PLBASE)/library && rm -f $(LIBPL))
84 $(PL) -f none -g make -t halt
86 check: chr.pl
87 $(PL) -q -f chr_test.pl -g test,halt -t 'halt(1)'
90 ################################################################
91 # Documentation
92 ################################################################
94 doc: $(PDF) $(HTML)
95 pdf: $(PDF)
96 html: $(HTML)
98 $(HTML): $(TEX)
99 latex2html $(DOC)
100 mv html/index.html $@
102 $(PDF): $(TEX)
103 runtex --pdf $(DOC)
105 $(TEX): $(DOCTOTEX)
107 .doc.tex:
108 $(DOCTOTEX) $*.doc > $*.tex
109 .pl.tex:
110 $(PLTOTEX) $*.pl > $*.tex
112 ################################################################
113 # Clean
114 ################################################################
116 clean:
117 rm -f *~ *% config.log
118 rm -f chr.pl chr_translate.pl chr_translate_bootstrap1.pl
120 distclean: clean
121 rm -f $(TARGETS) config.h config.cache config.status Makefile
122 rm -f $(TEX)
123 runtex --clean $(DOC)