aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/Makefile.local
Commit message (Collapse)AuthorAge
* Makefile: Magic silent rules.Gravatar Chris Wilson2009-11-22
| | | | | | | | | | | | | Use the facilities of GNU make to create a magic function that will on the first invocation print a description of how to enable verbose compile lines and then print the quiet rule. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Carl Worth <cworth@cworth.org> Cc: Mikhail Gusarov <dottedmag@dottedmag.net> [ickle: Rebased, and duplicate command string eliminated.] [ickle: Fixed verbose bug pointed out by Mikhail]
* lib: Move notmuch_messages_t code from query.cc to new messages.cGravatar Carl Worth2009-11-14
| | | | | | | | | | | | | The new object is simply a linked-list of notmuch_message_t objects, (unlike the old object which contained a couple of Xapian iterators). This works now by the query code immediately iterator over all results and creating notmuch_message_t objects for them, (rather than waiting to create the objects until the notmuch_messages_get call as we did earlier). The point of this change is to allow other instances of lists of messages, (such as in notmuch_thread_t), that are not directly related to Xapian search results.
* Makefile: Make the top-level Makefile a little more independent.Gravatar Carl Worth2009-11-10
| | | | | | | Previously, the top-level Makefile was explicitly adding -I./lib to the compiler flags. However, that's something that's much better done from within the Makefile.local fragment within the lib directory itself.
* Makefile: Fix dependency generation to make .d files themselves dependent.Gravatar Carl Worth2009-11-10
| | | | | | | | | | | | | | | I saw this recommendation in the implementation notes for "Recursive Make Considered Harmful" and then the further recommendation for implementing the idea in the GNU make manual. The idea is that if any of the files change then we need to regenerate the dependency file before we regenerate any targets. The approach from the GNU make manual is simpler in that it just uses a sed script to fix up the output of an extra invocation of the compiler, (as opposed to the approach in the implementation notes from the paper's author which use a wrapper script for the compiler that's always invoked rather than the compiler itself).
* Implement a non-recursive make.Gravatar Carl Worth2009-11-10
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.