QCaml/Makefile

57 lines
1.8 KiB
Makefile
Raw Normal View History

2017-12-30 19:06:07 +01:00
.NOPARALLEL:
2018-02-20 23:54:48 +01:00
INCLUDE_DIRS=Nuclei,Utils,Basis,HartreeFock
2017-12-30 19:06:07 +01:00
LIBS=
PKGS=
OCAMLCFLAGS="-g -warn-error A"
2018-01-24 16:34:50 +01:00
OCAMLOPTFLAGS="opt -O3 -nodynlink -remove-unused-arguments -rounds 16 -inline 100 -inline-max-unroll 100"
2018-03-06 18:25:48 +01:00
#ODOC_LTXHTML_DIR=qpackage.docdir/ltx
2018-03-16 00:23:47 +01:00
ODOCFLAGS=-docflags "-g ltxhtml.cma -sort -css-style $(PWD)/style.css -colorize-code"
2018-03-06 00:47:33 +01:00
OCAMLBUILD=ocamlbuild -j 0 -cflags $(OCAMLCFLAGS) -lflags $(OCAMLCFLAGS) $(ODOCFLAGS) -Is $(INCLUDE_DIRS) -ocamlopt $(OCAMLOPTFLAGS)
2018-02-01 22:39:23 +01:00
MLLFILES=$(wildcard */*.mll) $(wildcard *.mll) Utils/math_functions.c
2017-12-31 16:41:04 +01:00
MLYFILES=$(wildcard */*.mly) $(wildcard *.mly)
MLFILES= $(wildcard */*.ml) $(wildcard *.ml)
MLIFILES=$(wildcard */*.mli) $(wildcard *.mli)
2018-02-24 23:57:38 +01:00
ALL_NATIVE=$(patsubst %.ml,%.native,$(wildcard run_*.ml))
ALL_BYTE=$(patsubst %.ml,%.byte,$(wildcard run_*.ml))
ALL_EXE=$(ALL_BYTE) $(ALL_NATIVE)
2017-12-30 19:06:07 +01:00
.PHONY: default
2018-01-18 00:21:05 +01:00
default: $(ALL_EXE)
2018-01-17 15:56:57 +01:00
2017-12-30 19:06:07 +01:00
tests: $(ALL_TESTS)
qpackage.odocl: $(MLIFILES)
ls $(MLIFILES) | sed "s/\.mli//" > qpackage.odocl
doc: qpackage.odocl
2018-01-17 15:56:57 +01:00
$(OCAMLBUILD) qpackage.docdir/index.html -use-ocamlfind $(PKGS)
2017-12-30 19:06:07 +01:00
%.inferred.mli: $(MLFILES)
$(OCAMLBUILD) $*.inferred.mli -use-ocamlfind $(PKGS)
mv _build/$*.inferred.mli .
%.byte: $(MLFILES) $(MLIFILES) $(MLLFILES) $(MLYFILES)
rm -f -- $*
2018-01-17 15:56:57 +01:00
$(OCAMLBUILD) $*.byte -use-ocamlfind $(PKGS)
2017-12-30 19:06:07 +01:00
2018-01-20 12:10:32 +01:00
%.native: $(MLFILES) $(MLIFILES) $(MLLFILES) $(MLYFILES)
2017-12-30 19:06:07 +01:00
rm -f -- $*
$(OCAMLBUILD) $*.native -use-ocamlfind $(PKGS)
ln -s $*.native $*
2018-02-02 00:04:35 +01:00
%.p.native: $(MLFILES) $(MLIFILES) $(MLLFILES) $(MLYFILES)
rm -f -- $*
$(OCAMLBUILD) $*.p.native -use-ocamlfind $(PKGS)
2018-02-02 01:25:10 +01:00
%.p.byte: $(MLFILES) $(MLIFILES) $(MLLFILES) $(MLYFILES)
rm -f -- $*
$(OCAMLBUILD) -ocamlc ocamlcp $*.byte -use-ocamlfind $(PKGS)
2017-12-30 19:06:07 +01:00
clean:
2018-03-06 00:47:33 +01:00
$(OCAMLBUILD) -clean # rm -rf _build $(ALL_EXE) $(ALL_TESTS) *.native *.byte
2017-12-30 19:06:07 +01:00
2018-01-29 22:48:09 +01:00
debug: run_integrals.native
2018-02-01 16:09:04 +01:00
./debug.sh