File: progen.1.md.in

package info (click to toggle)
python-project-generator 0.12.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 900 kB
  • sloc: python: 4,198; makefile: 18; sh: 9
file content (244 lines) | stat: -rw-r--r-- 5,646 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
% PROGEN(1) __VERSION__ | User Commands
%
% February 2021

# NAME

**progen** - generate and manage project files for embedded development tools

# SYNOPSIS

| **progen** \[**GLOBAL_ARGUMENT**\] **COMMAND** \[**ARGUMENTS**\]

# DESCRIPTION

**progen** allows you to define an embedded project in text (YAML) files and generate IDE-specific project files based on the rules defined in these records.

# GLOBAL ARGUMENTS

**progen** supports the following global arguments for all commands listed below:

-v
:   increase verbosity of output (repeat for even more verbose output)

-q
:   decrease verbosity of output (repeat for even less verbose output)

# COMMANDS

## init

```
progen init -p PROJECT -tar TARGET_NAME [-dir SCAN_DIR] -o OUTPUT_DIR [-v | -q]
```

Add **progen** support to a project

If you want **progen** support for a project, this is the command to use. It scans the repository for files and creates 2 YAML files:

 1) the main project file (projects.yaml), and
 2) a project YAML file
 
In the project YAML file, there are all sources/includes and other project-related settings which **progen** finds in the repository. This creates a valid progen project file if a folder contains one valid project. In the case there are many, this command can serve at least as guidance - edit and move the YAML file accordingly to a
folder structure to split projects.

**Arguments**

-p
:   project name

-tar
:   target name for the project

-dir
:   directory to scan (default: none; scan all in directory **progen** was executed in)

-o
:   directory for generated files

-v
:   increase verbosity of output (repeat for even more verbose output)

-q
:   decrease verbosity of output (repeat for even less verbose output)

## generate

```
progen generate -f FILE [-p PROJECT] [-t TOOL] [-b] [-c] [-o OPTIONS] [-j JOBS] [-v | -q]
```

Export defined projects

**Arguments**

-f _FILE_
:   path to projects.yaml file

-p _PROJECT_
:   name of the project to generate. If not specified, all projects within projects in projects.yaml are exported

-t _TOOL_
:   tool name (uvision, iar, etc). If not specified, tools are checked in records (tool_supported).

-b
:   build the exported project (note: not every tool supports building a project)

-c
:   copy all files defined for a project to exported directory

-o _OPTIONS_
:   toolchain options

-j
:   number of concurrent jobs to use for generating projects (default is 1; not supported by all tools)

-v
:   increase verbosity of output (repeat for even more verbose output)

-q
:   decrease verbosity of output (repeat for even less verbose output)

## build

```
progen build -f FILE [-p PROJECT] [-t TOOL] [-c] [-k] [-o OPTIONS] [-x] [-j JOBS] [-v | -q]
```

Export a project, then build it. Note that not all tools support building.

**Arguments**

-f _FILE_
:   path to projects.yaml file

-p _PROJECT_
:   name of the project to build (if not specified, all projects within projects in projects.yaml are built)

-t _TOOL_
:   build project files for specified tool

-c
:   copy sources (as it exports first, this is used for exporting prior to building)

-k
:   clean project before building

-o _OPTIONS_
:   toolchain options

-x
:   stop on first failure

-j
:   number of concurrent build jobs (default is 1; not supported by all tools)

project
:   specify projects to be generated and built

-v
:   increase verbosity of output (repeat for even more verbose output)

-q
:   decrease verbosity of output (repeat for even less verbose output)

## list

```
progen list targets [-v | -q]

progen list tools [-v | -q]

progen list -f FILE projects [-v | -q]
```

List targets, tools or projects

**Arguments**

targets
:   list all supported targets

tools
:   list all supported tools

projects
:   list all projects the repository supports (requires -f argument specified)

-f _FILE_
:   path to projects.yaml

-v
:   increase verbosity of output (repeat for even more verbose output)

-q
:   decrease verbosity of output (repeat for even less verbose output)

## clean

```
progen clean -f FILE -p PROJECT [-t TOOL] [-v | -q]
```

Remove **progen** files/folders

This command removes progen-related files/folders. If progen generates data to various folders (for example, a per-project directory somewhere), this command will remove those
folders.

**Arguments**

-f _FILE_
:   path to projects.yaml file

-p _PROJECT_
:   the project name which should be cleaned (removed)

-t _TOOL_
:   the tool name (if not specified, tools are taken from tools_supported)

project
:   specify projects to be cleaned (removed)

-v
:   increase verbosity of output (repeat for even more verbose output)

-q
:   decrease verbosity of output (repeat for even less verbose output)

# TOOLS

**progen** supports generating projects for the following tools:

- uVision4 and uVision5
- IAR
- Makefile (GCC ARM)
- Makefile (ARMCC)
- Cmake (GCC ARM)
- CoIDE (GCC ARM)
- Eclipse (Makefile with GCC ARM)
- Sublime (Makefile with GCC ARM)
- Visual studio (Makefile with GCC ARM)

# EXAMPLES

To generate a uvision project file for the k20d50m_blinky target:

```
progen generate -f projects.yaml -p k20d50m_blinky -t uvision
```

# COPYRIGHT

Copyright 2014-15 Martin Kojtal

# AUTHOR

This manual page is based on the progen documentation. It was created by Nick Morrott <nickm@debian.org> for the Debian GNU/Linux system, but may be used by others.

# SEE ALSO

**valinor**(1), **progendef**(1)

Getting Started Guide: https://github.com/project-generator/project_generator/wiki/Getting_started

Project Generator examples: https://github.com/project-generator/project_generator_mbed_examples