qmcchem/install/build.ninja

76 lines
2.6 KiB
Plaintext

# This script should be run in the install dircetory
# URLs
######
URL_OPAM ="https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh"
URL_IRPF90="https://github.com/scemama/irpf90/archive/v1.7.2.tar.gz"
URL_EZFIO ="https://github.com/scemama/EZFIO/archive/v1.3.2.tar.gz"
URL_ZMQ ="http://github.com/zeromq/libzmq/releases/download/v4.2.5/zeromq-4.2.5.tar.gz"
URL_F77ZMQ="https://github.com/scemama/f77_zmq/archive/v4.2.5.tar.gz"
# Rules
#######
rule download
command = [ -e ${out} ] || (wget --no-check-certificate ${url} -O ${out}.tmp -o /dev/null && mv ${out}.tmp ${out})
description = Downloading ${descr}
rule install
command = ./scripts/install_${target}.sh > _build/${target}.log 2>&1 && touch _build/${target}.ok || cat _build/${target}.log
description = Installing ${descr} | tail -f install/_build/${target}.log
# Builds
########
build Downloads/irpf90.tar.gz: download
url = ${URL_IRPF90}
descr = IRPF90 code generator
build Downloads/ezfio.tar.gz: download
url = ${URL_EZFIO}
descr = EZFIO I/O library generator
build Downloads/zmq.tar.gz: download
url = ${URL_ZMQ}
descr = ZeroMQ communication library
build Downloads/f77_zmq.tar.gz: download
url = ${URL_F77ZMQ}
descr = Fortran ZeroMQ interface
build Downloads/opam_installer.sh: download
url = ${URL_OPAM}
descr = OCaml OPAM installer
build _build/irpf90.ok ../bin/irpman ../bin/irpf90: install | Downloads/irpf90.tar.gz
target = irpf90
descr = IRPF90
build _build/zmq.ok ../lib/libzmq.a ../lib/libzmq.so.4 ../lib/libzmq.so ../lib/zmq.h ../lib/zmq_utils.h: install | Downloads/zmq.tar.gz
target = zmq
descr = ZeroMQ
build _build/ezfio.ok: install | Downloads/ezfio.tar.gz _build/irpf90.ok ../bin/irpman ../bin/irpf90
target = ezfio
descr = EZFIO
build _build/f77_zmq.ok ../src/ZMQ/f77_zmq.h ../lib/libf77zmq.a ../lib/libf77zmq.so: install | Downloads/f77_zmq.tar.gz _build/zmq.ok ../lib/libzmq.a ../lib/libzmq.so.4 ../lib/libzmq.so ../lib/zmq.h ../lib/zmq_utils.h
target = f77_zmq
descr = Fortran ZeroMQ interface
build _build/qmcchemrc.ok ../qmcchemrc: install | _build/irpf90.ok ../bin/irpman ../bin/irpf90 _build/ezfio.ok
target = qmcchemrc
description = QMC=Chem environment variables
build _build/ocaml.ok ../bin/opam: install | Downloads/opam_installer.sh _build/qmcchemrc.ok ../qmcchemrc
target = ocaml
descr = OCaml compiler
build _build/ocaml_zmq.ok: install | ../bin/opam ../lib/libzmq.so ../lib/zmq.h ../lib/zmq_utils.h _build/ocaml.ok _build/zmq.ok ../lib/libzmq.a ../lib/libzmq.so.4 ../lib/libzmq.so ../lib/zmq.h ../lib/zmq_utils.h
target = ocaml_zmq
descr = OCaml ZeroMQ interface