--- /dev/null
+#
+# This is a sample Makefile for a project that uses LLVM.
+#
+
+#
+# Indicates our relative path to the top of the project's root directory.
+#
+LEVEL = .
+
+#
+# Directories that needs to be built.
+#
+DIRS = lib tools
+
+#
+# Include the Master Makefile that knows how to build all.
+#
+include $(LEVEL)/Makefile.common
+
--- /dev/null
+#
+# Set this variable to the top of the LLVM source tree.
+#
+LLVM_SRC_ROOT = $(LEVEL)/../..
+
+#
+# Set this variable to the top level directory where LLVM was built
+# (this is *not* the same as OBJ_ROOT as defined in LLVM's Makefile.config).
+#
+#LLVM_OBJ_ROOT = $(LEVEL)/../..
+
+#
+# Include LLVM's Master Makefile.
+#
+include $(LLVM_SRC_ROOT)/Makefile.common
+
--- /dev/null
+#
+# Set this variable to the top of the LLVM source tree.
+#
+LLVM_SRC_ROOT = $(LEVEL)/../..
+
+#
+# Set this variable to the top level directory where LLVM was built
+# (i.e. where all of the object files are located).
+#
+#LLVM_OBJ_ROOT = $(LEVEL)/../..
+
+#
+# Include LLVM's Makefile Makefile.
+#
+include $(LLVM_SRC_ROOT)/Makefile.config
+
--- /dev/null
+/*
+ * File: sample.h
+ *
+ * This is a sample header file that is global to the entire project.
+ * It is located here so that everyone will find it.
+ */
+extern int compute_sample (int a);
+
--- /dev/null
+#
+# Relative path to the top of the source tree.
+#
+LEVEL=..
+
+#
+# List all of the subdirectories that we will compile.
+#
+DIRS=sample
+
+include $(LEVEL)/Makefile.common
--- /dev/null
+#
+# Indicate where we are relative to the top of the source tree.
+#
+LEVEL=../..
+
+#
+# Give the name of a library. This will build a dynamic version.
+#
+SHARED_LIBRARY=1
+LIBRARYNAME=sample
+
+#
+# Include Makefile.common so we know what to do.
+#
+include $(LEVEL)/Makefile.common
+
--- /dev/null
+/*
+ * File: sample.c
+ *
+ * Description:
+ * This is a sample source file for a library. It helps to demonstrate
+ * how to setup a project that uses the LLVM build system, header files,
+ * and libraries.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+// LLVM Header File
+#include "Support/DataTypes.h"
+
+// Header file global to this project
+#include "sample.h"
+
+int
+compute_sample (int a)
+{
+ return a;
+}
+
--- /dev/null
+#
+# Relative path to the top of the source tree.
+#
+LEVEL=..
+
+#
+# List all of the subdirectories that we will compile.
+#
+DIRS=sample
+
+include $(LEVEL)/Makefile.common
--- /dev/null
+#
+# Indicate where we are relative to the top of the source tree.
+#
+LEVEL=../..
+
+#
+# Give the name of the tool.
+#
+TOOLNAME=sample
+
+#
+# List libraries that we'll need
+#
+USEDLIBS=sample
+
+#
+# Include Makefile.common so we know what to do.
+#
+include $(LEVEL)/Makefile.common
+
--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <unistd.h>
+
+#include "sample.h"
+
+int
+main (int argc, char ** argv)
+{
+ printf ("%d\n", compute_sample (5));
+ exit (0);
+}
+