Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Loading
  • Ben Gamari's avatar
    c0e6c734
    Rewrite boot in Python · c0e6c734
    Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
    One step closer to being able to drop the Windows Perl tarball. We
    previously attempted to do this in D3567 but were forced to revert due
    to Windows problems.
    
    Acknowledgements:
     * @Phyx kindly contributed the codepath allowing this to work on
    Windows.
    
    Test Plan: Validate
    
    Reviewers: hvr, austin, Phyx
    
    Subscribers: erikd, thomie, rwbarton
    
    Differential Revision: https://phabricator.haskell.org/D3918
    c0e6c734
    History
    Rewrite boot in Python
    Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
    One step closer to being able to drop the Windows Perl tarball. We
    previously attempted to do this in D3567 but were forced to revert due
    to Windows problems.
    
    Acknowledgements:
     * @Phyx kindly contributed the codepath allowing this to work on
    Windows.
    
    Test Plan: Validate
    
    Reviewers: hvr, austin, Phyx
    
    Subscribers: erikd, thomie, rwbarton
    
    Differential Revision: https://phabricator.haskell.org/D3918
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Quick make guide for GHC

For a "Getting Started" guide, see:

https://ghc.haskell.org/trac/ghc/wiki/Building/QuickStart https://ghc.haskell.org/trac/ghc/wiki/Building/Using https://ghc.haskell.org/trac/ghc/wiki/Building/StandardTargets

Common commands:

  • make

    Builds everything: ghc stages 1 and 2, all libraries and tools.

  • make -j2

    Parallel build: runs up to 2 commands at a time.

  • cd <dir>; make

    Builds everything in the given directory.

  • cd

    ; make help

    Shows the targets available in

  • make install

  • make install-strip

    Installs GHC, libraries and tools under $(prefix). The install-strip variant strips executable files while installing them.

  • make sdist

  • make binary-dist

    Builds a source or binary distribution respectively

  • make show VALUE=<var>

  • make show! VALUE=<var>

    Show the value of make variable . The show! variant works right after ./configure (it skips reading package-data.mk files).

  • make clean

  • make distclean

  • make maintainer-clean

    Various levels of cleaning: "clean" restores the tree to the state after "./configure", "distclean" restores to the state after "python3 boot", and maintainer-clean restores the tree to the completely clean checked-out state.

Using make in subdirectories

  • make

    Builds everything in this directory (including dependencies elsewhere in the tree, if necessary)

  • make fast

    The same as 'make', but omits some phases and does not recalculate dependencies. Useful for saving time if you are sure the rest of the tree is up to date.

  • make clean

  • make distclean

  • make maintainer-clean

    Clean just this directory

  • make html

  • make pdf

  • make ps

    Make documentation in this directory (if any)

  • make show VALUE=<var>

  • make show! VALUE=<var>

    Show the value of make variable . The show! variant works right after ./configure (it skips reading package-data.mk files).

  • make <file>

    Bring a particular file up to date, e.g. make dist/build/Module.o The name is relative to the current directory