Using the ProgramΒΆ

You may invoke mkg in either interactive or batch mode. In the former mode, you will enter interactive prompts to enter project-related information; in the latter mode, mkg will create a project on-th-fly, which is customizable through command-line arguments.

By default, mkg will create a console application project for C with a sensible project structure on the destination path:

$ mkg /path/to/myapp

You may run mkg with different parameters to create different types of projects:

$ mkg --library -cxx /path/to/mylib

When you run mkg without any argument, it will enter interactive mode:

$ mkg
Program name [myapp]:
Project path [myapp]:
Project author [somebody]: Michelle Chen
Project brief description [something]: Yet Another Application
Project language (c/cpp) [c]:
Project type (app/lib) [app]:

None (none)
Apache License 2.0 (apache2)
GNU General Public License v3.0 (gpl3)
MIT License (mit)
---
BSD 2-clause "Simplified" license (bsd2)
BSD 3-clause "New" or "Revised" license (bsd3)
Eclipse Public License 2.0 (epl2)
GNU Affero General Public License v3.0 (agpl3)
GNU General Public License v2.0 (gpl2)
GNU Lesser General Public License v2.1 (lgpl2)
GNU Lesser General Public License v3.0 (lgpl3)
Mozilla Public License 2.0 (mpl2)
The Unlicense (unlicense)

Project licensing [none]:

You may execute mkg interactively with more customization:

$ mkg --custom
Program name [myapp]:
Project path [myapp]:
Project author [somebody]: Michelle Chen
Project brief description [something]: Yet Another Application
Project language (c/cpp) [c]:
Project type (app/lib) [app]:

(Choose licensing as above...)

Project structure (nested/flat) [nested]:
Project source directory [src]:
Project include directory [include]:
Project test directory [tests]:
Project example directory [examples]:
Project config file [Makefile]:

Currently, mkg generates the following types of projects:

  • Console application projects for C or C++

  • Library projects for C or C++