An open API service indexing awesome lists of open source software.

https://github.com/ranon-rat/moonmake

a package manager and a build system made in python
https://github.com/ranon-rat/moonmake

build-system c clang cpp gcc makefile raylib

Last synced: 10 months ago
JSON representation

a package manager and a build system made in python

Awesome Lists containing this project

README

          

Moonmake πŸŒ™


English | EspaΓ±ol



Moonmake Hero Image

Moonmake is a lightweight, Python-based build system for C++ projects. It provides a simple and intuitive way to manage dependencies, compile code, and handle project builds across different platforms.
Inspired by makefile, made for my own purposes

## Features ✨

- πŸš€ Simple and intuitive build system
- πŸ“¦ Easy dependency management
- πŸ”„ Incremental builds
- πŸ“š Static library support
- 🌍 Cross-platform (Windows, Linux, macOS)
- πŸ› οΈ Flexible build configuration

## Quick Start πŸš€

1. **Install Moonmake**
```bash
pip install moonmake
```

2. **Create a New Project**
```bash
moonmake-new -n my_project
```

3. **Install Dependencies**
```bash
cd my_project
python build.py install
```

4. **Build Your Project**
```bash
python build.py
```

## Project Structure πŸ“

```
my_project/
β”œβ”€β”€ .moonmake/ # Build system directory
β”‚ β”œβ”€β”€ bin/ # Compiled binaries
β”‚ β”œβ”€β”€ obj/ # Object files
β”‚ β”œβ”€β”€ lib/ # Generated libraries
β”‚ └── dependencies/ # External dependencies
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ include/ # Header files
β”‚ β”œβ”€β”€ lib/ # Library source files
β”‚ └── target/ # Main executable sources
└── build.py # Build configuration
```

## Documentation πŸ“š

For detailed documentation, please visit:
- [English Documentation](https://github.com/ranon-rat/moonmake/tree/main/docs/en/README.md)
- [DocumentaciΓ³n en EspaΓ±ol](https://github.com/ranon-rat/moonmake/tree/main/docs/es/README.md)

## Requirements πŸ“‹

- Python 3.6+
- C++ Compiler (g++/clang++)
- For Windows: MinGW-w64

## Contributing 🀝

Contributions are welcome! Please feel free to submit a Pull Request.