Giter Club home page Giter Club logo

gertrude-cli's Introduction

forthebadge forthebadge

forthebadge forthebadge

gertrude-cli

A CLI tool to make the creation of Makefiles easier!

Table of contents

Installation

All you have to do is to clone the repository and execute the installer.sh script inside it!

cd

git clone https://github.com/AshDev05/gertrude-cli.git

cd gertrude-cli

./installer.sh

We also advise everyone to check gertrude config before using to make gertrude behave as you wish! Config

Everything is done! ๐ŸŒฑ

Updating

To update gertrude you would simply need to execute :

gertrude update

Good plant ๐ŸŒฑ

Uninstallation

We are sorry that gertrude let you down. Here is how to get rid of her :

sudo rm -rf /opt/gertrude-cli

Bad plant.

Prototype

gertrude options

Flags

  • -d OPTIONAL : Should specify a directory. See Example
  • --var or -v OPTIONAL : Should specify a variable. See Example
  • --rule or -r OPTIONAL : Should specify a rules with deps and cmds. See Example
    • --deps or -D : Should specify dependency for the given rule.
    • --cmd or -c : Should specify a command for the given rule.
  • --epi or -e OPTIONAL : Creates a prefilled header for Makefiles. See Example
  • config : Configure gertrude as you wish! See Example

If Gertrude is called without options, it will generate a basic Makefile that you can modify in the directory where you executed her.

Examples

  • Directory

    • gertrude -d path/to/lib/ [...] ==> Gertrude will create a Makefile in the specified directory path/to/lib/
  • Variables

    • gertrude -v SRC="$(wildcard *.c)" ==> Gertrude will create a Makefile containing the specified variable with name SRC and value $(wildcard *.c)
  • Rules

    • gertrude -r lib -D $(OBJS_LIB) --cmd "echo Good Plant" ==> Gertrude will create a Makefile with the rule 'lib' which will depend on the object files for the lib, and will execute the command echo Good Plant
  • EpiHeader

    • gertrude [...] --epi ==> The Makefile will be started with the standard EPITECH school's header which is as follows:
##
## EPITECH PROJECT, 2023
## project_name
## File description:
## description
##
  • Config

    • gertrude config ==> This will open the configuration file your set editor (defaults to nano). Warning, editing sections that are not meant to be edited will result in undefined behaviour. Such sections are marked with /* Do not edit above/below this line*/. Editable values are clearly explained in a comment above the latter.

Contribution

You are free to contribute to this project by forking your own copy and creating pull requests, which we will review. Commits to this project should follow a commit norm:

  • "Gertrude now (...) ๐ŸŒฑ" ==> Changes to the core functionalities of Gertrude, addition of a major feature.

  • [ADD] (file name / description) ==> Addition of a minor feature, some files, or something else.

  • [MOD] (changes) ==> Changes made to a minor feature, something that changes the behaviour.

  • [FIX] (changes) ==> Changes made to a minor feature to fix a bug, or to the coding style. These changes do not alter the behaviour

  • [REM] (file) ==> Removal of (a) specific file(s).

License

forthebadge

The MIT License (MIT) 2023 - AshDev05, lg-epitech. LICENSE

gertrude-cli's People

Stargazers

 avatar  avatar

Watchers

 avatar

gertrude-cli's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.