Merge branch 'ocamlbuild-port' of ssh://git.nguyen.vg/tatoo into ocamlbuild-port ocamlbuild-port
authorKim Nguyễn <kn@lri.fr>
Fri, 4 Mar 2016 16:29:16 +0000 (17:29 +0100)
committerKim Nguyễn <kn@lri.fr>
Fri, 4 Mar 2016 16:29:16 +0000 (17:29 +0100)
1  2 
Makefile.in
myocamlbuild.ml

diff --cc Makefile.in
@@@ -1,18 -1,23 +1,22 @@@
  CAMLP4FLAGS=@CAMLP4FLAGS@
 -PPOPTSFLAGS= $($CAMLP4FLAGS:%=ppopt(%))
 -OCAMLBUILDFLAGS=-j 0  -use-ocamlfind @OCAMLBUILDFLAGS@
 +OCAMLBUILDFLAGS=-j 0 -use-ocamlfind @OCAMLBUILDFLAGS@  $(CAMLP4FLAGS:%=-tag %)
  OCAMLBUILD=@OCAMLBUILD@
  PACKAGE = @PACKAGE_TARNAME@
- TARGETS=tatoo.native
+ NATIVE=$(PACKAGE).native
+ BYTE=$(PACKAGE).byte
+ TARGETS=$(NATIVE)
  ifeq ($(BYTE), true)
-       TARGETS += tatoo.byte
+       TARGETS += $(BYTE)
  endif
  INLINE=@INLINE@
- TAGS= inline($INLINE)
+ TAGS= -tag 'inline($(INLINE))'
  
  
- .PHONY: clean distclean
+ .PHONY: clean distclean test test_byte test_native do_test all $(TARGETS)
  
- all: $(TARGETS)
+ all:
        @
  
  %:
diff --cc myocamlbuild.ml
@@@ -1,26 -1,16 +1,28 @@@
- open Ocamlbuild_plugin ;;
+ open Ocamlbuild_plugin
+ let includes =
+   let open Pathname in
+   let d = Array.to_list (readdir "include") in
+   List.map (concat "include") d
  
- let includes = [ "include/utils.ml"; "include/utils32.ml"; "include/utils64.ml"; "include/debug.ml" ]
  
 +let ml_str_rule () =
 +   rule ".ml.str" ~dep:"%.ml.str" ~prod:"%.ml"
 +    (fun env _ ->
 +     let mlstr = env "%.ml.str" and ml = env "%.ml" in
 +     let cmd = Printf.sprintf "echo -n 'let content = \"' > %s ;\ 
 +              sed -e 's/\\([\"\\\\]\\)/\\\\\\1/g' %s | sed -e 's/^\\(.*\\)$/\\1\\\\n\\\\/g' >> %s ;\
 +                echo '' >> %s ;\
 +                echo '\"' >> %s" ml mlstr ml ml ml
 +     in
 +     Cmd ( Sh cmd ))
 +       
  let () =
-   dispatch begin function
+   dispatch (function
               | After_rules ->
                  dep ["ocaml";"compile";] includes;
                  dep ["ocaml";"ocamldep"; ] includes;
 -                pflag ["ocaml";"compile";] "ppopt" (fun s -> S [A"-ppopt"; A (s)]);
 +                pflag ["ocaml";"compile";] "ppopt" (fun s -> S [A"-ppopt"; A (s)]);           
                  pflag ["ocaml";"ocamldep";] "ppopt" (fun s -> S [A"-ppopt"; A (s)]);
 +              ml_str_rule ()
               | _ -> ()
- end;;
+            )