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
+35-2Lines changed: 35 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ So that means that 4 objects are going to be rebuilt. Usually, parents always ne
26
26
27
27
### When is a incremental build right?
28
28
29
-
It is always recommended to do a incremental build when working in a new branch. Ensure that you have a library of objects from a previous full build on the library list!
29
+
It is always recommended to do a incremental build when working in a new branch. Ensure that you have a library of objects from a previous full build on the library list.
30
30
31
31
## `iproj.json` properties
32
32
@@ -43,6 +43,39 @@ If you are making use of service programs, Source Orbit will automatically maint
43
43
44
44
## Changing compile options
45
45
46
+
When you use `so -bf make`, Source Orbit will generate a makefile that contains the compile commands for each object. The compile commands can come from two places
47
+
48
+
### Setting up generic compiles (`actions.json`)
49
+
50
+
The `actions.json` standard determines how files that match specific extensions are compiled. The file is typically created by a user and is located in `.vscode/actions.json`. The `actions.json` standard comes from Code for IBM i and is now used by Source Orbit.
51
+
52
+
Check out how to use the `actions.json` file in the [Code for IBM i documentation](https://codefori.github.io/docs/developing/local/actions/).
53
+
54
+
#### Multiple levels of actions
55
+
56
+
The `.vscode/actions.json` is the default location for the `actions.json` file. However, you can also create a `actions.json` file in a specific directory, which will be merged with the default one. This allows you to have directory specific actions, while still using the defaults.
57
+
58
+
```
59
+
.vscode:
60
+
actions.json ## Actions defined here apply to the entire project
61
+
62
+
qddssrc:
63
+
actions.json ## Actions defined here only apply to qddssrc
64
+
department.table
65
+
employee.table
66
+
emps.dspf
67
+
nemp.dspf
68
+
69
+
qrpglesrc:
70
+
depts.pgm.sqlrpgle
71
+
empdet.sqlrpgle
72
+
employees.pgm.sqlrpgle
73
+
mypgm.pgm.rpgle
74
+
newemp.pgm.sqlrpgle
75
+
```
76
+
77
+
### Changing project wide compiles (`iproj.json`)
78
+
46
79
The `iproj.json` can contain a `compiles` property to customize how each extension type gets compiled. To generate the defaults, you can use `so --init` to create or update the `iproj.json` file. When you define an extension in the `compiles` property, the properties of it will override the `so` defaults.
47
80
48
81
Here is the schema for the compiles option:
@@ -68,7 +101,7 @@ interface CompileData {
68
101
};
69
102
```
70
103
71
-
### Example: build object from commands
104
+
####Example: build object from commands
72
105
73
106
Objects like data areas do not have source. In the `compiles` property, there is a flag that can be used to tell Source Orbit to get the commands from the source.
0 commit comments