From 39865c052dd161134c7ae5610424c8eb3f6a1be3 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Sun, 16 Jan 2005 02:21:18 +0000 Subject: [PATCH] Update documentation on how to set up a project git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19591 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/Projects.html | 45 ++++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/docs/Projects.html b/docs/Projects.html index dafedc91d14..da1bc2ebe30 100644 --- a/docs/Projects.html +++ b/docs/Projects.html @@ -40,37 +40,32 @@ projects that use LLVM header files, libraries, and tools. In order to use these facilities, a Makefile from a project must do the following things:

    -
  1. Set environment variables.There are several environment variables that a -Makefile needs to set to use the LLVM build system: - -
      -
    • LLVM_SRC_ROOT - The root of the LLVM source tree.
    • -
    • LLVM_OBJ_ROOT - The root of the LLVM object tree.
    • -
    • BUILD_SRC_ROOT - The root of the project's source tree.
    • -
    • BUILD_OBJ_ROOT - The root of the project's object tree.
    • -
    • BUILD_SRC_DIR - The directory containing the current source to be - compiled.
    • -
    • BUILD_OBJ_DIR - The directory where the current source will place - the new object files. This should always be the current directory.
    • -
    • LEVEL - The relative path from the current directory to the root - of the object tree.
    • -
  2. -
  3. Include Makefile.config from $(LLVM_OBJ_ROOT).
  4. -
  5. Include Makefile.rules from $(LLVM_SRC_ROOT).
  6. +
  7. Set make variables. There are several variables that a Makefile + needs to set to use the LLVM build system: +
      +
    • PROJECT_NAME - The name by which your project is known.
    • +
    • LLVM_SRC_ROOT - The root of the LLVM source tree.
    • +
    • LLVM_OBJ_ROOT - The root of the LLVM object tree.
    • +
    • PROJ_SRC_ROOT - The root of the project's source tree.
    • +
    • PROJ_OBJ_ROOT - The root of the project's object tree.
    • +
    • PROJ_INSTALL_ROOT - The root installation directory.
    • +
    • LEVEL - The relative path from the current directory to the + project's root ($PROJ_OBJ_ROOT).
    • +
  8. +
  9. Include Makefile.config from $(LLVM_OBJ_ROOT).
  10. +
  11. Include Makefile.rules from $(LLVM_SRC_ROOT).

There are two ways that you can set all of these variables:

-
    -
  1. You can write your own Makefiles which hard-code these values.
  2. - -
  3. You can use the pre-made LLVM sample project. This sample project includes -Makefiles, a configure script that can be used to configure the location of -LLVM, and the ability to support multiple object directories from a single -source directory.
  4. +
  5. You can write your own Makefiles which hard-code these values.
  6. +
  7. You can use the pre-made LLVM sample project. This sample project + includes Makefiles, a configure script that can be used to configure the + location of LLVM, and the ability to support multiple object directories + from a single source directory.
-

This document assumes that you will base your project off of the LLVM sample +

This document assumes that you will base your project on the LLVM sample project found in llvm/projects/sample. If you want to devise your own build system, studying the sample project and LLVM Makefiles will probably provide enough information on how to write your own Makefiles.