You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/pages/cli/make.md
+12-7Lines changed: 12 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,13 +8,6 @@ This section only applies if you use `-bf make`.
8
8
9
9
Using `so -bf make` will generate a makefile to rebuild the entire project. This is fine when deploying to new systems. It is also possible to do incremental builds.
10
10
11
-
To do an incremental build, also referred to as a partial build, you can specify the targets you want to build:
12
-
13
-
```bash
14
-
so -bf make -f 'qrpglesrc/ord500.pgm.rpgle'
15
-
so -bf make -l `git diff --name-only origin/main origin/${GITHUB_HEAD_REF}`
16
-
```
17
-
18
11
A incremental build means building a specific targets, their parents and optionally their children. Let's assume this is our dependency tree:
19
12
20
13
```
@@ -33,6 +26,18 @@ So that means that 3 objects are going to be rebuilt. Sometimes, we don't want t
33
26
34
27
Usually, parents always need to be rebuilt to ensure level checking happens. If you use the `-wp` (with-parents) options, then the `makefile` will also include targets to rebuild the parent objects too (`ORD500`), but the `all` target will only build the specified target (`ORD501`).
35
28
29
+
### Parameters for increment builds
30
+
31
+
When you use `so -bf make`, you can specify the following parameters to control the incremental build:
32
+
33
+
*`-f`/`-l` to specify the list of sources to build. This can be a single file or a list of files.
34
+
*`so -bf make -f qrpglesrc/employees.pgm.sqlrpgle` will build the `EMPLOYEES.PGM` object.
35
+
* With `-ip` (is-partial), then only the specified objects and its dependents will be put into the `makefile`.
36
+
*`so -bf make -f qrpglesrc/employees.pgm.sqlrpgle -ip`
37
+
* This will generate a makefile only for the specific objects.
38
+
* With `-wp` (with-parents), then the parents of the specified objects will also be included in the `makefile`.
39
+
*`so -bf make -f qrpglesrc/employees.pgm.sqlrpgle -ip -wp`
40
+
36
41
### General rule for builds
37
42
38
43
To ensure library lists are supported correctly, the following rules are recommended:
0 commit comments