Code Monkey home page Code Monkey logo

minbuild's Introduction

minbuild

minbuild scripts speeds up your build system setup for C/C++/Assembly projects and it is completly makefile based which avoid installation of additional tools.

features

  1. can support multiple projects with different configurations
  2. can quickly create new projects by using user defined templates
  3. supports incremental build even when dependencies of source file are changed
  4. supports execution of user defined pre-compilation & post-compilation scripts

usage

You can have single project or multiple projects in your workspace in any directory tree format. The makefile (or called as entry makefile) in this repository should be configured according to your target needs. When you issue make command, this entry makefile should be the one that gets executed first.

When you open the makefile you see list of below configurations:

ROOT

Optional configuration to specify root path of your workspace or project. Not used anywhere in the minbuild scripts

BUILD_PATH

Specify build output directory

PRJ_PATH

Specify solution directory where you can have multiple projects

SCRIPT_PATH

Specify path of minbuild scripts

DEFAULT_PROJECT

Specify name of default project

ARGS

Opitonal configuration to specify default argument to pass when you run the final executables

How to create new project

Type following command to create new project in PRJ_BUILD path

make PROJ=<new_project> new

How to trigger build

Type following command to trigger clean or incremental build

make PROJ=<project>

Note: PROJ Argument is optional here, when not specified DEFAULT_PROJECT will taken

How to clean build

make PROJ=<project> clean

Note: PROJ Argument is optional here, when not specified entire BUILD_OUTPUT directory will be cleaned

How to run final executable

make PROJ=<project> ARGS<arugments> run

Note:

  1. PROJ Argument is optional here, when not specified DEFAULT_PROJECT will taken
  2. ARGS is also optional

minbuild's People

Contributors

chethanksd avatar

Watchers

 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.