all: bytecode bincode display color_out_toplevel clean: mv -vf exemple display parser.ml parser.mli lexer.ml *.o *.a *.cmo *.cma *.cmxa *.cmi *.cmx *.annot *.sty *.tex *.toc *.aux *.log *.synctex.gz /tmp/ cleanall: mv -vf catML catML.opt doc *.pdf /tmp/ test: ocamlc -o exemple colorml.cma exemple.ml catml: all ocamlc -o catML types.ml lexer.ml parser.ml unix.cma ANSITerminal.ml print.ml cat.ml ocamlopt -o catML.opt types.cmx lexer.cmx parser.cmx unix.cmxa ANSITerminal.cmx print.cmx cat.ml # ocamlc -o catML types.cmo lexer.cmo parser.cmo unix.cma ANSITerminal.cma print.cmo cat.ml # echo "Je veux installer catML dans /usr/local/bin. Il me faut les droits sudo, puis-je ?" # sudo cp catML /usr/local/bin/ display: ocamlc -a -c display.mli display.ml # ocamlc -a -o display display.mli display.ml ocamlc -a -o display.cma -w -a display.mli display.ml ocamlopt -a -o display.cmxa -w -a display.mli display.ml exemple: ocamlc -o exemple colorml.cma exemple.ml ./exemple rm exemple bytecode: ocamlc -c ANSITerminal.ml ocamlc -c types.ml ocamlyacc parser.mly # generates parser.ml and parser.mli ocamlc -c parser.mli ocamlc -c types.cmo parser.ml ocamllex lexer.mll # generates lexer.ml ocamlc -c types.cmo parser.cmo lexer.ml # #ocamlc -i print.ml > print.mli ocamlc -c unix.cma ANSITerminal.cmo print.mli print.ml ocamlc -a -o colorml.cma types.cmo lexer.cmo parser.cmo unix.cma ANSITerminal.cmo print.cmo ocamlc -linkall -o colorml.cmo types.cmo lexer.cmo parser.cmo unix.cma ANSITerminal.cmo print.cmo bincode: ocamlopt -c ANSITerminal.ml ocamlopt -c types.ml ocamlyacc parser.mly # generates parser.ml and parser.mli ocamlopt -c parser.mli ocamlopt -c types.cmx parser.ml ocamllex lexer.mll # generates lexer.ml ocamlopt -c types.cmx parser.cmx lexer.ml ocamlopt -c unix.cmxa ANSITerminal.cmxa print.mli print.ml # ocamlopt -a -o colorml.cmxa types.cmx lexer.cmx parser.cmx unix.cmxa ANSITerminal.cmxa print.cmx # ocamlopt -linkall -o opt.cmx types.cmx lexer.cmx parser.cmx unix.cmxa ANSITerminal.cmxa print.cmx ocamlopt -a -o colorml.cmxa types.cmx lexer.cmx parser.cmx print.cmx # ocamlopt -linkall -o opt.cmx types.cmx lexer.cmx parser.cmx unix.cmxa ANSITerminal.cmxa print.cmx doc: # Documentation LaTeX ocamldoc -latex -o doc.tex exemple.ml types.ml lexer.ml parser.ml print.mli color_out_toplevel.ml mkdir doc # Documentation HTML ocamldoc -html -d doc -o doc exemple.ml types.ml lexer.ml parser.ml print.mli color_out_toplevel.ml # Compilation en PDF via PDFLaTeX pdflatex doc.tex pdflatex doc.tex color_out_toplevel: bytecode ocamlc -a -o color_out_toplevel.cma colorml.cma color_out_toplevel.ml # cp color_out_toplevel.cma ~/ install: all # Installation # sudo mkdir `ocamlc -where`/ColorML/ # sudo cp colorml.cm* `ocamlc -where`/ColorML/ # The Caml compilers. CAMLC = ~/bin/ocamlc -g -principal -w "+a-32-27-26-33" CAMLI = ocamlc -principal -w "+a-32-27-26-33" -i CAMLOPT = ocamlopt -g -principal -w "+a-32-27-26-33" LIBS = unix.cma LIBSOPT2=$(LIBS:.cma=.cmxa) LIBSOPT=$(LIBSOPT2:.cmo=.cmx) .SUFFIXES: .SUFFIXES: .tex .pdf .ml .opt .mli .cmo .cmi .cmx .mll .mly .cma .cmxa .tex.pdf: pdflatex $< .ml.opt: $(CAMLOPT) $(LIBSOPT) $< -o $*.opt ./$*.opt .ml.cmo: $(CAMLC) $(LIBS) -c $< .ml.cma: $(CAMLC) $(LIBS) -a $< -o $*.cma .mli.cmi: $(CAMLC) $(LIBS) -c $<