Thanks, Rene. The latest buld.jam was pretty close. But not quite there yet. The problem with #include <../native.h> I worked around by specifying an additional include directory that points to ../ . But the real problem is, as Boris pointed out, that the VMS compiler assumes the directory for includes is relative to the current working directory, not relative to the source file directory. So if you want to compile files with #include <../native.h> and where native.h is in the parent directory, then you need to cd into the subdirectory before compiling. That means you would also do cc (filename) instead of cc [.modules](filename). There is also a problem that build.jam seems to assume that object files are named .o, and on VMS they are named .obj. Also, the Link step fails, with: [COMPILE.LINK] [.bin_vms]bjam.exe %ILINK-F-OPENIN, error opening ") as input -RMS-F-SYN, file specification syntax error link /EXECUTABLE=[.bin_vms]bjam.exe /NOMAP /NODEBUG ") It seems that the link statement doesn't specify an input object module name. That name should be the name that contains the main(). I was able to do the link by hand, so I have a bjam.exe. But I suspect that won't do me much good, as what I need is the changes you made to the build.jam also made to a number of other .jam files, right? Thanks very much for the help so far. P