Skip to main content

Make Building C as Simple as Pie

Project description

[![logo](/resources/logo.svg)](https://ejrbuss.net/mekpie/)

# Make Building C as Simple as Pie

Mekpie is an opinionated build system for small scale C projects. The core premise of Mekpie is that you should not be spending time worrying about Make files, compiler arguments, or build times, when working on a small C projects. By enforcing a simple directory structure and always providing a clean build, Mekpie saves you time and effort. For added convenience Mekpie takes notes from tools like [Rust’s cargo](https://doc.rust-lang.org/cargo/guide/index.html) and [Node’s npm](https://www.npmjs.com/) and provides options for building, running, cleaning, and testing your current project.

Mekpie is a small scale project and is not supposed to replace tools like [CMake](https://cmake.org/) or provide any sort of package management capabilities. Use Mekpie when the alternative is a shoddy Make file or manually compiling.

Currently Mekpie supports the gcc, clang, avr-gcc, and emscripten compilers, as well as allows users to write custom compiler configurations.

## Installing

Mekpie is a python package. Use pip to install it! `bash $ pip install mekpie `

## Getting Started

Create a new project by running mekpie new. Mekpie will walk you through the configuration ` $ mekpie new "project-name" ┌ Configuring mekpie... │ Please provide a name for your project (default project-name): │ Selected project-name. │ Mekpie supports the following c compilers, please select one (compilers must be installed seperately): │ - gcc_clang for use with the gcc or clang compiler │ - emscripten for use with the emscripten c to js compiler │ - avr_gcc for use with avr-gcc and avrdude │ Please select a cc (default gcc_clang): │ Selected gcc_clang. │ ┌ Configuring gcc_clang... │ │ Please select a compiler command (default cc): │ │ Selected cc. │ │ Please select a debug command (default lldb): │ │ Selected lldb. │ └ gcc_clang configured! └ mekpie configured! project-name created successfully! `

Then navigate to the project directory and run ` $ mekpie run Project succesfully cleaned. Project succesfully built. (0.060s) Hello, World! `

That’s it!

## [Read More](https://ejrbuss.net/mekpie)

## Contact

Feel free to send be bug reports or feature requests. If you are interested in my other work, checkout my [website](https://ejrbuss.net).

Email ejrbuss@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mekpie-0.1.6.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mekpie-0.1.6-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file mekpie-0.1.6.tar.gz.

File metadata

  • Download URL: mekpie-0.1.6.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for mekpie-0.1.6.tar.gz
Algorithm Hash digest
SHA256 d5e41706ddc3e880ed8f7eea5ad250f5e09c8ce2d47686f9a32e849e7817ee58
MD5 67eb8c0efa1aab27667ffe50a2eb6a41
BLAKE2b-256 f71826daf474076eae6a7d7bb2181f64c7fbf900036819c45bb9e51258977380

See more details on using hashes here.

File details

Details for the file mekpie-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: mekpie-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for mekpie-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c338ec31b427ba64d992954505d5034d7be6903892a3c67030c42587c282ee5f
MD5 82a1933a454e3a4961e303cabe564b63
BLAKE2b-256 44beb2311f4069a32b65243432d9cc6fc148c7ae49ab17079fde47cc53ffd557

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page