aboutsummaryrefslogtreecommitdiff
path: root/dist/build
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-03-02 12:14:54 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-03-02 12:14:54 +0200
commit6c63b913179127e09ed7d9da8920493ccceec6ce (patch)
tree95684b51b4ab60e6468a592a53e33c2cf00027ab /dist/build
parent3fd3cfc36784be43f545f2f0973e3dc58f475996 (diff)
Add make support for creating binary distributions
Two new make targets, dist and dist-win, were added that allow one to create a binary distribution from the current build. The dist target creates a UNIX distribution while dist-win -- Windows. The simplified build systems for the runtime library and examples that were kept separately are now part of the project (the dist/ subdirectory).
Diffstat (limited to 'dist/build')
-rw-r--r--dist/build/c/rules.make11
-rw-r--r--dist/build/c/rules.nmake13
-rw-r--r--dist/build/config.make30
-rw-r--r--dist/build/config.nmake10
-rw-r--r--dist/build/cxx/rules.make14
-rw-r--r--dist/build/cxx/rules.nmake16
6 files changed, 94 insertions, 0 deletions
diff --git a/dist/build/c/rules.make b/dist/build/c/rules.make
new file mode 100644
index 0000000..ab0474c
--- /dev/null
+++ b/dist/build/c/rules.make
@@ -0,0 +1,11 @@
+# file : build/c/rules.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2006 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+include $(root)/build/config.make
+
+# Rules.
+#
+%.o: %.c
+ $(CC) $(CPPFLAGS) $(EXTRA_CPPFLAGS) $(CFLAGS) -c $< -o $@
diff --git a/dist/build/c/rules.nmake b/dist/build/c/rules.nmake
new file mode 100644
index 0000000..4c9f7be
--- /dev/null
+++ b/dist/build/c/rules.nmake
@@ -0,0 +1,13 @@
+# file : build/c/rules.nmake
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2006 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+!include $(root)\build\config.nmake
+
+# Rules.
+#
+.SUFFIXES: .c .obj
+
+.c.obj:
+ $(CC) $(CPPFLAGS) $(EXTRA_CPPFLAGS) $(CFLAGS) /c $< /Fo$@
diff --git a/dist/build/config.make b/dist/build/config.make
new file mode 100644
index 0000000..44f3c36
--- /dev/null
+++ b/dist/build/config.make
@@ -0,0 +1,30 @@
+# file : build/config.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2008 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#
+# DO NOT edit this file. Use config/config.make instead.
+#
+
+include $(root)/config/config.make
+
+# Strip user-specified parameters of leading/trailing whitespaces.
+#
+XSDE_PLATFORM := $(strip $(XSDE_PLATFORM))
+XSDE_ARCH_WIDTH := $(strip $(XSDE_ARCH_WIDTH))
+XSDE_BYTEORDER := $(strip $(XSDE_BYTEORDER))
+XSDE_STL := $(strip $(XSDE_STL))
+XSDE_IOSTREAM := $(strip $(XSDE_IOSTREAM))
+XSDE_EXCEPTIONS := $(strip $(XSDE_EXCEPTIONS))
+XSDE_LONGLONG := $(strip $(XSDE_LONGLONG))
+XSDE_SNPRINTF := $(strip $(XSDE_SNPRINTF))
+XSDE_PARSER_VALIDATION := $(strip $(XSDE_PARSER_VALIDATION))
+XSDE_SERIALIZER_VALIDATION := $(strip $(XSDE_SERIALIZER_VALIDATION))
+XSDE_REUSE_STYLE := $(strip $(XSDE_REUSE_STYLE))
+XSDE_POLYMORPHIC := $(strip $(XSDE_POLYMORPHIC))
+XSDE_PARSER_SMAP_BUCKETS := $(strip $(XSDE_PARSER_SMAP_BUCKETS))
+XSDE_PARSER_IMAP_BUCKETS := $(strip $(XSDE_PARSER_IMAP_BUCKETS))
+XSDE_SERIALIZER_SMAP_BUCKETS := $(strip $(XSDE_SERIALIZER_SMAP_BUCKETS))
+XSDE_SERIALIZER_SMAP_BUCKET_BUCKETS := $(strip $(XSDE_SERIALIZER_SMAP_BUCKET_BUCKETS))
+XSDE_SERIALIZER_IMAP_BUCKETS := $(strip $(XSDE_SERIALIZER_IMAP_BUCKETS))
diff --git a/dist/build/config.nmake b/dist/build/config.nmake
new file mode 100644
index 0000000..2483b28
--- /dev/null
+++ b/dist/build/config.nmake
@@ -0,0 +1,10 @@
+# file : build/config.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2008 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#
+# DO NOT edit this file. Use config\config.nmake instead.
+#
+
+!include $(root)\config\config.nmake
diff --git a/dist/build/cxx/rules.make b/dist/build/cxx/rules.make
new file mode 100644
index 0000000..73399bd
--- /dev/null
+++ b/dist/build/cxx/rules.make
@@ -0,0 +1,14 @@
+# file : build/cxx/rules.make
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2006 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+include $(root)/build/config.make
+
+# Rules.
+#
+%.o: %.cxx
+ $(CXX) $(CPPFLAGS) $(EXTRA_CPPFLAGS) $(CXXFLAGS) -c $< -o $@
+
+%: %.o
+ $(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
diff --git a/dist/build/cxx/rules.nmake b/dist/build/cxx/rules.nmake
new file mode 100644
index 0000000..964bbdc
--- /dev/null
+++ b/dist/build/cxx/rules.nmake
@@ -0,0 +1,16 @@
+# file : build/cxx/rules.nmake
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2006 Code Synthesis Tools CC
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+!include $(root)\build\config.nmake
+
+# Rules.
+#
+.SUFFIXES: .cxx .exe .obj
+
+.cxx.obj:
+ $(CXX) $(CPPFLAGS) $(EXTRA_CPPFLAGS) $(CXXFLAGS) /c /TP $< /Fo$@
+
+.obj.exe:
+ $(LD) $(LDFLAGS) /OUT:$@ $** $(LIBS)