.\" Automatically generated by Pandoc 2.2.1 .\" .TH "PROGEN" "1" "December 2018" "0.9.13" "User Commands" .hy .SH NAME .PP \f[B]progen\f[] \- generate and manage project files for embedded development tools .SH SYNOPSIS .PP \f[B]progen\f[] [\f[B]GLOBAL_ARGUMENT\f[]] \f[B]COMMAND\f[] [\f[B]ARGUMENTS\f[]] .SH DESCRIPTION .PP \f[B]progen\f[] 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. .SH GLOBAL ARGUMENTS .PP \f[B]progen\f[] supports the following global arguments for all commands listed below: .TP .B \-v enable verbose mode, which increases progress information .RS .RE .TP .B \-vvv enable debug mode .RS .RE .SH COMMANDS .SS init .IP .nf \f[C] progen\ init\ \-p\ PROJECT\ \-tar\ TARGET_NAME\ [\-dir\ SCAN_DIR]\ \-o\ OUTPUT_DIR \f[] .fi .PP Add \f[B]progen\f[] support to a project .PP If you want \f[B]progen\f[] support for a project, this is the command to use. It scans the repository for files and creates 2 YAML files: .IP "1)" 3 the main project file (projects.yaml), and .IP "2)" 3 a project YAML file .PP In the project YAML file, there are all sources/includes and other project\-related settings which \f[B]progen\f[] 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. .PP \f[B]Arguments\f[] .TP .B \-p project name .RS .RE .TP .B \-tar target name for the project .RS .RE .TP .B \-dir directory to scan (default: none; scan all in directory \f[B]progen\f[] was executed in) .RS .RE .TP .B \-o directory for generated files .RS .RE .SS generate .IP .nf \f[C] progen\ generate\ \-f\ FILE\ [\-p\ PROJECT]\ [\-t\ TOOL]\ [\-b]\ [\-c] \f[] .fi .PP Export defined projects .PP \f[B]Arguments\f[] .TP .B \-f \f[I]FILE\f[] path to projects.yaml file .RS .RE .TP .B \-p \f[I]PROJECT\f[] name of the project to generate. If not specified, all projects within projects in projects.yaml are exported .RS .RE .TP .B \-t \f[I]TOOL\f[] tool name (uvision, iar, etc). If not specified, tools are checked in records (tool_supported). .RS .RE .TP .B \-b build the exported project (note: not every tool supports building a project) .RS .RE .TP .B \-c copy all files defined for a project to exported directory .RS .RE .SS build .IP .nf \f[C] progen\ build\ \-f\ FILE\ [\-p\ PROJECT]\ [\-c] \f[] .fi .PP Export a project, then build it. Note that not all tools support building. .PP \f[B]Arguments\f[] .TP .B \-f \f[I]FILE\f[] path to projects.yaml file .RS .RE .TP .B \-p \f[I]PROJECT\f[] name of the project to build (if not specified, all projects within projects in projects.yaml are built) .RS .RE .TP .B \-c copy sources (as it exports first, this is used for exporting prior to building) .RS .RE .SS list .IP .nf \f[C] progen\ list\ targets progen\ list\ tools progen\ list\ \-f\ FILE\ project \f[] .fi .PP List targets, tools or projects .PP \f[B]Arguments\f[] .TP .B targets list all supported targets .RS .RE .TP .B tools list all supported tools .RS .RE .TP .B projects list all projects the repository supports (requires \-f argument specified) .RS .RE .TP .B \-f \f[I]FILE\f[] path to projects.yaml .RS .RE .SS clean .IP .nf \f[C] progen\ clean\ \-f\ FILE\ \-p\ PROJECT\ [\-t\ TOOL] \f[] .fi .PP Remove \f[B]progen\f[] files/folders .PP 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. .PP \f[B]Arguments\f[] .TP .B \-f \f[I]FILE\f[] path to projects.yaml file .RS .RE .TP .B \-p \f[I]PROJECT\f[] the project name which should be cleaned (removed) .RS .RE .TP .B \-t \f[I]TOOL\f[] the tool name (if not specified, tools are taken from tools_supported) .RS .RE .SH TOOLS .PP \f[B]progen\f[] supports generating projects for the following tools: .IP \[bu] 2 uVision4 and uVision5 .IP \[bu] 2 IAR .IP \[bu] 2 Makefile (GCC ARM) .IP \[bu] 2 Makefile (ARMCC) .IP \[bu] 2 Cmake (GCC ARM) .IP \[bu] 2 CoIDE (GCC ARM) .IP \[bu] 2 Eclipse (Makefile with GCC ARM) .IP \[bu] 2 Sublime (Makefile with GCC ARM) .IP \[bu] 2 Visual studio (Makefile with GCC ARM) .SH EXAMPLES .PP To generate a uvision project file for the k20d50m_blinky target: .IP .nf \f[C] progen\ generate\ \-f\ projects.yaml\ \-p\ k20d50m_blinky\ \-t\ uvision \f[] .fi .SH COPYRIGHT .PP Copyright 2014\-15 Martin Kojtal .SH AUTHOR .PP This manual page is based on the progen documentation. It was created by Nick Morrott for the Debian GNU/Linux system, but may be used by others .SH SEE ALSO .PP \f[B]valinor(1)\f[], \f[B]progendef(1)\f[] .PP Getting Started Guide: https://github.com/project\-generator/project_generator/wiki/Getting_started .PP Project Generator examples: https://github.com/project\-generator/project_generator_mbed_examples