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.5.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.5-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mekpie-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 ccd3ea386271ad9b0f8db10fec62870d19c1c99d2d0261b8dea72d3fa7dc2b62
MD5 f10dcbe4694c62d89b4bef9c71102c5a
BLAKE2b-256 230f226d0d5227edd23e59d227306fb8d98daf8c6bc8a2a54a4fc4f9faa6284e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mekpie-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7b7f8a6a6a56dcbd20c200de3bab84b980a1566cbfd852d4ba9b019d5b8689b7
MD5 e23709031a6ffd1243bafdbd2b7e4f86
BLAKE2b-256 330224e471f1f05e4dadecafc187495b277af702d56d097d718586aa457c7cb9

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