Giter Site home page Giter Site logo

vizmake's Introduction

VizMake

Description

Vizmake visualizes make. It runs a modified GNU make to collect trace data and visualizes some useful information of Makefile. Visualization provides developers great insight of the make process.

Current implementation supports:

  • Viewing what commands are actually invoked during build time.
  • Visualizing lines in Makefile that reference variables and the actual value of a referenced variable during build time. [Mac OS X and Linux]
  • Analyzing and visualizing dependencies in rules to help figure out what dependencies are potentially missed or are potentially extra. [Linux (rely on strace)]

Installation and Usage

Let $(VIZMAKE) be the path of the root directory of vizmake project.

  • Go into $(VIZMAKE)/make/ directory to build the modified version of GNU make. The binary file make should be in the $(VIZMAKE)/make directory.
  • Run python $(VIZMAKE)/vizmake.py in any project as how you run make. Think of python vizmake.py as a make wrapper. You can pass any make command line arguments to python $(VIZMAKE)/vizmake.py.
  • Open web browser to see http://localhost:8000

Screenshots

Run vizmake

This screenshot is in a terminal after running

		python $(VIZMAKE)/vizmake.py all

which is equivalent to

		make all

except for doing visualization: screenshot

Index page

This screenshot is in a browser showing all make processes and all command processes (e.g., gcc) spawned from a make process: screenshot

Full command line page

This screenshot is in a browser showing the full command line to execute a process after clicking on one CMD link in the index page: screenshot

Makefile variable view page

This screenshot is in a browser showing the visualization of Makefile's variable view after clicking on one VAR link in the index page: screenshot

This page visualizes the lines in a Makefile that reference some variables. It also visualizes the information of each referenced variable during build time, including the variable value, the source of variable definition, and other variables referenced by a variable.

Makefile dependency view page

This screenshot is in a browser showing the visualization of dependencies in rules view after clicking on one DEP link in the index page: screenshot

Demo

http://wenbinf.github.com/vizmake/demo

License

GPLv3

vizmake's People

Contributors

wenbinf 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.