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.8.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

mekpie-0.1.8-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mekpie-0.1.8.tar.gz
  • Upload date:
  • Size: 15.4 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.8.tar.gz
Algorithm Hash digest
SHA256 06dcf34a0e0038c37236f25aaca07b4bc606ea538dfb497fcd664de6f43a5430
MD5 bca8706796d81d6c575168333e212f73
BLAKE2b-256 b2d0f30314fbbc8118bd0127d2e371c2cdae49f593def148121e1d8418b1664b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mekpie-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 20.7 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 aaf57e0d1e71a948335b7400b3fb3dff05c514211f08967802247ae9847f8bd7
MD5 6c94b15aa0a2a6e30f7f4d1226048e03
BLAKE2b-256 b9985f21bd9d714eac2d6021d12ff647310aaa464d6e7b0b24be1074fb656dae

See more details on using hashes here.

Supported by

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