2 BTARGET = $(TARGET).byte
4 OTARGET = $(TARGET).native
5 BLTARGET = $(TARGET).cma
6 BNTARGET = $(TARGET).cmxa
7 STARGET = $(shell if `which ocamlopt`; then \
9 else echo $(BTARGET); fi)
15 #########################
16 ## Tools configuration ##
17 #########################
19 # Menhir can be told to produce a parser that explains what
21 ifeq ($(DEBUGPARSING), yes)
22 MENHIROPT=-yaccflag --explain -yaccflag --trace
24 MENHIROPT=-yaccflag --explain
27 # In Emacs, use classic display to enable error jumping.
28 TERM = $(shell echo $$TERM)
30 OCAMLBUILD = $(OCAMLBUILDCMD) -use-ocamlfind -cflag "-dtypes" -tag debug -classic-display -no-hygiene $(MENHIROPT)
32 OCAMLBUILD = $(OCAMLBUILDCMD) -use-ocamlfind -no-hygiene $(MENHIROPT) -lflags -I,`pwd`/lib
36 OCAMLBUILD += -tag profile
47 .PHONY: configure all-generic byte opt doc clean dist install uninstall headers clear
49 all-generic: configure clear $(STARGET) $(TARGET)
52 ln -s $(STARGET) $(TARGET)
62 @ $(OCAMLBUILD) src/$@
65 @ $(OCAMLBUILD) -use-ocamlfind -tag "use-nums" -tag "package(js_of_ocaml)" src/$(BTARGET)
66 js_of_ocaml $(BTARGET)
69 $(OCAMLBUILD) -tag debug src/$(BTARGET)
71 ifeq ($(strip $(PREFIX)),)
73 @echo "Cannot (un)install $(EXECUTABLE): the PREFIX variable is undefined." && false
75 install: $(EXECUTABLE)
76 mkdir -p $(PREFIX)/bin/
77 install $(STARGET) $(PREFIX)/bin/$(TARGET)
79 /bin/rm -f $(PREFIX)/bin/$(TARGET)
82 #######################
83 # Administrative part #
84 #######################
87 for i in src/*.ml src/*.mli src/*.mly; do \
88 $(HEADACHE) -h admin/header -c admin/headache.cfg $$i; \
92 @ $(OCAMLBUILD) -clean
94 make -C $(TESTDIR) clean
95 find -name '*~' -exec rm '{}' \;
96 rm -fr config.log config.status *~ $(TARGET) $(PACKAGE) $(PACKAGE).tar.gz
99 $(OCAMLBUILD) $(TARGET).docdir/index.html
101 rm -f $(TARGET).docdir/style.css 2> /dev/null
102 mv $(TARGET).docdir/* doc/html
108 for i in `cat distributed_files` doc/html/*.html; do \
109 if test -f $$i; then \
110 cp -fr --parents $$i $(PACKAGE); \
115 tar cvfz $(PACKAGE).tar.gz $(PACKAGE)
118 $(MAKE) -C $(TESTDIR) check