Giter VIP home page Giter VIP logo

rmake's Introduction

rmake

Usage

rmake is a wrapper around make written in Go.

rmake invokes make with any arguments that it was passed.

rmake looks for a Makefile in the current working directory, if none is found it moves up to the parent directory.

This process is repeated till a Makefile is found or till the user's home directory is reached at which point rmake will make a best effort call to make from the original directory in which rmake was called

Install

Install rmake by running the following command in your shell.

go get github.com/joshi4/rmake

To install go and setup the work environment see this link.

NOTE: Make sure you've set the GOPATH variable correctly :)

Motivation

The most common mistake I make while using make ( no pun intended ) is to invoke the command from a child directory where no Makefile is present.

I estimate I run make about 50 - 100 times a day and hit the above error about 90% of the time. This tool is my attempt to solve this pain point.

Alternatives

make provides a -C flag which accepts the path to the make file but that defeats the purpose as it is more effort/time consuming to type it out.

Using your bash history reduces the pain of repeating the -C flag, however, that fails when you have to switch amongst different repos/makefiles quite frequently.

Infact, using rmake will make it possible to use your bash history more consistently as rmake test or rmake build are common enough and the -C flag is abstracted away

Testing

We have a simple end to end test for rmake in CI. Please see the .travis.yml file

rmake's People

Contributors

joshi4 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

rmake's Issues

setup ci

utilize gmake to build and test itself in CI as an integration test.

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.