SoftTimur

Untitled

May 24th, 2016
433
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.93 KB | None | 0 0
  1. SHELL:= /bin/bash
  2. OCAMLC =    ocamlfind ocamlc -package js_of_ocaml.ppx -g unix.cma str.cma
  3.  
  4. OCAMLOPT=       $(OCAMLPREFIX)ocamlopt.opt -inline 0 -g unix.cmxa str.cmxa \
  5.         /Users/softtimur/.opam/4.02.3/lib/xmlm/xmlm.cmxa
  6. OCAMLYACC=      $(OCAMLPREFIX)menhir -v
  7. OCAMLLEX=       $(OCAMLPREFIX)ocamllex
  8. OCAMLDEP=       $(OCAMLPREFIX)ocamldep -native
  9. DIRS=           -I folder
  10. OCAMLINCLUDES=  -I $(HOME)/lib $(DIRS) \
  11.         -I /usr/local/lib/ocaml/3.12.0/apron/ \
  12.         -I /usr/local/lib/ocaml/3.12.0/gmp \
  13.         -I /Users/softtimur/.opam/4.02.3/lib/xmlm
  14. OCAMLFLAGS=     $(OCAMLINCLUDES) -annot
  15. BIN=        analyze -type
  16.  
  17. %.ml %.mli: %.mly
  18.     $(OCAMLYACC) $*.mly
  19. %.ml: %.mll
  20.     $(OCAMLLEX) $*.mll
  21. %.cmi: %.mli
  22.     $(OCAMLC) $(OCAMLFLAGS) -c $*.mli
  23. %.cmo: %.ml
  24.     $(OCAMLC) $(OCAMLFLAGS) -c $*.ml
  25. %.cmx: %.ml
  26.     $(OCAMLOPT) $(OCAMLFLAGS) -c $*.ml
  27.  
  28. ML_PARSELEXE=   folder/parser.ml \
  29.                 folder/lexer.ml
  30. ML_DOMAIN_ONE=  folder/file_1_1.ml \
  31.         folder/file_1_2.ml \
  32.         folder/file_1_3.ml \
  33.         $(ML_PARSELEXE) \
  34.         folder/file_1_4.ml
  35. ML_DOMAIN_TWO=  folder/file_2_1.ml \
  36.         folder/file_2_2.ml \
  37.         folder/file_2_3.ml \
  38.         folder/main.ml
  39. ML_DOMAIN_JS=   folder/wrap.ml
  40.  
  41. CMI_DOMAIN= folder/calculate_sig.cmi \
  42.         folder/ai_sig.cmi \
  43.         folder/calculate.cmi \
  44.         folder/ai.cmi \
  45.  
  46. CMO_DOMAIN_ONE= $(ML_DOMAIN_ONE:%.ml=%.cmo)
  47. CMO_DOMAIN_TWO= $(ML_DOMAIN_TWO:%.ml=%.cmo)
  48. CMO_DOMAIN_JS=  $(ML_DOMAIN_JS:%.ml=%.cmo)
  49. CMX_DOMAIN_ONE= $(ML_DOMAIN_ONE:%.ml=%.cmx)
  50. CMX_DOMAIN_TWO= $(ML_DOMAIN_TWO:%.ml=%.cmx)
  51. CMX_DOMAIN_JS=  $(ML_DOMAIN_JS:%.ml=%.cmx)
  52.  
  53. AUTOGEN=    $(ML_PARSELEXE)
  54.  
  55. all:        $(CMO_DOMAIN_ONE) $(CMI_DOMAIN) $(CMO_DOMAIN_TWO) analyze
  56.         export OCAMLRUNPARAM=b
  57.  
  58. js:     $(CMO_DOMAIN_ONE) $(CMI_DOMAIN) $(CMO_DOMAIN_TWO) $(CMO_DOMAIN_JS) analyzejs
  59.         export OCAMLRUNPARAM=b
  60.         js_of_ocaml analyzejs
  61.  
  62. analyze:    $(CMO_DOMAIN_ONE) $(CMO_DOMAIN_TWO)
  63.         $(OCAMLC) -linkpkg -o $@ $+
  64.  
  65. analyzejs:  $(CMO_DOMAIN_ONE) $(CMO_DOMAIN_TWO) $(CMO_DOMAIN_JS)
  66.         $(OCAMLC) -linkpkg -o $@ $+
Advertisement
Add Comment
Please, Sign In to add comment