1
|
OCAMLBUILD=@OCAMLBUILD@ -classic-display -no-links
|
2
|
|
3
|
prefix=@prefix@
|
4
|
exec_prefix=@exec_prefix@
|
5
|
bindir=@bindir@
|
6
|
datadir = ${prefix}/share
|
7
|
includedir = ${prefix}/include
|
8
|
|
9
|
LUSI_LIBS=include/math.lusi include/conv.lusi
|
10
|
LUSI_MPFR_LIB=include/mpfr_lustre.lusi
|
11
|
LOCAL_BINDIR=bin
|
12
|
LOCAL_DOCDIR=doc/manual
|
13
|
|
14
|
$(LOCAL_BINDIR)/lustrec: configure Makefile
|
15
|
@echo Compiling binary lustrec
|
16
|
@$(OCAMLBUILD) -cflags -I,@OCAMLGRAPH_PATH@ -lflag @OCAMLGRAPH_PATH@/graph.cmxa -lflag nums.cmxa -I src -I src/backends/C -I src/plugins/scopes src/main_lustre_compiler.native
|
17
|
@mkdir -p $(LOCAL_BINDIR)
|
18
|
@mv _build/src/main_lustre_compiler.native $(LOCAL_BINDIR)/lustrec
|
19
|
|
20
|
configure: configure.ac
|
21
|
@echo configure.ac has changed relaunching autoconf
|
22
|
@autoconf
|
23
|
|
24
|
Makefile: Makefile.in config.status configure
|
25
|
@echo Makefile.in has changed relaunching autoconf
|
26
|
@./config.status --recheck
|
27
|
|
28
|
doc:
|
29
|
@echo Generating doc
|
30
|
@$(OCAMLBUILD) lustrec.docdir/index.html
|
31
|
@rm -rf $(LOCAL_DOCDIR)
|
32
|
@cp -rf _build/lustrec.docdir $(LOCAL_DOCDIR)
|
33
|
|
34
|
dot: doc
|
35
|
$(OCAMLBUILD) lustrec.docdir/lustrec.dot
|
36
|
dot -T ps -o lustrec.dot _build/lustrec.docdir/lustrec.dot
|
37
|
mv _build/lustrec.docdir/lustrec.dot $(LOCAL_DOCDIR)
|
38
|
|
39
|
clean:
|
40
|
$(OCAMLBUILD) -clean
|
41
|
|
42
|
dist-src-clean: clean
|
43
|
@rm -f config.log config.status include/*.lusic include/math.h include/conv.h include/mpfr_lustre.h
|
44
|
|
45
|
DIST_ARCHIVE_NAME=lustrec-$(shell $(LOCAL_BINDIR)/lustrec -version | grep version | cut -d, -f 2 | sed -e "s/ version //" -e "s/ (/-/" -e "s/ /-/" -e "s/\//-/" -e "s/)//")-src.tar.gz
|
46
|
|
47
|
dist-gzip: $(LOCAL_BINDIR)/lustrec dist-src-clean
|
48
|
@rm -f $(shell ls ../*lustrec*src*tar.gz)
|
49
|
@tar zcvf ../$(DIST_ARCHIVE_NAME) -C .. --exclude-vcs --exclude=Makefile --exclude=$(LOCAL_BINDIR) $(shell basename $(PWD))
|
50
|
@echo "Source distribution built: ../$(DIST_ARCHIVE_NAME)"
|
51
|
|
52
|
dist-clean: dist-src-clean
|
53
|
@rm -f myocamlbuild.ml configure Makefile
|
54
|
|
55
|
%.lusic: %.lusi
|
56
|
@echo Compiling $<
|
57
|
@$(LOCAL_BINDIR)/lustrec -verbose 0 -d include $<
|
58
|
|
59
|
clean-lusic:
|
60
|
@rm -f $(LUSI_LIBS:%.lusi=%.lusic)
|
61
|
@rm -f $(LUSI_MPFR_LIB:%.lusi=%.lusic)
|
62
|
|
63
|
compile-lusi: $(LUSI_LIBS:%.lusi=%.lusic)
|
64
|
|
65
|
compile-mpfr-lusi: $(LUSI_MPFR_LIB)
|
66
|
@echo Compiling $<
|
67
|
@$(LOCAL_BINDIR)/lustrec -verbose 0 -mpfr 1 -d include $<
|
68
|
|
69
|
install: clean-lusic compile-lusi compile-mpfr-lusi
|
70
|
mkdir -p ${bindir}
|
71
|
install -m 0755 $(LOCAL_BINDIR)/* ${bindir}
|
72
|
mkdir -p ${includedir}/lustrec
|
73
|
cp include/* ${includedir}/lustrec
|
74
|
mkdir -p ${datadir}
|
75
|
install -m 0655 share/FindLustre.cmake ${datadir}
|
76
|
|
77
|
.PHONY: compile-lusi doc dot lustrec lustrec.odocl clean install dist-clean
|
78
|
|