Generate Makefile for C Project of 42 School
Project description
genMake
Disclaimer:
This is my first real Python project. I am not a Python developer, and the code is certainly not the cleanest. This project was developed according to my needs, and if you need more features I would be happy to integrate them if possible. I think it may be useful to others so I'll share it but without any guarantee.
Description
This project allows to generate a Makefile compatible with the rules of school 42. It also allows to update the name of the sources in a fully automated way. The MakeFile works on C and CPP.
Usage
genmake -h
usage: genmake [-h] [--version] [--remake]
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--remake Delete and reconstruct Makefile
Makefile
The Makefile will support the libftprintf
and minilibx
libraries (standard to 42). There is also a DEBUG rule as well as norm.
The Makefile will use GCC on MacOS and clang-9 on Linux
Usage of makefile
make
make bonus
make BUILD=debug
make BUILD=valgrind
make re
make clean
make fclean
make libft
make minilibx
make norm
If you use the Debug rule, the following parameters will be added during compilation :
-DDEBUG -ggdb -fsanitize=address -fno-omit-frame-pointer
The valgrind rule is the same as above, but without fsanitize
Installation
To install it just do :
pip3 install genmake
or on 42 iMac :
python3 -m pip install --user genmake
If the command is not available even after installation, please check that $HOME/.local/bin
is in the PATH. If it is not the case you can add this to your .zshrc
:
export PATH=$HOME/.local/bin:$PATH
or on 42 iMac MacOS :
export PATH=$HOME/Library/Python/3.7/bin:$PATH
Upgrade
To update, this command is enough:
pip3 install genmake -U
or on 42 iMac :
pip3 install --user --upgrade genmake
Known problems :
- The code is not clean
- Many parameters are hard-coded, it would be necessary to create a configuration file.
- You will tell me :D
Thanks to :
- Tart3mpion for special support
- tp0ns for joy and amelioration idea
- clbouche for joy and special skill in communication
- Ccommiss for nothing but i appreciate you
- EliasAachach special thanks to you best bro ❤️
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 genmake-1.1.6.tar.gz
.
File metadata
- Download URL: genmake-1.1.6.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10c6c1af6fc1c98032a4379895e414927e1bcb54d1cb387cb104a67e8c539276 |
|
MD5 | cf9436853b97bbf3cc4648acba2499b3 |
|
BLAKE2b-256 | f7c3539484fd7d9e68c4fc117333539646d6ee74cb8e753fdffaafc2680d82bc |
File details
Details for the file genmake-1.1.6-py3-none-any.whl
.
File metadata
- Download URL: genmake-1.1.6-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41647b35d0251e38d3de667569fd298eebae3f5b7a4fea6b4d5b5b1c85663564 |
|
MD5 | 7c4505477243751a55d6e287299a1430 |
|
BLAKE2b-256 | 21b0383108fe8ed9cf77b5293f7102cd8c60db75a7a84fbb14643a7756e592f0 |