summaryrefslogtreecommitdiff
path: root/tagstats
diff options
context:
space:
mode:
authorJochen Topf <jochen@topf.org>2013-05-29 14:36:04 +0200
committerJochen Topf <jochen@topf.org>2013-05-29 14:36:04 +0200
commit26193b95353ceffbeb0cca257c1dc7336735b4b6 (patch)
tree657854508edc4d20c8d47ea087790f63ec44cc76 /tagstats
parent17ab242e9c31c1a38a693de6cbb2d6011db344aa (diff)
downloadtaginfo-26193b95353ceffbeb0cca257c1dc7336735b4b6.tar
taginfo-26193b95353ceffbeb0cca257c1dc7336735b4b6.tar.gz
Make Makefiles/run_test more flexible. This should help with compiling under different systems where extra/different command line parameters are needed.
Diffstat (limited to 'tagstats')
-rw-r--r--tagstats/Makefile56
1 files changed, 29 insertions, 27 deletions
diff --git a/tagstats/Makefile b/tagstats/Makefile
index a9916b7..856fb80 100644
--- a/tagstats/Makefile
+++ b/tagstats/Makefile
@@ -3,51 +3,53 @@
# Tagstats Makefile
#
#------------------------------------------------------------------------------
+#
+# You can set several environment variables before running make if you don't
+# like the defaults:
+#
+# CXX - Your C++ compiler.
+# CPLUS_INCLUDE_PATH - Include file search path. This should include the
+# directory where Osmium is.
+# CXXFLAGS - Extra compiler flags.
+# LDFLAGS - Extra linker flags.
+#
+#------------------------------------------------------------------------------
-CXX = g++
-
-#CXXFLAGS = -g
-CXXFLAGS = -O3
-
-CXXFLAGS += -Wall -Wextra -Wredundant-decls -Wdisabled-optimization -pedantic
-
-CXXFLAGS += -DTAGSTATS_COUNT_USERS
-CXXFLAGS += -DTAGSTATS_COUNT_KEY_COMBINATIONS
-CXXFLAGS += -DTAGSTATS_COUNT_TAG_COMBINATIONS
-
-CXXFLAGS += -DTAGSTATS_GEODISTRIBUTION_INT=uint16_t
+CXXFLAGS += -O3
+#CXXFLAGS += -g
+CXXFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
+CXXFLAGS += `../bin/taginfo-config.rb tagstats.cxxflags`
BYID := $(shell ../bin/taginfo-config.rb tagstats.geodistribution)
#BYID := SparseTable
#BYID := MmapFile
#BYID := MmapAnon
-
BYID_LC := $(shell echo $(BYID) | sed -e 's/\([A-Z]\)/_\1/g' | cut -c2- | tr 'A-Z' 'a-z')
BYID_INCL := "<osmium/storage/byid/$(BYID_LC).hpp>"
-CXXFLAGS += -DTAGSTATS_GEODISTRIBUTION_FOR_WAYS=$(BYID)
-CXXFLAGS += -DTAGSTATS_GEODISTRIBUTION_INCLUDE=$(BYID_INCL)
-
-CXXFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-
-CXXFLAGS += `../bin/taginfo-config.rb tagstats.cxxflags`
+CXXFLAGS_FEATURES += -DTAGSTATS_COUNT_USERS
+CXXFLAGS_FEATURES += -DTAGSTATS_COUNT_KEY_COMBINATIONS
+CXXFLAGS_FEATURES += -DTAGSTATS_COUNT_TAG_COMBINATIONS
+CXXFLAGS_FEATURES += -DTAGSTATS_GEODISTRIBUTION_INT=uint16_t
+CXXFLAGS_FEATURES += -DTAGSTATS_GEODISTRIBUTION_FOR_WAYS=$(BYID)
+CXXFLAGS_FEATURES += -DTAGSTATS_GEODISTRIBUTION_INCLUDE=$(BYID_INCL)
-LIB_EXPAT = -lexpat
-LIB_GD = -lgd -lz -lm
-LIB_PBF = -lz -lpthread -lprotobuf-lite -losmpbf
-LIB_SQLITE = -lsqlite3
+CXXFLAGS_WARNINGS := -Wall -Wextra -Wredundant-decls -Wdisabled-optimization -pedantic
-LDFLAGS = $(LIB_EXPAT) $(LIB_PBF) $(LIB_GD) $(LIB_SQLITE)
+LIB_EXPAT := -lexpat
+LIB_PBF := -lz -lpthread -lprotobuf-lite -losmpbf
+LIB_GD := -lgd -lz -lm
+LIB_SQLITE := -lsqlite3
-.PHONY: all clean install
+.PHONY: all check indent install clean
all: tagstats osmstats
osmstats: osmstats.cpp statistics_handler.hpp
- $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS)
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_WARNINGS) -o $@ $< $(LDFLAGS) $(LIB_EXPAT) $(LIB_PBF) $(LIB_SQLITE)
tagstats: tagstats.cpp tagstats_handler.hpp statistics_handler.hpp string_store.hpp geodistribution.hpp
- $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS)
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_WARNINGS) $(CXXFLAGS_FEATURES) -o $@ $< $(LDFLAGS) $(LIB_EXPAT) $(LIB_PBF) $(LIB_SQLITE) $(LIB_GD)
check:
cppcheck --enable=all tagstats.cpp osmstats.cpp