Better error message
[llpp.git] / build.ninja
blobfa71fbd7ab5f8696f1e398f506314128b1d195f2
1 cc = gcc
2 include .config
3 ocamlflags = -warn-error +a -w +a -g -safe-string
4 libs = -lmupdf $mujs -lpthread -L$mupdf/build/$buildtype
6 cflags = $cflags -Wall -Werror -I$mupdf/include -I$freetype -g $
7        -std=c99 -pedantic-errors -Wunused-parameter -Wsign-compare -Wshadow
9 rule cc
10      deps = gcc
11      depfile = $out.d
12      command = $ocamlc -cc "$cc" -ccopt "$cflags -MMD -MF $out.d -o $out" -c $in
13      description = cc $out
15 rule ocamlc
16      deps = gcc
17      depfile = $out.d
18      command = env incs="$incs" pp="$pp" /bin/sh $srcdir/doocaml.sh $
19              $ocamlc $out $in $ignext -c $ocamlflags
20      description = ocamlc $out
22 rule genhelp
23      command = sh $srcdir/mkhelp.sh $srcdir/keystoml.ml $srcdir/KEYS >$out
24      description = genhelp
26 build $builddir/help.ml: genhelp $
27       $srcdir/mkhelp.sh $srcdir/keystoml.ml $srcdir/KEYS
28 build $builddir/link.o: cc $srcdir/link.c
29       cflags = $cflags -D_GNU_SOURCE -DOBSCURED_OPT -DFFP
30 build $builddir/help$cmo: ocamlc $builddir/help.ml
31 build $builddir/utils$cmo: ocamlc $srcdir/utils.ml
32 build $builddir/bo$cmo: ocamlc $srcdir/le/bo.ml
33 build $builddir/wsi.cmi: ocamlc $srcdir/wsi.mli $
34       | $builddir/utils$cmo
35 build $builddir/wsi$cmo: ocamlc $srcdir/wsi.ml $
36       | $builddir/bo$cmo $builddir/utils$cmo $builddir/wsi.cmi
37 build $builddir/parser$cmo: ocamlc $srcdir/parser.ml
38 build $builddir/config$cmo: ocamlc $srcdir/config.ml $
39       | $builddir/wsi.cmi $builddir/utils$cmo $
40         $builddir/parser$cmo $builddir/help$cmo
41       incs = $lablglcflags
42 build $builddir/main$cmo: ocamlc $srcdir/main.ml $
43       | $builddir/wsi.cmi $builddir/utils$cmo $builddir/config$cmo $
44         $builddir/help$cmo $srcdir/doocaml.sh
45         incs = $lablglcflags
46         pp = sed -f $srcdir/pp.sed
48 rule linkso
49      command = $cc -o $out -shared $in $libs $lflags
50      description = linkso $out
52 build $builddir/link.so: linkso $builddir/link.o
54 rule link
55      command = $ocamlc -g -o $out $lablglcflags $
56              str$cma unix$cma lablgl$cma $in $
57              $ocamllflags
58      description = link $out
60 build $builddir/llpp.custom: link $
61      $builddir/help$cmo $
62      $builddir/utils$cmo $
63      $builddir/parser$cmo $
64      $builddir/bo$cmo $
65      $builddir/wsi$cmo $
66      $builddir/config$cmo $
67      $builddir/main$cmo $
68      $builddir/link.o
69      ocamllflags = $customflag -cclib "$libs -lX11 $lflags"
71 build $builddir/llpp: link $
72      $builddir/help$cmo $
73      $builddir/utils$cmo $
74      $builddir/parser$cmo $
75      $builddir/bo$cmo $
76      $builddir/wsi$cmo $
77      $builddir/config$cmo $
78      $builddir/main$cmo $
79      | $builddir/link.so
80      ocamllflags = $linksocclib $builddir/link.so
82 default $builddir/llpp