/cookiecutter-make

A Cookiecutter template for generating makefile project boilerplate.

Primary LanguageMakefileMIT LicenseMIT

Cookiecutter Make

A "cookiecutter" for generating makefile project boilerplate.

Introduction

Cookiecutter is a cross-platform software tool that generates boilerplate for software projects from special templates. These templates, called cookiecutters, can be used to define:

  • How a project's directories and files are named and organized;
  • The content of each of a project's starter files.

They can also facilitate, both manually and automatically, the run-time customization of the generated names and content.

The cookiecutter presented here, Cookiecutter Make, defines a boilerplate template for creating makefile projects — integrated sets of script-like description files (called makefiles) that declaratively specify build automation rules for maintaining groups of software files (typically source code files) using the command-line utility make. The generated boilerplate is a basic directory tree and a starter set of makefiles that can then be used to begin building software targeting a particular software platform (Python, Swift, etc).

Getting Started

System Requirements

Cookiecutter Make supports the 3 major operating systems:

  • Linux
  • macOS
  • Windows

To use Cookiecutter Make, the following software must first be installed on your system:

Installation

For info on installing any of the prerequisite software, go to the official installation document.

Usage

Cookiecutter Make can generate boilerplate by running shell or Python scripts. Furthermore, its cookiecutter can be sourced remotely via a direct download or locally via a cached copy from a prior download.

Shell

To generate boilerplate from a shell's command-line interface (CLI), run the command cookiecutter. The argument following cookiecutter specifies both the cookiecutter and whether its source is remote or local.

  • Remote source:

    # The following syntax options are semantically equivalent.
    
    # Option 1: URL
    $ cookiecutter https://github.com/djrlj694/cookiecutter-make.git
    
    # Option 2: 'gh' prefix
    $ cookiecutter gh:djrlj694/cookiecutter-make
    
    # Option 3: 'git+ssh' prefix
    $ cookiecutter git+ssh://git@github.com/djrlj694/cookiecutter-make.git
  • Local source:

    $ cookiecutter cookiecutter-make/

Python

The Python library cookiecutter.main provides an application programming interface (API) for calling Cookiecutter functions to generate boilerplate.

  • Remote source:

    from cookiecutter.main import cookiecutter
    
    cookiecutter('https://github.com/djrlj694/cookiecutter-make.git')
  • Local source:

    from cookiecutter.main import cookiecutter
    
    cookiecutter('cookiecutter-make/')

Builds and Testing

TODO: Describe and show how to build artifacts and run tests.

Documentation

Documentation for this project is pending but eventually will be found here.

Known Issues

Currently, there are no known issues. If you discover any, please kindly submit a pull request.

Contributing

Code and codeless (documentation, donations, etc.) contributions are welcome. To contribute yours, see CONTRIBUTING.md.

License

Cookiecutter Make is released under the MIT License.

References

References for this project are pending but eventually will be found here.