summaryrefslogtreecommitdiff
path: root/Makefile.local
AgeCommit message (Collapse)Author
2010-04-05Makefile: Finish implementing the "make release" target.0.1Carl Worth
And hopefully it actually works.
2010-04-05Makefile: Start implementing a "make release" target.Carl Worth
So far just doing checks that the version is sane and that no release of the same version already exists.
2010-04-05Makefile: Add a dist target.Carl Worth
To create a versioned tar file for release.
2010-04-05Makfiles: Make the top-level targets PHONYCarl Worth
Just to avoid any clash with files of the same names.
2010-04-03Makefile.local: Automatically use makefile modeDavid Edmondson
We add a magic line to the beginning of each Makefile.local file to help the editor know that it should use makefile mode for editing the file, (even though the filename isn't exactly "Makefile"). Edited-by: Carl Worth <cworth@cworth.org>: Expand treatment from emacs/Makefile.local to each instance of Makefile.local.
2010-04-03Makefile: Add the emacs directory to load-path when compilingDavid Edmondson
Reviewed-by: Carl Worth <cworth@cworth.org>: Presumably, this is to enable proper building in the very near-term future where the emacs implementation consists of multiple files where some will `require' functions from others.
2010-04-02Makefile: Only print the "make install" hint after the first build.Carl Worth
It was getting quite annoying to see this big block of text on every little build, (but I didn't want to get rid of it for any new users). This seems to strike the right balance.
2010-04-02notmuch: Add a version (0.1 initially) with a new --version option.Carl Worth
We're planning to do actual releases soon, so we need a version number to put into the tar file.
2010-04-01Compile a static notmuch binary (but only install the shared version)Carl Worth
The idea here is to allow a new user of notmuch to be able to run notmuch immediately after compiling, (without having to install the shared library first). This also ensures that the test suite tests the locally compiled library, and not whatever installled version of the library the dynamic linker happens to find.
2010-04-01lib: Switch to a 3-part version number for the library interface.Carl Worth
With a carefully documented description of how to increment the various version components.
2010-04-01Makefiles: Align the columns of output.Carl Worth
Much better.
2010-03-31Makefiles: Make the install rules quiet like the compilation rules.Carl Worth
The output from make is looking better all the time, (though the columns still aren't lined up).
2010-03-31Makefile: Fix to print CFLAGS with "make V=0"Carl Worth
The default "make" would be quite quiet, but still conveniently print the CFLAGS. The explicit "make V=0" was intended to be identical, (only not printing the message about V=1 but was broken in that it left the CFLAGS off). Fix this.
2010-03-31Makefiles: Eliminate shell for loops in rule definitions.Carl Worth
These just made the output look so ugly, and weren't actually making the rule definitions any simpler. Good riddance.
2010-03-31Move installation of library from top-level to lib/Makefile.localCarl Worth
We had a fairly ugly violation of modularity with the top-level Makefile.local isntalling everything, (even when the build commands for the library were down in lib/Makefile.local).
2010-03-31Move some variable assignments from Makefile.local to Makefile.configCarl Worth
There's not any special configure logic for determining these variable values, but if we did add some in the future, then these will now be in the right place for that. Additionally, this now makes Makefile.local the single place for the user to look for manually tweaking a variable assignment, (say, for a compiler that can't accept a particular warning argument). With this change, there should rarely be any need for a user to poke into any Makefile.local file.
2010-03-31Move bulk of rules from Makefile to Makefile.local.Carl Worth
Before it was impossible to know whether any particular setting or rule definition was in Makefile or Makefile.local. So we strip the Makefile down to little more than the list of sub-directories and the logic to include all of the sub-directories' Makefile.local fragments. Then, all of the real work can happen inside of Makefile.local.
2010-03-31Add a --libdir option to ./configureIngmar Vanhassel
This allows packagers to specify to which directory libraries should be installed. Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
2010-03-31Build and link against notmuch shared library, install notmuch.hBen Gamari
Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
2010-03-10Makefile: Conditionalize the "make install" message.Carl Worth
This is the same approach as with the 'all' target previously.
2010-03-10Makefile: Simplify the conditional message of the all target.Carl Worth
We wamt a simple "make" to call the 'all' target and then print a message when done, but we don't want "make install" which depends on that same 'all' target to print the message. We previously did this with a separate 'all-without-message' target, which was inelegant because it caused all users of the target to carefully depend on 'all-without-message' rather than 'all'. Instead, we now use a single 'all' target but with a Makefile conditional that examines the MAKECMDGOALS variable to determine whether to print the message.
2010-03-10Makefile: Add message to make install listing the other install targets.Carl Worth
Otherwise, it's hard for the user to know that things like install-emacs, install-bash, and install-zsh even exist.
2010-03-09Makefile: Add a meesage after "make" telling the user to run "make install"Carl Worth
As one command completes, it's kind of the tool to indicate which command the user should execute next.
2010-03-09emacs: Move emacs UI (currently just one file) to subdirectory.David Bremner
Add emacs/Makefile.local and emacs/Makefile. Move emacs targets into emacs/Makefile.local, but leave the byte compilation rule in the top level Makefile.
2010-02-23Add an "--format=(json|text)" command-line option to both notmuch-search and notmuch-show.Scott Robinson
In the case of notmuch-show, "--format=json" also implies "--entire-thread" as the thread structure is implicit in the emitted document tree. As a coincidence to the implementation, multipart message ID numbers are now incremented with each part printed. This changes the previous semantics, which were unclear and not necessary related to the actual ordering of the message parts.
2010-01-24Add install target for notmuch.desktop file.Jeffrey C. Ollie
Add an install target that uses desktop-file-install to install the desktop file in the appropriate location. The location of the install can be modified by changing the desktop_dir variable. Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
2010-01-14Install zsh completion filemartin f. krafft
According to the Debian zsh maintainer Clint Adams, this is the first time that a package installs its own completer into zsh. Part of the reason this is not usually done is because zsh does not provide a stable API. We agreed to try it, given that notmuch is expected to change quite a bit initially. If there are problems or the completer goes stable, we'll move it into the upstream zsh repository. Signed-off-by: martin f. krafft <madduck@debian.org>
2009-12-04fix Makefile.local to install bash completion definitions as not executableJameson Graef Rollins
2009-12-04Fix quiet compilation to print the user's CFLAGS, CXXFLAGS, LDFLAGS.Carl Worth
The only reason I ever call "make V=1" myself, (other than when debugging the compiler command-line for some reason), is to ensure whether my CFLAGS, (like "-g -O0" or "-O2"), are actually making it to the command-line. But these are hard to find in the V=1 output, and really, we should just print these even in the quiet case. So do that.
2009-12-01Makefile: Incorporate getline implementation into the build.Carl Worth
It's unconditional for a very short time. We expect to soon be building it only if necessary.
2009-12-01Makefile: Add new "install-bash" target for bash completion supportCarl Worth
It was problematic to have this in "make install" since it would unconditionally try to install to /etc, (even if a non-privileged user was attempting an install to a prefix in the user's home directory, for example).
2009-11-26notmuch: New command 'search-tags'.Jan Janak
This is a new notmuch command that can be used to search for all tags found in the database. The resulting list is alphabetically sorted. The primary use-case for this new command is to provide the tag completion feature in Emacs (and other interfaces). Signed-off-by: Jan Janak <jan@ryngle.com>
2009-11-23Add 'notmuch count' command to show the count of matching messagesKeith Packard
Getting the count of matching threads or messages is a fairly expensive operation. Xapian provides a very efficient mechanism that returns an approximate value, so use that for this new command. This returns the number of matching messages, not threads, as that is cheap to compute. Signed-off-by: Keith Packard <keithp@keithp.com>
2009-11-22notmuch-new: Only install SIGALRM if not running under gdbChris Wilson
I felt sorry for Carl trying to step through an exception from xapian and suffering from the SIGALARMs.. We can detect if the user launched notmuch under a debugger by either checking our cmdline for the presence of the gdb string or querying if valgrind is controlling our process. For the latter we need to add a compile time check for the valgrind development library, and so add the initial support to build Makefile.config from configure. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Carl Worth <cworth@cworth.org> [ickle: And do not install the timer when under the debugger]
2009-11-22Makefile: Fix to work even with GZIP environment variable set.Carl Worth
The rule here was written to assume that if the GZIP environment variable was set that it would be the gzip binary to execute, (similar to the CC and CXX variables). But GZIP is actually used to pass arguments to gzip, so we have to use a different name.
2009-11-22Makefile: Magic silent rules.Chris Wilson
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]
2009-11-21Make bash completion directory configurable.James Rowe
Some systems install completion scripts in /usr/share/bash-completion, make the location configurable from Makefile.config.
2009-11-20bash-completion: Move to contribIngmar Vanhassel
Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
2009-11-20Add notmuch.1.gz to files to be cleanedMikhail Gusarov
Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
2009-11-20Improve installation of emacs mode.Jeffrey C. Ollie
1) Add a separate targets to build and install emacs mode. 2) Don't hardcode the installation directory, instead use emacs' pkg-config module. 3) Install a byte compiled version of the emacs mode. 4) Install the emacs mode in emacs' site-lisp directory. Put "(require 'notmuch)" in your .emacs to load it automatically. 5) Ignore byte-compiled emacs files. Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us> Reviewed-by: Ingmar Vanhassel <ingmar@exherbo.org> Reviewed-by: Keith Packard <keithp@keithp.com>
2009-11-19Put $(LDFLAGS) after the list of object files.Peter Wang
Some linkers on some systems are particularly picky about the order of arguments in order to properly linkt. So this fixes failures on some systems.
2009-11-19Makefile: Create elisp install directory explicitlyIngmar Vanhassel
When doing a DESTDIR install, this directory likely won't exist, and installing notmuch.el will fail. See 0d4b5292
2009-11-19Makefile: Actually install the emacs mode.Carl Worth
Should have been doing this a long time ago.
2009-11-18Fix linking with gcc to use g++ to link in C++ libs.Stewart Smith
Previously, Ubuntu 9.10, gcc 4.4.1 was getting: /usr/bin/ld: lib/notmuch.a(database.o): in function global constructors keyed to BOOLEAN_PREFIX_INTERNAL:database.cc(.text+0x3a): error: undefined reference to 'std::ios_base::Init::Init()'
2009-11-18Older versions of install do not support -C.Jan Janak
Do not use -C cmdline option of install, older versions, commonly found in distributions like Debian, do not seem to support it. Running make install on such systems (tested on Debian Lenny) fails. Signed-off-by: Jan Janak <jan@ryngle.com>
2009-11-17Makefile: Fix missing dependency for notmuch.1 manual page.Carl Worth
The Makefile was failing to regnerate the notmuch.1.gz file when notmuch.1 was updated, (so stale documentation could potentially be installed).
2009-11-17Makefile: Manual pages shouldn't be executableIngmar Vanhassel
2009-11-17Makefile: Change default install prefix from /usr to /usr/localCarl Worth
We'll be a much more polite package this way. And the user can change the prefix by editing Makefile.config. Still to be done is to make configure write out Makefile.config and to add a --prefix option to configure.
2009-11-17Makefile: Prefer directories as the target for install commands.Carl Worth
I was confusing myself with some rules installing to directories and some installing to files. We do still install to a filename when simultaneously renaming, (such as notmuch-completion.bash to notmuch).
2009-11-17Makefile: Create installation directories explicitlyIngmar Vanhassel
Previously, notmuch.1.gz was installed as /usr/share/man/man1 (a file).