X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=Makefile;h=a9d91d8667ad83e49b018c6c80e79be2cccd9cd3;hp=614c57600917cc6e25559ee7147962f8e6460a37;hb=3cdb24d38aaa4cf043526a946e0a4ae290a6881d;hpb=11f99eb8eac3206f200a40a536ff3657ba577594 diff --git a/Makefile b/Makefile index 614c5760..a9d91d86 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,55 @@ -PROGS=g_mime_test xapian-dump +PROGS=notmuch -MYCFLAGS=-Wall -MYCXXFLAGS=-Wall +WARN_FLAGS=-Wall -Wextra -Wmissing-declarations -Wwrite-strings -Wswitch-enum + +NOTMUCH_DEPENDS_FLAGS=-I./lib `pkg-config --cflags glib-2.0 gmime-2.4 talloc` +NOTMUCH_CXX_DEPENDS_FLAGS=$(NOTMUCH_DEPENDS_FLAGS) `xapian-config --cxxflags` + +NOTMUCH_CFLAGS=$(WARN_FLAGS) -O0 -g $(NOTMUCH_DEPENDS_FLAGS) +NOTMUCH_CXXFLAGS=$(WARN_FLAGS) -O0 -g $(NOTMUCH_CXX_DEPENDS_FLAGS) + +NOTMUCH_LDFLAGS=`pkg-config --libs glib-2.0 gmime-2.4 talloc` \ + `xapian-config --libs` + +LIBRARY= \ + lib/database.o \ + lib/index.o \ + lib/libsha1.o \ + lib/message.o \ + lib/message-file.o \ + lib/query.o \ + lib/sha1.o \ + lib/tags.o \ + lib/thread.o \ + lib/xutil.o + +MAIN= \ + notmuch.o all: $(PROGS) -g_mime_test: g_mime_test.c - $(CC) $(CFLAGS) $(MYCFLAGS) g_mime_test.c `pkg-config --cflags --libs gmime-2.4` -o g_mime_test +%.o: %.cc + $(CXX) -c $(CFLAGS) $(CXXFLAGS) $(NOTMUCH_CXXFLAGS) $< -o $@ + +%.o: %.c + $(CC) -c $(CFLAGS) $(NOTMUCH_CFLAGS) $< -o $@ + +notmuch: $(MAIN) $(LIBRARY) + $(CC) $(NOTMUCH_LDFLAGS) $^ -o $@ + +.depends: *.c lib/*.c lib/*.cc + $(CXX) -M $(CPPFLAGS) $(NOTMUCH_DEPENDS_FLAGS) \ + $(NOTMUCH_CXX_DEPENDS_FLAGS) $^ > $@ +-include .depends + +notmuch.1.gz: + gzip --stdout notmuch.1 > notmuch.1.gz -xapian-dump: xapian-dump.cc - $(CXX) $(CXXFLAGS) $(MYCXXFLAGS) xapian-dump.cc `xapian-config --libs --cxxflags` -o xapian-dump +install: all notmuch.1.gz + install -C -D notmuch $(DESTDIR)/usr/bin/notmuch + install -C -D notmuch.1.gz $(DESTDIR)/usr/share/man/man1 + install -C -D notmuch-completion.bash \ + $(DESTDIR)/etc/bash_completion.d/notmuch clean: - rm -f $(PROGS) + rm -f $(PROGS) lib/*.o *.o .depends