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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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