From 26193b95353ceffbeb0cca257c1dc7336735b4b6 Mon Sep 17 00:00:00 2001 From: Jochen Topf Date: Wed, 29 May 2013 14:36:04 +0200 Subject: Make Makefiles/run_test more flexible. This should help with compiling under different systems where extra/different command line parameters are needed. --- tagstats/Makefile | 56 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 27 deletions(-) (limited to 'tagstats') 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 := "" -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 -- cgit v1.2.3