Make-like wrapper for job scheduling on PBS systems.
Python Perl Shell Racket
Switch branches/tags
Nothing to show
Pull request Compare This branch is 11 commits ahead of cwvh:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bench
doc
spec
tests
.gitignore
LICENSE
MANIFEST.in
README.md
pbsmake
requirements.txt
setup.py

README.md

pbsmake

distributed make for PBS job scheduling systems

install

pbsmake is a simple Python script, so you only need to add it to your $PATH. We also rely on the argparse module which is included in Python 2.7 and q* family of commands from a PBS installation in $PATH.

usage

Running pbsmake requires a build target to be specified on the command-line and takes an optional path to a makefile. If no makefile is given, the default './Makefile' will be used like in traditional make programs.

$ python pbsmake.py
usage: pbsmake.py [-h] [-f MAKEFILE] target [target ...]

$ python pbsmake.py mytarget

$ python pbsmake.py -f some/Makefile myothertarget

Also, pbsmake can be used as a script interpreter by using -f as follows.

--- makescript ---
#!/usr/bin/env pbsmake.py -f

target1: target2
	echo running target 1

target2:
	echo running target 2
------------------

$ ./makescript target1

Sometimes this may not work (notably OSX) and you will need to use a work-around: (NB: still need to thoroughly test this...)

--- makescript ---
#!/usr/bin/env python /path/to/pbsmake.py -f

target1: target2
	echo running target 1

target2:
	echo running target 2
------------------

authors

Tim Spriggs

Chris Van Horne