aboutsummaryrefslogtreecommitdiffhomepage
path: root/Makefile.local
Commit message (Collapse)AuthorAge
...
* Derive version numbers from gitGravatar Michal Sojka2010-04-09
| | | | | | | | | | | | | | | | | I often have several versions of notmuch compiled and it would be very helpful to be able to distinguish between them. Git has a very nice feature to make intermediate numbering automatic and unambiguous so let's use it here. For tagged versions, the version is the name of the tag, for intermediate versions, the unique ID of the commit is appended to the tag name. When notmuch is compiled from a release tarball, there is no git repository and therefore the tarball contains a special file 'version', which contains the version of release tarball. To create a new release one has to run 'make release VERSION=X.Y'.
* Merge branch 'debian'Gravatar Carl Worth2010-04-06
|\ | | | | | | | | | | | | These are the changes made between the notmuch 0.1 release and the release of Debian version 0.1-1. It's mostly changes to the debian directory, of course, but does also include some generally useful Makefile improvements.
| * Avoid needlessly linking final notmuch binary against libXapian.Gravatar Carl Worth2010-04-06
| | | | | | | | | | | | The libnotmuch.so library already does, so we don't need to do it again. (Thanks to a Debian debhelper warning for pointing this out.)
| * Makefile: Add a disctclean target (simply calling clean)Gravatar Carl Worth2010-04-06
| | | | | | | | | | | | We currently don't distribute anything that's not already in git, so there's no difference between these two targets, (but debhelper wants to be able to call distclean).
| * configure: Add support for a --mandir optionGravatar Carl Worth2010-04-06
| | | | | | | | Again, nothing tricky here.
| * Makefile: Move the completion-specific commands to completion/Makefile.localGravatar Carl Worth2010-04-06
| | | | | | | | For much better modularity.
| * Makefile: Eliminate the separate install-bash and install-zsh targets.Gravatar Carl Worth2010-04-06
| | | | | | | | | | | | Again, simplifying the interface to the Makefile. Installing these files doesn't require bash nor zsh to actually be installed, so there's little harm in just installing them unconditionally.
| * Makefile: Eliminate the "make install-emacs" target.Gravatar Carl Worth2010-04-06
| | | | | | | | | | | | | | | | | | Instead, simply byte-compile the emacs source files as part of "make" and install them as part of "make install". The byte compilation is made conditional on the configure script finding the emacs binary. That way, "make; make install" will still work for someone that doesn't have emacs installed, (which was the only reason we had made a separate "make install-emacs" target in the first place).
| * Makefiles: Eliminate the useless quiet_* functions.Gravatar Carl Worth2010-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the original quiet function, there's an actual purpose (hiding excessively long compiler command lines so that warnings and errors from the compiler can be seen). But with things like quiet_symlink there's nothing quieter. In fact "SYMLINK" is longer than "ln -sf". So all this is doing is hiding the actual command from the user for no real benefit. The only actual reason we implemented the quiet_* functions was to be able to neatly right-align the command name and left-align the arguments. Let's give up on that, and just left-align everything, simplifying the Makefiles considerably. Now, the only instances of a captialized command name in the output is if there's some actually shortening of the command itself.
* | make release: Add "what's new" and "what is notmuch" sections to announcementGravatar Carl Worth2010-04-05
| | | | | | | | | | | | | | For other projects I release, there's a bunch of manual effort in cosntructing the final release-announcement email. That's silly. So automate this by extracting the appropirate text from NEWS and by including a canned piece of the content from README.
* | Makefile: Print template for release announcement.Gravatar Carl Worth2010-04-05
| | | | | | | | | | At the end of "make release" or at any point later with "make release-message".
* | Makefile: Make the "make release" target push the new tag.Gravatar Carl Worth2010-04-05
| | | | | | | | Otherwise I'm sure I'll always forget to push it.
* | Merge commit '0.1'Gravatar Carl Worth2010-04-05
|\| | | | | | | | | | | | | | | This is a merge of the few changes I made to release 0.1 retroactively, (after having incremented the version to 0.1.1). Conflicts: Makefile.local (renamed NOTMUCH_VERSION to VERSION)
| * Makefile: Finish implementing the "make release" target.Gravatar Carl Worth2010-04-05
| | | | | | | | And hopefully it actually works.
| * Makefile: Start implementing a "make release" target.Gravatar Carl Worth2010-04-05
| | | | | | | | | | So far just doing checks that the version is sane and that no release of the same version already exists.
* | Increment version to 0.1.1Gravatar Carl Worth2010-04-05
|/ | | | | After publishing the first notmuch release (0.1) to http://notmuchmail.org/releases .
* Makefile: Add a dist target.Gravatar Carl Worth2010-04-05
| | | | To create a versioned tar file for release.
* Makfiles: Make the top-level targets PHONYGravatar Carl Worth2010-04-05
| | | | Just to avoid any clash with files of the same names.
* Makefile.local: Automatically use makefile modeGravatar David 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 compilingGravatar David 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.Gravatar 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.Gravatar 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)Gravatar 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.Gravatar Carl Worth2010-04-01
| | | | | With a carefully documented description of how to increment the various version components.
* Makefiles: Align the columns of output.Gravatar Carl Worth2010-04-01
| | | | Much better.
* Makefiles: Make the install rules quiet like the compilation rules.Gravatar 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"Gravatar 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.Gravatar 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.localGravatar Carl 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.configGravatar Carl 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.Gravatar 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 ./configureGravatar Ingmar 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.hGravatar Ben Gamari2010-03-31
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* Makefile: Conditionalize the "make install" message.Gravatar Carl Worth2010-03-10
| | | | This is the same approach as with the 'all' target previously.
* Makefile: Simplify the conditional message of the all target.Gravatar 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.Gravatar 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"Gravatar 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.Gravatar 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 ↵Gravatar 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.Gravatar 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 fileGravatar martin 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 executableGravatar Jameson Graef Rollins2009-12-04
|
* Fix quiet compilation to print the user's CFLAGS, CXXFLAGS, LDFLAGS.Gravatar 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.Gravatar 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 supportGravatar Carl 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'.Gravatar 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 messagesGravatar Keith 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 gdbGravatar Chris 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.Gravatar 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.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]