| # Copyright David Abrahams 2004. Use, modification and distribution is |
| # subject to the Boost Software License, Version 1.0. (See accompanying |
| # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| |
| # This script accepts a list of .rst files to be processed and |
| # generates Makefile dependencies for .html and .rst files to stdout. |
| import os,sys |
| import re |
| |
| include = re.compile(r' *\.\. +(include|image):: +(.*)', re.MULTILINE) |
| |
| def deps(path, found): |
| dir = os.path.split(path)[0] |
| for m in re.findall(include, open(path).read()): |
| |
| dependency = os.path.normpath(os.path.join(dir,m[1])) |
| if dependency not in found: |
| found[dependency] = 1 |
| |
| if m[0] == 'include': |
| deps(dependency, found) |
| |
| return found |
| |
| for file in sys.argv[1:]: |
| found = deps(file, {}) |
| if found: |
| base = os.path.splitext(os.path.basename(file))[0] |
| print '%s.tex %s.html: %s' % (base, base, ' '.join(found.keys())) |