aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README44
-rw-r--r--libcutl/build/cxx/configuration-dynamic.make15
-rw-r--r--libcutl/build/cxx/gnu/configuration-dynamic.make8
-rw-r--r--libcutl/build/ld/configuration-lib-dynamic.make2
-rw-r--r--makefile43
5 files changed, 112 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..b3256c9
--- /dev/null
+++ b/README
@@ -0,0 +1,44 @@
+This archive contains pre-configured libcutl source code with all its
+dependencies. It allows you to built libcutl in non-interactive mode
+(that is, without answering any questions).
+
+GNU make 3.81 or later is required to build libcutl. Any fairly recent
+GNU/Linux distribution should have it already installed (use
+make --version to check).
+
+The build system supports the following standard variables:
+
+CXX (defaults to g++ if not set)
+CPPFLAGS
+CXXFLAGS
+LDFALGS
+LIBS
+
+For example:
+
+$ make CXX=g++-4.2 CXXFLAGS=-O3
+
+After the build, libcutl.so be found in the libcutl/cutl/ directory.
+
+If you would like to see the full compiler/linker/etc., command lines,
+you can add verbose=1 to the command line, for example:
+
+$ make verbose=1
+
+To build and run automated tests for libcutl as well as all the
+dependencies, run:
+
+$ make test
+
+The clean the object files, libraries, executable, etc., run:
+
+$ make clean
+
+You can also run make from various sub-directories in this package. For
+example, to build and run automated tests only for libcutl, you can do
+the following:
+
+$ cd libcutl/tests
+$ make test
+
+Send bug reports or any other feedback to boris@codesynthesis.com.
diff --git a/libcutl/build/cxx/configuration-dynamic.make b/libcutl/build/cxx/configuration-dynamic.make
new file mode 100644
index 0000000..fa9bd03
--- /dev/null
+++ b/libcutl/build/cxx/configuration-dynamic.make
@@ -0,0 +1,15 @@
+cxx_id := gnu
+cxx_optimize := n
+cxx_debug := n
+cxx_rpath := n
+
+cxx_pp_extra_options := $(CPPFLAGS)
+cxx_extra_options := $(CXXFLAGS)
+cxx_ld_extra_options := $(LDFLAGS)
+cxx_extra_libs := $(LIBS)
+
+r := $(shell echo $(LDFLAGS) | sed -e 's/-L *\([^ ]*\)/-L\1/g')
+r := $(patsubst -L%,%,$(filter -L%,$(r)))
+r := $(shell echo $(r) | sed -e 's/ /:/g')
+
+cxx_extra_lib_paths := $(r)
diff --git a/libcutl/build/cxx/gnu/configuration-dynamic.make b/libcutl/build/cxx/gnu/configuration-dynamic.make
new file mode 100644
index 0000000..b432d56
--- /dev/null
+++ b/libcutl/build/cxx/gnu/configuration-dynamic.make
@@ -0,0 +1,8 @@
+ifneq ($(CXX),)
+cxx_gnu := $(CXX)
+else
+cxx_gnu := g++
+endif
+
+cxx_gnu_libraries :=
+cxx_gnu_optimization_options :=
diff --git a/libcutl/build/ld/configuration-lib-dynamic.make b/libcutl/build/ld/configuration-lib-dynamic.make
new file mode 100644
index 0000000..bccce06
--- /dev/null
+++ b/libcutl/build/ld/configuration-lib-dynamic.make
@@ -0,0 +1,2 @@
+ld_lib_type := shared
+
diff --git a/makefile b/makefile
new file mode 100644
index 0000000..3ff2fb3
--- /dev/null
+++ b/makefile
@@ -0,0 +1,43 @@
+# file : makefile
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009 Code Synthesis Tools CC
+# license : MIT; see accompanying LICENSE file
+
+include $(dir $(lastword $(MAKEFILE_LIST)))/build-0.3/bootstrap.make
+
+default := $(out_base)/
+
+.PHONY: $(default) test install clean
+
+# Build.
+#
+$(default): $(out_base)/libcutl/cutl/
+
+# Test.
+#
+test: $(out_base)/libcutl/.test
+
+# Install.
+#
+install:
+
+# Clean.
+#
+clean: $(out_base)/libcutl/.clean
+
+# Reset pattern-specific variables because GNU make will use the
+# first match instead of the most specific match. Here out_root
+# and out_base are the same.
+#
+$(out_root)/%: out_root :=
+$(out_root)/%: out_base :=
+$(out_root)/%: src_root :=
+$(out_root)/%: src_base :=
+$(out_root)/%: scf_root :=
+$(out_root)/%: dcf_root :=
+$(out_root)/%: project_name :=
+
+src_root := $(src_base)/libcutl
+scf_root := $(src_root)/build
+out_root := $(src_root)
+$(call import,$(src_base)/libcutl/makefile)