The gsmake command
The gsmake command is a command line option to build projects. The tool is located in the $GSTDIR/bin (or, if you are on a Mac, $GSTDIR/Contents/MacOS) directory.
Syntax
gsmake [options] file_list
where file_list is a list of target Project (4pw) files, with or without the extension.
Argument | Description |
---|---|
-h |
Display help information. |
-V |
Display this program name and version. |
Targets | Parameter | Description |
---|---|---|
-active |
Target the default application, as set in the project. | |
-all |
Target the complete project (default behavior). | |
-t |
TARGET | Add TARGET to the list of targets to build. The target can be
the name of a node in the project or a path to the node to compile; the path can be absolute or
relative but you have to respect the XML heirarchy of the target. You can specify a whole (XML) path. The XML path is based on XPath, but it is a sub-set of the XPath syntax that can be used. For example, if you want to compile the file OrderReport.4gl from the
Reports.4pw project, you could do it in the following ways:
gsmake -t OrderReport.4gl -r Reports.4pw gsmake -t OrderReport/src/OrderReport.4gl -r Reports.4pw gsmake -t Reports/Applications/OrderReport/src/OrderReport.4gl -r Reports.4pw However
you could not do it in this way:
gsmake -t Reports/OrderReport/src/OrderReport.4gl -r Reports.4pw The -t argument can be used multiple times to build several targets. |
Operations | Parameter | Description |
---|---|---|
-b |
Build the target (default behavior). The files that are not up-to-date are compiled, the others are not changed. | |
-r |
Rebuild the target. The output files are deleted, then all files are compiled. | |
-c |
Clean the target. The output files are deleted. | |
-convert |
Convert the project to the latest format. | |
-force-build |
Force the build/rebuild of the target. The files are compiled, whether or not they are up-to-date. | |
-env |
FILE_PATH | Generate a script that sets the environment defined in the project (as set on
the project nodes as well as additional environment variables computed through dependencies) and
changes the directory to the project directory. Provide the filename (and optional path) as the parameter. The goal is to replicate a project environment in a console. For example, starting from a Genero Workplace (envgenero), you can run the generated script to set the additional project-specific environment, and then run the application in the same environment that it would run under Genero Studio. |
-exec |
Executes the application specified by the target. |
Options | Parameter | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
-j |
num_jobs | Set the number of parallel jobs to num_jobs. The default is 1. Set num_jobs to 0 to use the number of CPUs on the local computer. When this option is used, gsmake attempts to start multiple compilations in parallel, which should speed up the global compilation time. |
||||||||||||
-encoding |
ENCODING | Set the encoding to ENCODING. The default is System encoding. | ||||||||||||
-max-errors |
num_max_err | Set the maximum number of erroneous files to num_max_err. The
default is 5. Set num_max_err to 0 (zero) for an unlimited number of error files. |
||||||||||||
-disable-dependencies |
Disable the computation of the dependencies database. The deafult is false. | |||||||||||||
-ag-templateDir |
TEMPLATE | Set the Application Generator template directory to TEMPLATE. | ||||||||||||
-generate-4pwdb |
Generate the 4pwdb file only. Default is False. | |||||||||||||
-wcDir |
WEBCOMPONENTS_DIR | Set the WebComponents Directory path | ||||||||||||
-verbose |
Specify verbose mode for build / link / execution rules. | |||||||||||||
-port |
PORT | Set the port number. | ||||||||||||
-javaServerPort |
JAVAPORT | Set the Java Server port number. | ||||||||||||
-javaServerLog |
LOGLEVEL | Set the Java Server log level.
|
||||||||||||
-filters |
MESSAGE_ID | By default, any TODO or BUG comments in the
source code appear as messages in the output when using the gsmake tool from the
command line to build a project.To exclude For example, to compile the HelloWorld project but exclude any TODO and BUG comments from the output: gsmake -filters TODO,BUG HelloWorld.4pw To compile the HelloWorld project but exclude any TODO comments and any -6609 errors from the output: gsmake -filters TODO,-6609 HelloWorld.4pw |