summaryrefslogtreecommitdiff
path: root/Makefile.local
Commit message (Collapse)AuthorAge
* Makefile: Finish implementing the "make release" target.0.1Carl Worth2010-04-05
| | | | And hopefully it actually works.
* Makefile: Start implementing a "make release" target.Carl Worth2010-04-05
| | | | | So far just doing checks that the version is sane and that no release of the same version already exists.
* Makefile: Add a dist target.Carl Worth2010-04-05
| | | | To create a versioned tar file for release.
* Makfiles: Make the top-level targets PHONYCarl Worth2010-04-05
| | | | Just to avoid any clash with files of the same names.
* Makefile.local: Automatically use makefile modeDavid Edmondson2010-04-03
| | | | | | | | | 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.
* Makefile: Add the emacs directory to load-path when compilingDavid Edmondson2010-04-03
| | | | | | | 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.
* Makefile: Only print the "make install" hint after the first build.Carl Worth2010-04-02
| | | | | | 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.
* notmuch: Add a version (0.1 initially) with a new --version option.Carl Worth2010-04-02
| | | | | We're planning to do actual releases soon, so we need a version number to put into the tar file.
* Compile a static notmuch binary (but only install the shared version)Carl Worth2010-04-01
| | | | | | | | 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.
* lib: Switch to a 3-part version number for the library interface.Carl Worth2010-04-01
| | | | | With a carefully documented description of how to increment the various version components.
* Makefiles: Align the columns of output.Carl Worth2010-04-01
| | | | Much better.
* Makefiles: Make the install rules quiet like the compilation rules.Carl Worth2010-03-31
| | | | | The output from make is looking better all the time, (though the columns still aren't lined up).
* Makefile: Fix to print CFLAGS with "make V=0"Carl Worth2010-03-31
| | | | | | | 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.
* Makefiles: Eliminate shell for loops in rule definitions.Carl Worth2010-03-31
| | | | | These just made the output look so ugly, and weren't actually making the rule definitions any simpler. Good riddance.
* Move installation of library from top-level to lib/Makefile.localCarl Worth2010-03-31
| | | | | | 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).
* Move some variable assignments from Makefile.local to Makefile.configCarl Worth2010-03-31
| | | | | | | | | | | | | 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.
* Move bulk of rules from Makefile to Makefile.local.Carl Worth2010-03-31
| | | | | | | | | | 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.
* Add a --libdir option to ./configureIngmar Vanhassel2010-03-31
| | | | | | | This allows packagers to specify to which directory libraries should be installed. Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* Build and link against notmuch shared library, install notmuch.hBen Gamari2010-03-31
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* Makefile: Conditionalize the "make install" message.Carl Worth2010-03-10
| | | | This is the same approach as with the 'all' target previously.
* Makefile: Simplify the conditional message of the all target.Carl Worth2010-03-10
| | | | | | | | | | | | | | 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.
* Makefile: Add message to make install listing the other install targets.Carl Worth2010-03-10
| | | | | Otherwise, it's hard for the user to know that things like install-emacs, install-bash, and install-zsh even exist.
* Makefile: Add a meesage after "make" telling the user to run "make install"Carl Worth2010-03-09
| | | | | As one command completes, it's kind of the tool to indicate which command the user should execute next.
* emacs: Move emacs UI (currently just one file) to subdirectory.David Bremner2010-03-09
| | | | | | 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.
* Add an "--format=(json|text)" command-line option to both notmuch-search and ↵Scott Robinson2010-02-23
| | | | | | | | | | | | | notmuch-show. 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.
* Add install target for notmuch.desktop file.Jeffrey C. Ollie2010-01-24
| | | | | | | | 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>
* Install zsh completion filemartin f. krafft2010-01-14
| | | | | | | | | | | | | 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>
* fix Makefile.local to install bash completion definitions as not executableJameson Graef Rollins2009-12-04
|
* Fix quiet compilation to print the user's CFLAGS, CXXFLAGS, LDFLAGS.Carl Worth2009-12-04
| | | | | | | | | | 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.
* Makefile: Incorporate getline implementation into the build.Carl Worth2009-12-01
| | | | | It's unconditional for a very short time. We expect to soon be building it only if necessary.
* Makefile: Add new "install-bash" target for bash completion supportCarl Worth2009-12-01
| | | | | | | 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).
* notmuch: New command 'search-tags'.Jan Janak2009-11-26
| | | | | | | | | | 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>
* Add 'notmuch count' command to show the count of matching messagesKeith Packard2009-11-23
| | | | | | | | | | | 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>
* notmuch-new: Only install SIGALRM if not running under gdbChris Wilson2009-11-22
| | | | | | | | | | | | | | | 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]
* Makefile: Fix to work even with GZIP environment variable set.Carl Worth2009-11-22
| | | | | | | 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.
* Makefile: Magic silent rules.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]
* Make bash completion directory configurable.James Rowe2009-11-21
| | | | | Some systems install completion scripts in /usr/share/bash-completion, make the location configurable from Makefile.config.
* bash-completion: Move to contribIngmar Vanhassel2009-11-20
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* Add notmuch.1.gz to files to be cleanedMikhail Gusarov2009-11-20
| | | | Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
* Improve installation of emacs mode.Jeffrey C. Ollie2009-11-20
| | | | | | | | | | | | | | | | | | 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>
* Put $(LDFLAGS) after the list of object files.Peter Wang2009-11-19
| | | | | | 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.
* Makefile: Create elisp install directory explicitlyIngmar Vanhassel2009-11-19
| | | | | | | When doing a DESTDIR install, this directory likely won't exist, and installing notmuch.el will fail. See 0d4b5292
* Makefile: Actually install the emacs mode.Carl Worth2009-11-19
| | | | Should have been doing this a long time ago.
* Fix linking with gcc to use g++ to link in C++ libs.Stewart Smith2009-11-18
| | | | | | | | 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()'
* Older versions of install do not support -C.Jan Janak2009-11-18
| | | | | | | | 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>
* Makefile: Fix missing dependency for notmuch.1 manual page.Carl Worth2009-11-17
| | | | | | The Makefile was failing to regnerate the notmuch.1.gz file when notmuch.1 was updated, (so stale documentation could potentially be installed).
* Makefile: Manual pages shouldn't be executableIngmar Vanhassel2009-11-17
|
* Makefile: Change default install prefix from /usr to /usr/localCarl Worth2009-11-17
| | | | | | | 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.
* Makefile: Prefer directories as the target for install commands.Carl Worth2009-11-17
| | | | | | 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).
* Makefile: Create installation directories explicitlyIngmar Vanhassel2009-11-17
| | | | Previously, notmuch.1.gz was installed as /usr/share/man/man1 (a file).