Download source files - 5 Kb
Introduction
VBMake.vbs provides critical functionality that is missing from the Visual Basic IDE/compiler. It
is a VBScript make utility for intelligently building Microsoft Visual Basic projects, only
building projects when the target executable is older than the source files. It works well in
conjunction with the Visual Build build management tool.
This script parses an individual VBP file (or all VBP files in a VBG) for its target and
dependencies (the project file, all constituent source files and their binary equivalents [i.e.:
frx, etc.]), and invokes VB from the command-line to build the project only if the target
executable does not exist or is older than any of the dependencies. It does not consider
references as a dependency. If the target is not specified in the VBP, VBMake will fail
with an error.
Usage:
cscript VBMake.vbs [/V ] [/F] [/N] [/S]
Any output is echoed to standard output; returns exitcode of 0 if successful or < 0
if any error occurs.
The first parameter must be a valid VB project file (VBP) or group filename (VBG) and the
following optional flags are supported (non-case-sensitive):
- /F => forces all targets to be rebuilt regardless of dependency dates.
- /N => displays commands but does not execute. Useful for debugging.
- /S => Suppress default output (only displays error output)
- /V => full path to VB compiler (looks for compiler if not passed). Use to override for
newer version of VB (/m and /out flags must be supported by newer versions for calling
from command-line)
e.g.: cscript VBMake.vbs MyProjects.vbg /s
Dependencies:
- Microsoft Windows Scripting 5.0+ (comes with Win98 & Win2000, download for NT 4.0 and
Win95 at http://msdn.microsoft.com/scripting)
- Microsoft Visual Basic 5.0+. If SourceSafe is also installed, is recommended that you disable
SourceSafe integration in VB on the build machine to prevent the possibility of dialog boxes
requiring user input when building. This is done by selecting Add-ins|Add-In Manager, selecting
Source Code Control in the listbox and unchecking 'Load on Startup'.