Mention CamlP4 and properly capitalize
[llpp.git] / build.ninja
blobfd186f677f7133c78d26c93a02c81238f9464cae
1 cc = gcc
2 include .config
3 pp =
4 ocamlc = ocamlc.opt
5 ocamlflags = -warn-error +a -w +a -g -safe-string
6 libs = -lmupdf $mujs -lpthread -L$mupdf/build/$buildtype
8 cflags = $cflags -Wall -Werror -I$mupdf/include -I$freetype -g $
9        -std=c99 -pedantic-errors
11 rule cc
12      deps = gcc
13      depfile = $out.d
14      command = $ocamlc -cc "$cc" -ccopt "$cflags -MMD -MF $out.d -o $out" -c $in
15      description = cc $out
17 rule ocamlc
18      deps = gcc
19      depfile = $out.d
20      command = sh $srcdir/doocaml.sh $ocamlc $out $in -c $ocamlflags
21      description = ocamlc $out
23 rule genhelp
24      command = sh $srcdir/mkhelp.sh $srcdir/keystoml.ml $srcdir/KEYS >$out
25      description = genhelp
27 sedcmd = sed -f $srcdir/pp.sed
29 build $builddir/help.ml: genhelp $
30       $srcdir/mkhelp.sh $srcdir/keystoml.ml $srcdir/KEYS
31 build $builddir/link.o: cc $srcdir/link.c
32       cflags = $cflags -D_GNU_SOURCE -DOBSCURED_OPT -DFFP
33 build $builddir/help.cmo: ocamlc $builddir/help.ml
34 build $builddir/utils.cmo: ocamlc $srcdir/utils.ml
35 build $builddir/bo.cmo: ocamlc $srcdir/le/bo.ml
36 build $builddir/wsi.cmi: ocamlc $srcdir/wsi.mli
37 build $builddir/wsi.cmo: ocamlc $srcdir/wsi.ml $
38       | $builddir/bo.cmo $builddir/utils.cmo $builddir/wsi.cmi
39 build $builddir/parser.cmo: ocamlc $srcdir/parser.ml
40 build $builddir/config.cmo: ocamlc $srcdir/config.ml $
41       | $builddir/wsi.cmi $builddir/utils.cmo $builddir/parser.cmo
42       ocamlflags = $ocamlflags -I +lablGL
43 build $builddir/main.cmo: ocamlc $srcdir/main.ml $
44       | $builddir/wsi.cmi $builddir/utils.cmo $builddir/config.cmo $
45         $builddir/help.cmo
46       ocamlflags = $ocamlflags -I +lablGL -pp "$sedcmd"
48 cmos = $builddir/help.cmo $
49      $builddir/utils.cmo $
50      $builddir/parser.cmo $
51      $builddir/bo.cmo $
52      $builddir/wsi.cmo $
53      $builddir/config.cmo $
54      $builddir/main.cmo
56 rule linkso
57      command = $cc -o $out -shared $in $libs $lflags
58      description = linkso $out
60 build $builddir/link.so: linkso $builddir/link.o
62 rule link
63      command = $ocamlc -g -o $out -I +lablGL $
64              str.cma unix.cma lablgl.cma $cmos $
65              $builddir/link.so
66      description = link $out
68 build $builddir/llpp: link $
69       $builddir/help.cmo $
70       $builddir/utils.cmo $
71       $builddir/parser.cmo $
72       $builddir/bo.cmo $
73       $builddir/wsi.cmo $
74       $builddir/config.cmo $
75       $builddir/main.cmo $
76       $builddir/link.so
78 default $builddir/llpp