Makefile execution powered by pure Python
Project description
Bring basic Makefile support to any system with Python.
Inspired by work in tqdm.
Simply install then execute pymake in a directory containing a Makefile.
pymake works on any platform (Linux, Windows, Mac, FreeBSD, Solaris/SunOS).
pymake does not require any library to run, just a vanilla Python interpreter will do.
Installation
Latest PyPI stable release
pip install py-make
Latest development release on GitHub
Pull and install in the current directory:
pip install -e git+https://github.com/tqdm/py-make.git@master#egg=py-make
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 pymake -p to list commands and pymake <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
A full list of what is and is not supported is on the issue tracker.
Sample makefile compatible with pymake:
PY=python -m py_compile
.PHONY:
all
test
install
compile
all:
@+make test
@make install
test:
pytest
install:
python -m pip 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
pymake --help
Contributions
All source code is hosted on GitHub. Contributions are welcome.
See the CONTRIBUTING.md file for more information.
LICENCE
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
Built Distribution
File details
Details for the file py-make-0.1.2.tar.gz
.
File metadata
- Download URL: py-make-0.1.2.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03f9cc7e946adbadaf27c08d03ed329192c680166b734e4a5688dc83abdf9521 |
|
MD5 | 501da621a86c0a49af7f9728c6037b97 |
|
BLAKE2b-256 | 6069a18072af4fd4c6d77893843b6704e181342ae74a6aeff5a4b811068cd290 |
File details
Details for the file py_make-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: py_make-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b14c17b6b72904ad72d57a75e837e546a20020f8778f561d570c8851d513a62 |
|
MD5 | 7c109f51e433d219f28b5d2cebf569f1 |
|
BLAKE2b-256 | ea202f60d93edd6b5344e2887eff96704180fe063394180f3933c31ac3f26ac1 |