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 ifeq (@PROLOG_SYSTEM@
,yap
)
12 EROOTDIR
= @
exec_prefix@
16 BINDIR
= $(EROOTDIR
)/bin
17 LIBDIR
=$(EROOTDIR
)/lib
18 YAPLIBDIR
=$(EROOTDIR
)/lib
/Yap
19 SHAREDIR
=$(ROOTDIR
)/share
/Yap
22 PL
=@EXTEND_DYNLOADER_PATH@
$(DESTDIR
)$(BINDIR
)/yap
$(DESTDIR
)$(YAPLIBDIR
)/startup
23 CHRDIR
=$(SHAREDIR
)/chr
24 EXDIR
=$(CHRDIR
)/examples
/chr
29 CFLAGS
= @CFLAGS@
$(YAP_EXTRAS
) $(DEFS
) -I
$(srcdir) -I..
/..
-I
$(srcdir)/..
/..
/include
38 XPCEBASE
=$(PLBASE
)/xpce
39 PKGDOC
=$(PLBASE
)/doc
/packages
41 LIBDIR
=$(PLBASE
)/library
43 EXDIR
=$(PKGDOC
)/examples
/chr
52 CFLAGS
=$(COFLAGS
) $(CWFLAGS
) $(CMFLAGS
) $(CIFLAGS
) @DEFS@
58 MKINDEX
=$(PL
) -f none
-g make
-t halt
60 DOCTOTEX
=$(PCEHOME
)/bin
/doc2tex
61 PLTOTEX
=$(PCEHOME
)/bin
/pl2tex
77 INSTALL_PROGRAM
=@INSTALL_PROGRAM@
78 INSTALL_DATA
=@INSTALL_DATA@
80 LIBPL
= $(srcdir)/chr_runtime.pl
$(srcdir)/chr_op.pl \
81 chr_translate.pl
$(srcdir)/chr_debug.pl \
82 $(srcdir)/chr_messages.pl \
83 $(srcdir)/pairlist.pl
$(srcdir)/clean_code.pl \
84 $(srcdir)/find.pl
$(srcdir)/a_star.pl \
85 $(srcdir)/binomialheap.pl
$(srcdir)/builtins.pl \
86 $(srcdir)/chr_hashtable_store.pl
$(srcdir)/listmap.pl \
88 $(srcdir)/chr_compiler_options.pl \
89 $(srcdir)/chr_compiler_utility.pl \
90 $(srcdir)/chr_compiler_errors.pl \
91 $(srcdir)/chr_integertable_store.pl @CHR_TARGETS@
92 TARGETS
= @CHR_TARGETS@
93 CHRPL
= $(srcdir)/chr_swi.pl
94 EXAMPLES
= chrfreeze.chr fib.chr gcd.chr primes.chr \
95 bool.chr family.chr fibonacci.chr leq.chr listdom.chr \
98 all: chr_translate.pl
$(TARGETS
)
100 ifeq (@PROLOG_SYSTEM@
,yap
)
102 SOBJS
=chr_support@SHLIB_SUFFIX@
104 chr_support.o
: $(srcdir)/chr_support.c
105 $(CC
) -c
$(CFLAGS
) $(SHLIB_CFLAGS
) $(srcdir)/chr_support.c
-o chr_support.o
107 @DO_SECOND_LD@chr_support@SHLIB_SUFFIX@
: chr_support.o
108 @DO_SECOND_LD@ @SHLIB_LD@
-o chr_support@SHLIB_SUFFIX@ chr_support.o
112 chr_support.@SO@
: chr_support.o
113 $(LD
) $(LDFLAGS
) -o
$@ chr_support.o
117 chr_translate_bootstrap.pl
: $(TARGETS
)
119 chr_translate_bootstrap1.pl
: $(srcdir)/chr_translate_bootstrap1.chr
$(srcdir)/chr_translate_bootstrap.pl
120 $(PL
) -q
-f
$(srcdir)/chr_swi_bootstrap.pl \
121 -g
"chr_compile_step1('$<','$@'),halt" \
123 $(PL
) -q
-f
$(srcdir)/chr_swi_bootstrap.pl \
124 -g
"chr_compile_step2('$<','$@'),halt" \
127 chr_translate_bootstrap2.pl
: $(srcdir)/chr_translate_bootstrap2.chr chr_translate_bootstrap1.pl
128 $(PL
) -q
-f
$(srcdir)/chr_swi_bootstrap.pl \
129 -g
"chr_compile_step2('$<','$@'),halt" \
131 $(PL
) -q
-f
$(srcdir)/chr_swi_bootstrap.pl \
132 -g
"chr_compile_step3('$<','$@'),halt" \
135 guard_entailment.pl
: $(srcdir)/guard_entailment.chr chr_translate_bootstrap2.pl
136 $(PL
) -q
-f
$(srcdir)/chr_swi_bootstrap.pl \
137 -g
"chr_compile_step3('$<','$@'),halt" \
140 chr_translate.pl
: $(srcdir)/chr_translate.chr chr_translate_bootstrap2.pl guard_entailment.pl
141 $(PL
) -q
-f
$(srcdir)/chr_swi_bootstrap.pl \
142 -g
"chr_compile_step3('$<','$@'),halt" \
144 $(PL
) -L50M
-G50M
-T20M
-p chr
=.
-q
-f
$(srcdir)/chr_swi_bootstrap.pl \
145 -g
"chr_compile_step4('guard_entailment.chr','guard_entailment.pl'),halt" \
147 $(PL
) -L50M
-G50M
-T20M
-p chr
=.
-q
-f
$(srcdir)/chr_swi_bootstrap.pl \
148 -g
"chr_compile_step4('$<','$@'),halt" \
151 chr.pl
: $(srcdir)/chr_swi.pl
155 mkdir
-p
$(DESTDIR
)$(CHRDIR
)
156 $(INSTALL_DATA
) $(LIBPL
) $(DESTDIR
)$(CHRDIR
)
157 $(INSTALL_DATA
) $(CHRPL
) $(DESTDIR
)$(SHAREDIR
)/chr.pl
158 $(INSTALL_DATA
) $(srcdir)/README
$(DESTDIR
)$(CHRDIR
)
162 @
$(MAKE
) INSTALL_DATA
='../ln-install' install
166 pdf-install
: install-examples
168 html-install
: install-examples
171 mkdir
-p
$(DESTDIR
)$(EXDIR
)
172 (cd Examples
&& $(INSTALL_DATA
) $(EXAMPLES
) $(DESTDIR
)$(EXDIR
))
175 (cd
$(PLBASE
)/library
&& rm -f
$(LIBPL
))
176 @IN_SWI@
$$(PL
) -f none
-g make
-t halt
179 $(PL
) -q
-f
$(srcdir)/chr_test.pl
-g
test,halt
-t
'halt(1)'
182 ################################################################
184 ################################################################
186 # NOTE: Manual is integrated in system manual
196 mv html
/index.html
$@
199 ..
/..
/man
/runtex
--pdf
$(DOC
)
204 $(DOCTOTEX
) $*.doc
> $*.
tex
206 $(PLTOTEX
) $*.pl
> $*.
tex
208 ################################################################
210 ################################################################
213 rm -f
*~
*.o
*.so
*% config.log
214 rm -f chr.pl chr_translate.pl
215 rm -f chr_translate_bootstrap1.pl chr_translate_bootstrap2.pl
216 rm -f guard_entailment.pl
219 rm -f
$(TARGETS
) config.h config.cache config.status Makefile
221 ..
/..
/man
/runtex
--clean $(DOC
)