aboutsummaryrefslogtreecommitdiff
path: root/examples/cxx/multidir/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cxx/multidir/makefile')
-rw-r--r--examples/cxx/multidir/makefile47
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/cxx/multidir/makefile b/examples/cxx/multidir/makefile
new file mode 100644
index 0000000..c368828
--- /dev/null
+++ b/examples/cxx/multidir/makefile
@@ -0,0 +1,47 @@
+# file : examples/cxx/multidir/makefile
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2004-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+include $(dir $(lastword $(MAKEFILE_LIST)))build/bootstrap.make
+
+cxx_tun := driver.cxx foo/foo.cxx bar/bar.cxx
+cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o))
+cxx_od := $(cxx_obj:.o=.o.d)
+
+driver := $(out_base)/driver
+clean := $(out_base)/.clean
+
+
+# Build.
+#
+$(driver): $(cxx_obj)
+
+$(call -include,$(cxx_od))
+
+
+# Clean
+#
+.PHONY: $(clean)
+
+$(clean): $(driver).o.clean \
+ $(addsuffix .cxx.clean,$(cxx_obj)) \
+ $(addsuffix .cxx.clean,$(cxx_od))
+
+
+# Aliases.
+#
+ifdef %interactive%
+
+.PHONY: clean
+
+clean: $(clean)
+
+endif
+
+
+# How to.
+#
+$(call include,$(bld_root)/cxx/o-e.make)
+$(call include,$(bld_root)/cxx/cxx-o.make)
+$(call include,$(bld_root)/cxx/cxx-d.make)