#!/bin/bash # # This script tangles all the org-mode files in the src directory of QMCkl. # It needs to be run from in the src directory. It uses the config_tangle.el # Emacs configuration file, which contains information required to compute the # current file names using for example ~(eval c)~ to get the name of the # produced C file. The org-mode file is not tangled if the last modification # date of the org file is older than one of the tangled files. # The =missing= script is used to check if emacs is present on the system. if [[ -z ${srcdir} ]] ; then print "Error: srcdir environment variable is not defined" exit 1 fi function tangle() { local org_file=$1 local c_file=${org_file%.org}.c local f_file=${org_file%.org}.f90 if [[ ${org_file} -ot ${c_file} ]] ; then return elif [[ ${org_file} -ot ${f_file} ]] ; then return fi ./missing \ emacs --batch ${org_file} \ --load=${PWD}/tools/config_tangle.el \ -f org-babel-tangle } for i in $@ do # echo "--- ${i} ----" tangle ${i} done