aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/Makefile.local
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2009-11-10 07:14:49 -0800
committerGravatar Carl Worth <cworth@cworth.org>2009-11-10 07:24:10 -0800
commitc5dccd851a8b79d8cedbfc8f2d2b8f9be2b7fa5a (patch)
tree7eaa0b616a99460359c7e2ee593c46c6a4c64a60 /lib/Makefile.local
parent3cdb24d38aaa4cf043526a946e0a4ae290a6881d (diff)
Implement a non-recursive make.
The idea here is that every Makefile at each lower level will be an identical, tiny file that simply defers to a top-level make. Meanwhile, the Makefile.local file at each level is a Makefile snippet to be included at the top-level into a large, flat Makefile. As such, it needs to define its rules with the entire relative directory to each file, (typically in $(dir)). The local files can also append to variables such as SRCS and CLEAN for files to be analyzed for dependencies and to be cleaned.
Diffstat (limited to 'lib/Makefile.local')
-rw-r--r--lib/Makefile.local19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Makefile.local b/lib/Makefile.local
new file mode 100644
index 00000000..b5182bc4
--- /dev/null
+++ b/lib/Makefile.local
@@ -0,0 +1,19 @@
+dir=lib
+
+lib_notmuch_modules = \
+ $(dir)/database.o \
+ $(dir)/index.o \
+ $(dir)/$(dir)sha1.o \
+ $(dir)/message.o \
+ $(dir)/message-file.o \
+ $(dir)/query.o \
+ $(dir)/sha1.o \
+ $(dir)/tags.o \
+ $(dir)/thread.o \
+ $(dir)/xutil.o
+
+$(dir)/notmuch.a: $(lib_notmuch_modules)
+ $(AR) rcs $@ $^
+
+SRCS := $(SRCS) lib/*.c lib/*.cc
+CLEAN := $(CLEAN) $(dir)/*.o $(dir)/notmuch.a