aboutsummaryrefslogtreecommitdiff
path: root/Makefile.local
Commit message (Collapse)AuthorAge
...
* Makefile: Improve the "what to do now" message from "make install"Carl Worth2010-06-01
| | | | | | | | This was already telling the user how to run notmuch within emacs, but not how to just run the notmuch command-line interface, (which, as it turns out, is a prerequisite for running the emacs interface anyway). So add a small paragraph here.
* make release: Add Debian package building and upload0.2Carl Worth2010-04-16
| | | | Finally, a single button to push to do all the uploading.
* make release: Add a check that version and debian/changelog are consistentCarl Worth2010-04-16
| | | | | | | Eventually I'd like to automate this so that one or the other of these files is canonical and the other is generated from it. Until then, add this check to the release process to avoid a skewed release being shipped.
* Makefile: Avoid complaining about .first-build-message not existingCarl Worth2010-04-16
| | | | This cleans up a few spurious warnings from the build.
* Fix final link of notmuch binary to use C compiler if possible.Carl Worth2010-04-16
| | | | | | | | | On Linux, a C program that depends on a C library which in turn depends on a C++ can be linked with the C compiler, (avoiding a direct link from the program to the C++ runtime libraries). Other platforms with less fancy linkers need to use the C++ compiler for this linking.
* Makefile: Fix conditionals to avoid calling git when no .git is presentCarl Worth2010-04-16
| | | | | Otherwise, building from a tar-file snapshot or release caused a bunch of error messages from unnecessary git invocations.
* Makefile: Add a top-level "make snapshot" target.Carl Worth2010-04-16
| | | | | | Useful for verifying that our tar-file creation works. The tar-file name can't easily be used as a target directly since it depends on the current git revision.
* Makefile: Rework the version checks slightly.Carl Worth2010-04-16
| | | | | | Theese were previously pointing to "make VERSION=X.Y release", but we've recently changed to an alternate scheme involving the updated version in a file named "version".
* Makefile: Add an explicit version file to the repository.Carl Worth2010-04-16
| | | | | | | | | | | | | | | | | We do this so that "git archive" produces a usable tar file without us having to post-modify it, (since tools like git-buildpackage might not give us an easy way to hook into the tar-file-creation step). To support this we also have to change our preference to prefer the git-described-based version (if available) and only if not available do we fallback to using what's in the "version" file. Finally, we also ovverride this preference when releasing, (where what's in the "version" file wins). Note that using our Makefile's rule to create a tar file still will insert the git-based version into the tar file. This is useful for creating snapshots which will correctly report the git version from which they were created.
* make release: Don't print the release message on stdout.Carl Worth2010-04-16
| | | | | It's just too long for copy/paste, so just let the user know the name of the file containing the message instead.
* Makefile: Fix "make release" to print the current release announcement.Carl Worth2010-04-16
| | | | This was accidentally hard-coded to always print the 0.1 NEWS blurb.
* make release: Enforce a clean source tree before release.Carl Worth2010-04-15
| | | | | Where by clean, we check that no files are known to git to be modified.
* make release: Provide a kinder message when VERSION is forgotten.Carl Worth2010-04-15
| | | | | I'm unlikely to always remember to pass VERSION=X.Y so it's nice for make release to remind me.
* Makefile: Re-order the commands in "make release" slightly.Carl Worth2010-04-15
| | | | | | | | | | | We put verify-version as a dependency, not a recursive action to keep its output clean, (I know that I will always type "make release" instead of "make VERSION=X.Y release" so I want a nice, neat reminder). Also, put the various ssh-based commands together, and after the build, (so that it doesn't ask for a password/passphrase both before and after building).
* Makefile: Simplify the release targets.Carl Worth2010-04-15
| | | | | | | | | | | | | Previously, we had a separate release-upload target that a user might mistake as something useful to call directly, (which would have the undesired effect or uploading a new package, but without first making all the checks that we want). So we eliminate that target, (folding its actions into "make release"), and we also rename the several release-verify-foo targets to simply verify-foo. This leaves as the only targets with "release" in the name as "release" and "release-message". Both of these are intended for the user to call directly.
* Makefile.local: Fix typo in comment.Carl Worth2010-04-15
| | | | Just an extra word that clearly didn't belong.
* Makefile: Make "make release" run the test suite.Carl Worth2010-04-15
| | | | | This drops one manual step from our release process, (helping to ensure we don't forget anything during the release).
* Makefile: Add a "make test" target.Carl Worth2010-04-15
| | | | | | | I just wasted far too much time looking for a bug that wasn't actually there only because I hadn't recompiled before running the test suite. Now we can take advantage of actual dependency information to force a rebuild for "make test".
* Makefile: Fix final linking of notmuch binary for OS X.Carl Worth2010-04-14
| | | | | | | | | | | | Apparently the OS X linker can't resolve symbols when linking a program (notmuch) against a library (libnotmuch) when the library depends on another library (libgmime) that the program doesn't depend on directly. For this case, we need to link the program directly against both libraries, but we don't want to do this on Linux, where the linker can do this on its own and the explicit, unneeded link would cause problems.
* Add infrastructure for building shared library on OS X.Aaron Ecay2010-04-14
| | | | | | | | This patch adds a configure check for OS X (actually Darwin), and sets up the Makefiles to build a proper shared library on that platform. Signed-off-by: Aaron Ecay <aaronecay@gmail.com>
* Makefile: Move compat sources from the client code to the library.Carl Worth2010-04-14
| | | | Since the library code needs these as well.
* Makefile: Move include of Makefile.config up from Makefile.localCarl Worth2010-04-14
| | | | | | | The recent change to include sub-directory Makefile.local files before the top-level Makefile.local means that we need to include the Makefile.config before those. So move it up from Makefile.local to Makefile.
* Fix up Makefile for build.Aaron Ecay2010-04-14
| | | | | | | | | | | Must set extra_c(xx)flags before including subdir Makefile.local's, so that there is a blank slate that the subdirs can add on to. Must include subdir Makefile.local's before global one, otherwise the compat sources are not added to the list of those to be compiled. Signed-off-by: Aaron Ecay <aaronecay@gmail.com>
* Use C++ compiler to link notmuch binariesAaron Ecay2010-04-14
| | | | | | | Since the binaries contain C++ code, it is necessary to use the C++ linker, or errors result on some platforms (OS X). Signed-off-by: Aaron Ecay <aaronecay@gmail.com>
* Decode headers in replyMichal Sojka2010-04-13
| | | | | | | | | | | | | | When headers contain non-ASCII characters, they are encoded according to rfc2047. Nomtuch reply command emits the headers in the encoded form, which makes them hard to read by humans who compose the reply. For example instead of "Subject: Re: Rozlučka" one currently sees "Subject: Re: =?iso-8859-2?q?Rozlu=E8ka?=". This patch adds a new GMime filter which is used to decode headers to UTF-8 and uses this filter when notmuch reply outputs headers. Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
* Derive version numbers from gitMichal 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'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.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)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 optionCarl Worth2010-04-06
| | | | | | | | Again, nothing tricky here.
| * Makefile: Move the completion-specific commands to completion/Makefile.localCarl Worth2010-04-06
| | | | | | | | For much better modularity.
| * Makefile: Eliminate the separate install-bash and install-zsh targets.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.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.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 announcementCarl 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.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.Carl Worth2010-04-05
| | | | | | | | Otherwise I'm sure I'll always forget to push it.
* | Merge commit '0.1'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.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.
* | Increment version to 0.1.1Carl Worth2010-04-05
|/ | | | | After publishing the first notmuch release (0.1) to http://notmuchmail.org/releases .
* 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.