Makefile execution powered by pure Python
Project description
Bring basic Makefile support to any system with Python.
Simply install with pip install py3make then execute py3make in a directory containing a Makefile.
py3make works on any platform (Linux, Windows, Mac, FreeBSD, Solaris/SunOS).
py3make does not require any library to run, just a vanilla Python interpreter will do.
The goal is not to reproduce a whole implementation of GNU make, but only a very fast and succinct commands runner. This is often used to ease running tests and deployments locally, before uploading to a continuous integration/continuous deployment system such as GitHub Workflows.
Do not be fooled by the lack of updates: this module is very stable and is very frequently (daily) used in most of my Python projects.
This repository is a “fork” by the original author to regain full editing permissions stolen by a co-author, to update this package with full freedom.
Installation
Latest PyPI stable release
pip install py3make
Latest development release on GitHub
Pull and install in the current directory:
pip install -e git+https://github.com/lrq3000/py3make.git
Changelog
The list of all changes is available either on GitHub’s Releases: or on crawlers such as allmychanges.com.
Usage
Simply install then execute py3make -p to list commands and py3make <command> to use a command, in a directory containing a Makefile.
Known Issues
For compatibility, ensure:
Every alias is preceded by @[+]make (eg: @make alias)
A maximum of one @make alias or command per line
Sample makefile compatible with py3make:
PY=python -m py_compile
.PHONY:
all
test
install
compile
all:
@+make test
@make install
test:
nosetest
install:
python setup.py\
install
compile:
$(PY) test.py
circle:
# of life
circle
empty:
# this is a comment
If you get a “Permission Denied” error, please check if maybe your antivirus may be preventing the launch of compiled python scripts, if the Scripts subdirectory is in the PATH, or other issues with the Python install.
Documentation
py3make --help
Contributions
All source code is hosted on GitHub. Contributions are welcome.
See the CONTRIBUTE file for more information.
LICENCE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file py3make-1.0.1.tar.gz
.
File metadata
- Download URL: py3make-1.0.1.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4475fc6e655e2d6d1d6db94fd0d0609febb93ff96f26c825edb8eeffd0ae507 |
|
MD5 | f4d8bcff4b99663c5a64609502c7e12d |
|
BLAKE2b-256 | 76611ef6babd03fd0fdbce563277f4e05205e5b4a6225a27d567b074ff7e128e |
File details
Details for the file py3make-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: py3make-1.0.1-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b494ea55efdbe95493b49f59dc18e39e2eac819679606533ec8367ae254271b4 |
|
MD5 | 13238e80b2e5696cbdaaa552cfa85f49 |
|
BLAKE2b-256 | 0ec3a7d5f647561589fe498bfdb3fcfc2de44307c25734263865e1c5dc396fbf |