aboutsummaryrefslogtreecommitdiff
path: root/projects
diff options
context:
space:
mode:
Diffstat (limited to 'projects')
-rw-r--r--projects/sample/Makefile19
-rw-r--r--projects/sample/Makefile.common16
-rw-r--r--projects/sample/Makefile.config16
-rw-r--r--projects/sample/include/sample.h8
-rw-r--r--projects/sample/lib/Makefile11
-rw-r--r--projects/sample/lib/sample/Makefile16
-rw-r--r--projects/sample/lib/sample/sample.c24
-rw-r--r--projects/sample/tools/Makefile11
-rw-r--r--projects/sample/tools/sample/Makefile20
-rw-r--r--projects/sample/tools/sample/main.c14
10 files changed, 155 insertions, 0 deletions
diff --git a/projects/sample/Makefile b/projects/sample/Makefile
new file mode 100644
index 0000000000..1fe32c795e
--- /dev/null
+++ b/projects/sample/Makefile
@@ -0,0 +1,19 @@
+#
+# 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
+
diff --git a/projects/sample/Makefile.common b/projects/sample/Makefile.common
new file mode 100644
index 0000000000..7aa0ef9f0d
--- /dev/null
+++ b/projects/sample/Makefile.common
@@ -0,0 +1,16 @@
+#
+# 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
+
diff --git a/projects/sample/Makefile.config b/projects/sample/Makefile.config
new file mode 100644
index 0000000000..1649978363
--- /dev/null
+++ b/projects/sample/Makefile.config
@@ -0,0 +1,16 @@
+#
+# 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
+
diff --git a/projects/sample/include/sample.h b/projects/sample/include/sample.h
new file mode 100644
index 0000000000..db3441f76f
--- /dev/null
+++ b/projects/sample/include/sample.h
@@ -0,0 +1,8 @@
+/*
+ * 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);
+
diff --git a/projects/sample/lib/Makefile b/projects/sample/lib/Makefile
new file mode 100644
index 0000000000..4b971053d0
--- /dev/null
+++ b/projects/sample/lib/Makefile
@@ -0,0 +1,11 @@
+#
+# 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
diff --git a/projects/sample/lib/sample/Makefile b/projects/sample/lib/sample/Makefile
new file mode 100644
index 0000000000..5569afbdda
--- /dev/null
+++ b/projects/sample/lib/sample/Makefile
@@ -0,0 +1,16 @@
+#
+# 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
+
diff --git a/projects/sample/lib/sample/sample.c b/projects/sample/lib/sample/sample.c
new file mode 100644
index 0000000000..bd78ed5746
--- /dev/null
+++ b/projects/sample/lib/sample/sample.c
@@ -0,0 +1,24 @@
+/*
+ * 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;
+}
+
diff --git a/projects/sample/tools/Makefile b/projects/sample/tools/Makefile
new file mode 100644
index 0000000000..4b971053d0
--- /dev/null
+++ b/projects/sample/tools/Makefile
@@ -0,0 +1,11 @@
+#
+# 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
diff --git a/projects/sample/tools/sample/Makefile b/projects/sample/tools/sample/Makefile
new file mode 100644
index 0000000000..a6106ac4d2
--- /dev/null
+++ b/projects/sample/tools/sample/Makefile
@@ -0,0 +1,20 @@
+#
+# 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
+
diff --git a/projects/sample/tools/sample/main.c b/projects/sample/tools/sample/main.c
new file mode 100644
index 0000000000..66073352de
--- /dev/null
+++ b/projects/sample/tools/sample/main.c
@@ -0,0 +1,14 @@
+#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);
+}
+