Provided by: python3-project-generator_0.11.1-1_all
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