GithubHelp home page GithubHelp logo

makefiles's Introduction

The Makefiles

The ultimate collection of reusable Make targets

About

How many times have you written a Makefile for that new awesome project? Many? Then you might be in the right place. Here be a collection of reusable Make targets that you can simply include from your Makefile and be off doing more interesting stuff.

Supported platforms

Node.js is currently included. Support for php is planned.

Installation

There are two options how to include these targets into your project.

As git submodule

Using a git submodule has the benefit of being able to update to latest version of this repository. You cannot mess with the targets, though.

Download the files

Downloading the files and including them in your project means the files will become part of your project. You will not be able to easily update to latest version, but you can make any modifications to the targets you want.

Usage

Once you have settled for your installation of choice, you can start using the targets from your Makefile by including them (assuming you put the files into targets directory):

include targets/nodejs/*.mk

Configuring targets

Many targets come with variables that you can customise to your liking. These variables are described and initialised at the beginning of every target - have a look at the files to see what you can change.

Always override variables after including the targets. I have gone to great lengths to ensure the targets do not override existing variables, but just in case I missed something...

Modifying prerequisites

You can also modify what tasks should be run as prerequisites of other tasks. For example, you might want to lint your files before tests are run - to do so, define the prerequisites in your Makefile:

test: lint

That's it! Now, when you run make test, the lint target will be executed first.

Examples

Take a look at the Makefile-example.mk file for some inspiration.

License

This software is licensed under the BSD-3-Clause License. See the LICENSE file for more information.

makefiles's People

Contributors

robertrossmann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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.