diff options
| author | Carl Worth <cworth@cworth.org> | 2009-11-10 07:14:49 -0800 |
|---|---|---|
| committer | Carl Worth <cworth@cworth.org> | 2009-11-10 07:24:10 -0800 |
| commit | c5dccd851a8b79d8cedbfc8f2d2b8f9be2b7fa5a (patch) | |
| tree | 7eaa0b616a99460359c7e2ee593c46c6a4c64a60 /lib | |
| parent | 3cdb24d38aaa4cf043526a946e0a4ae290a6881d (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')
| -rw-r--r-- | lib/Makefile | 5 | ||||
| -rw-r--r-- | lib/Makefile.local | 19 |
2 files changed, 24 insertions, 0 deletions
diff --git a/lib/Makefile b/lib/Makefile new file mode 100644 index 00000000..80d7059c --- /dev/null +++ b/lib/Makefile @@ -0,0 +1,5 @@ +all: + make -C .. all + +clean: + make -C .. clean 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 |
