Skip to main content

Generate Makefile for C Project of 42 School

Project description

genMake

forthebadge forthebadge forthebadge forthebadge

PyPI download month PyPi version

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.

genmake

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 :

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

genmake-1.1.6.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

genmake-1.1.6-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

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

Hashes for genmake-1.1.6.tar.gz
Algorithm Hash digest
SHA256 10c6c1af6fc1c98032a4379895e414927e1bcb54d1cb387cb104a67e8c539276
MD5 cf9436853b97bbf3cc4648acba2499b3
BLAKE2b-256 f7c3539484fd7d9e68c4fc117333539646d6ee74cb8e753fdffaafc2680d82bc

See more details on using hashes here.

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

Hashes for genmake-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 41647b35d0251e38d3de667569fd298eebae3f5b7a4fea6b4d5b5b1c85663564
MD5 7c4505477243751a55d6e287299a1430
BLAKE2b-256 21b0383108fe8ed9cf77b5293f7102cd8c60db75a7a84fbb14643a7756e592f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page