~ubuntu-branches/ubuntu/quantal/xen-api/quantal

« back to all changes in this revision

Viewing changes to ocaml/idl/OMakefile

  • Committer: Package Import Robot
  • Author(s): Jon Ludlam
  • Date: 2011-07-07 21:50:18 UTC
  • Revision ID: package-import@ubuntu.com-20110707215018-3t9ekbh7qy5y2b1p
Tags: upstream-1.3
ImportĀ upstreamĀ versionĀ 1.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.SUBDIRS: ocaml_backend js_backend
 
2
 
 
3
PSTOPDF = $(shell bash -c "which pstopdf 2>/dev/null || which ps2pdf 2>/dev/null || which ps2pdf14 2>/dev/null || echo false")
 
4
 
 
5
OCAMLINCLUDES  = ocaml_backend ../database
 
6
OCAMLPACKS     = xml-light2 sexpr log http-svr
 
7
 
 
8
CAMLP4_FILES = datamodel_types
 
9
 
 
10
UseCamlp4(rpc-light.syntax, $(CAMLP4_FILES))
 
11
 
 
12
# -----------------------------------------------------------------------
 
13
# Build datamodel library
 
14
# -----------------------------------------------------------------------
 
15
 
 
16
OCamlLibrary(datamodel, datamodel constants datamodel_utils datamodel_types api_errors api_messages dm_api ocaml_backend/ocaml_utils ocaml_backend/ref ../database/string_marshall_helper)
 
17
 
 
18
# -----------------------------------------------------------------------
 
19
# Build datamodel documentation
 
20
# -----------------------------------------------------------------------
 
21
 
 
22
DATAMODEL = datamodel
 
23
DATAMODEL_FILES = constants datamodel_types api_errors api_messages dm_api datamodel datamodel_utils dtd_backend latex_backend dot_backend ocaml_backend/ref ../database/string_marshall_helper
 
24
 
 
25
SHARED_TEX = coversheet.tex presentation.tex vm-lifecycle.tex wire-protocol.tex
 
26
SHARED_EPS = vm_lifecycle.eps
 
27
OPEN_TEX = xenapi.tex xenapi-coversheet.tex xenapi-datamodel.tex
 
28
OPEN_EPS = xenapi-datamodel-graph.eps xen.eps
 
29
CLOSED_TEX = xenenterpriseapi.tex xenenterpriseapi-coversheet.tex xenenterpriseapi-datamodel.tex
 
30
CLOSED_EPS = xenenterpriseapi-datamodel-graph.eps citrix_logo_black.eps
 
31
 
 
32
DOCDIR = $(ROOT)/ocaml/autogen/doc
 
33
 
 
34
OCamlProgram($(DATAMODEL), $(DATAMODEL_FILES) datamodel_main)
 
35
OCamlDocProgram(datamodel, $(DATAMODEL_FILES))
 
36
 
 
37
#.PHONY: sdk-classes
 
38
#sdk-classes: sdk-classes.dot
 
39
#       dot -Tps2 -Kneato -Goverlap=false sdk-classes.dot > sdk-classes.ps
 
40
#       dot -Tgif -Kneato -Goverlap=false sdk-classes.dot > sdk-classes.gif
 
41
 
 
42
xenapi-datamodel-graph.dot: datamodel
 
43
        ./datamodel -dot  >$@
 
44
 
 
45
xenenterpriseapi-datamodel-graph.dot: datamodel
 
46
        ./datamodel -dot -closed >$@
 
47
 
 
48
xenapi-datamodel.tex: datamodel
 
49
        ./datamodel -latex  >$@
 
50
 
 
51
 
 
52
xenenterpriseapi-datamodel.tex: datamodel
 
53
        ./datamodel -latex  -closed >$@
 
54
 
 
55
datamodel-dtd.xml: datamodel
 
56
        ./datamodel -dtd  >$@
 
57
 
 
58
xenenterpriseapi.dvi: $(CLOSED_TEX) $(SHARED_TEX) $(CLOSED_EPS) $(SHARED_EPS)
 
59
        latex $<
 
60
        latex $<
 
61
 
 
62
xenapi.dvi: $(OPEN_TEX) $(SHARED_TEX) $(OPEN_EPS) $(SHARED_EPS)
 
63
        latex $<
 
64
        latex $<
 
65
 
 
66
%.pdf: %.ps
 
67
        $(PSTOPDF) $< $@
 
68
 
 
69
%.ps: %.dvi
 
70
        dvips $< -o $@
 
71
 
 
72
#%.eps: %.dot
 
73
#       dot -Tps $< >$@
 
74
 
 
75
%.map: %.dot
 
76
        dot -Tcmapx $< >$@
 
77
 
 
78
%.gif: %.dot
 
79
        dot -Tgif $< >$@
 
80
 
 
81
.PHONY: clean
 
82
clean:
 
83
        rm -rf *.cmi *.cma *.cmxa *.a *.cmo *.cmx *.o *.opt *.aux *.log *.fig *.run *.spot *.spit datamodel
 
84
        rm -rf *.ps *.pdf *.dvi *.annot
 
85
        rm -rf *datamodel.tex datamodel-dtd.xml datamodel-coversheet.tex
 
86
 
 
87
sdk-README.txt : sdk-README.html
 
88
        lynx -dump sdk-README.html > sdk-README.txt
 
89
 
 
90
.PHONY: doc
 
91
doc: xenenterpriseapi.pdf
 
92
 
 
93
.PHONY: sdk-install
 
94
sdk-install: doc sdk-README.txt
 
95
        mkdir -p $(SDK)/docs/pdf
 
96
        cp xenenterpriseapi.pdf $(SDK)/docs/pdf/
 
97
        cp sdk-README.txt $(SDK)/README.txt
 
98
        cp sdk-index.html $(SDK)/index.html
 
99
 
 
100
META: META.in
 
101
        sed 's/@VERSION@/$(PRODUCT_VERSION)/g' < $< > $@
 
102
 
 
103
if $(defined DESTDIR)
 
104
        INSTALL_PATH = $(DESTDIR)/$(shell ocamlfind printconf destdir)
 
105
        export
 
106
else
 
107
        INSTALL_PATH = $(shell ocamlfind printconf destdir)
 
108
        export
 
109
 
 
110
lib-install: META
 
111
        mkdir -p $(INSTALL_PATH)
 
112
        ocamlfind install -destdir $(INSTALL_PATH) -ldconf ignore xapi-datamodel META datamodel.{a,cmxa,cmi} datamodel_types.cmi datamodel_utils.cmi dm_api.cmi api_messages.cmi 
 
113
 
 
114
.PHONY: lib-uninstall
 
115
lib-uninstall:
 
116
        ocamlfind remove -destdir $(INSTALL_PATH) xapi-datamodel