The map::at method does not always exist, so instead use map::find.
[cumulus.git] / Makefile
index 392c3da..bf6561c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,18 +1,28 @@
 PACKAGES=sqlite3 uuid
-DEBUG=-g #-pg
+DEBUG=-g
 CXXFLAGS=-O -Wall -D_FILE_OFFSET_BITS=64 $(DEBUG) \
-        `pkg-config --cflags $(PACKAGES)`
-LDFLAGS=$(DEBUG) -ltar `pkg-config --libs $(PACKAGES)`
+        $(shell pkg-config --cflags $(PACKAGES)) \
+        -DCUMULUS_VERSION=$(shell cat version)
+LDFLAGS=$(DEBUG) $(shell pkg-config --libs $(PACKAGES))
 
-SRCS=format.cc localdb.cc ref.cc scandir.cc sha1.cc statcache.cc store.cc
+SRCS=chunk.cc localdb.cc metadata.cc ref.cc remote.cc scandir.cc sha1.cc \
+     store.cc subfile.cc util.cc
 OBJS=$(SRCS:.cc=.o)
 
-lbs : $(OBJS)
+cumulus : $(OBJS)
        $(CXX) $(LDFLAGS) -o $@ $^
 
-dep:
+version : NEWS
+       (git describe || (head -n1 NEWS | cut -d" " -f1)) >version 2>/dev/null
+$(OBJS) : version
+
+clean :
+       rm -f $(OBJS) cumulus version
+
+dep :
        touch Makefile.dep
        makedepend -fMakefile.dep $(SRCS)
 
--include *.dep
+.PHONY : clean dep
 
+-include *.dep