COMPILER = g++ CPPFLAGS = -g -Wall -Ijsoncpp-src-0.5.0-patched/include -Idate/include -O3 # LDFLAGS = -Ljsoncpp-src-0.5.0-patched/libs -ljson_linux_libmt -static JSON_DIR = jsoncpp-src-0.5.0-patched JSON_SRCS = \ $(JSON_DIR)/src/lib_json/json_value.cpp \ $(JSON_DIR)/src/lib_json/json_reader.cpp \ $(JSON_DIR)/src/lib_json/json_writer.cpp SRCS = BinaryIO.cpp Binrec.cpp Channel.cpp crc32.cpp fft.cpp \ FilesystemKVS.cpp KVS.cpp Log.cpp Tile.cpp utils.cpp $(JSON_SRCS) INCLUDES = BinaryIO.h Binrec.h Channel.h ChannelInfo.h crc32.h \ DataSample.h fft.h FilesystemKVS.h KVS.h Log.h Tile.h TileIndex.h ifeq ($(shell uname -s),Linux) LDFLAGS = -static else # Need to build boost libs using macports! LDFLAGS = endif ifneq ($(strip $(FFT_SUPPORT)),) CPPFLAGS += -DFFT_SUPPORT LDFLAGS += -lfftw3 endif # SOURCES=tilegen.cpp mysql_common.cpp MysqlQuery.cpp Channel.cpp Logrec.cpp Tile.cpp utils.cpp Log.cpp INSTALL_BINS=export import gettile info all: $(INSTALL_BINS) test: all make -C test clean: rm -f $(INSTALL_BINS) make -C test clean ARCH:=$(shell uname -s -m | sed 's/ /_/' | tr 'A-Z' 'a-z') install-local: $(INSTALL_BINS) mkdir -p ../website/lib/datastore/$(ARCH) cp $^ ../website/lib/datastore/$(ARCH) install-dev-local: $(INSTALL_BINS) mkdir -p ../website-dev/lib/datastore/$(ARCH) cp $^ ../website-dev/lib/datastore/$(ARCH) install-prod-local: $(INSTALL_BINS) mkdir -p ../website-prod/lib/datastore/$(ARCH) cp $^ ../website-prod/lib/datastore/$(ARCH) install-static: $(INSTALL_BINS) mkdir -p /u/apps/bodytrack/static/$(ARCH) cp $^ /u/apps/bodytrack/static/$(ARCH) install-remote: $(INSTALL_BINS) scp $^ bodytrack2:/u/apps/bodytrack/static/$(ARCH) install-deploy: $(INSTALL_BINS) mkdir -p /u/apps/bodytrack/current/lib/datastore/$(ARCH) rsync -a $^ /u/apps/bodytrack/current/lib/datastore/$(ARCH) install-test-deploy: $(INSTALL_BINS) mkdir -p /u/apps/bodytrack-test/current/lib/datastore/$(ARCH) rsync -a $^ /u/apps/bodytrack-test/current/lib/datastore/$(ARCH) #jsoncpp-src-0.5.0-patched/libs/libjson_libmt.a: # (cd jsoncpp-src-0.5.0-patched && python scons.py platform=linux-gcc && #cd libs && ln -sf linux*/*.a libjson_libmt.a) copy: copy.cpp BinaryIO.cpp BinaryIO.h Binrec.cpp Binrec.h Channel.cpp Channel.h ChannelInfo.h crc32.cpp crc32.h DataSample.h FilesystemKVS.cpp FilesystemKVS.h KVS.cpp KVS.h Log.cpp Log.h Tile.cpp Tile.h TileIndex.h utils.cpp utils.h $(COMPILER) $(CPPFLAGS) -o $@ $^ $(LDFLAGS) # tz timezone library also requires curl library # Omit LDFLAGS so we don't attempt to build a static executable export: export.cpp date/src/tz.cpp $(SRCS) $(INCLUDES) $(COMPILER) $(CPPFLAGS) -I date/include $@.cpp -o $@ date/src/tz.cpp $(SRCS) -lcurl gettile: gettile.cpp $(SRCS) $(INCLUDES) $(COMPILER) $(CPPFLAGS) $@.cpp -o $@ $(SRCS) $(LDFLAGS) IMPORT_SRCS = import.cpp ImportBT.cpp ImportJson.cpp import: $(IMPORT_SRCS) $(SRCS) $(INCLUDES) $(COMPILER) $(CPPFLAGS) $(IMPORT_SRCS) -o $@ $(SRCS) $(LDFLAGS) info: info.cpp $(SRCS) $(INCLUDES) $(COMPILER) $(CPPFLAGS) $@.cpp -o $@ $(SRCS) $(LDFLAGS) docs: doxygen KVS.cpp KVS.h read_bt: Binrec.cpp crc32.cpp DataStore.cpp utils.cpp Log.cpp jsoncpp-src-0.5.0-patched/libs $(COMPILER) -g $(CPPFLAGS) Binrec.cpp crc32.cpp DataStore.cpp utils.cpp -o $@ -L./jsoncpp-src-0.5.0-patched/libs/linux-gcc -ljson_linux-gcc ./read_bt #jsoncpp-src-0.5.0-patched/libs: # cd jsoncpp-src-0.5.0-patched; python scons.py platform=linux-gcc check # cd jsoncpp-src-0.5.0-patched/libs; ln -sf linux-gcc-* linux-gcc # cd jsoncpp-src-0.5.0-patched/libs/linux-gcc; ln -sf libjson_linux-gcc-*.a libjson_linux-gcc.a tilegen: $(SOURCES) $(INCLUDES) $(COMPILER) -g $(CPPFLAGS) $(SOURCES) -o $@ $(LDFLAGS) #-./tilegen tile.8: time curl -b btsession http://localhost:3000/tiles/1/Josh_Basestation.Temperature/8.9835.json > 8.9835.json tile.7: time curl -b btsession http://localhost:3000/tiles/1/Josh_Basestation.Temperature/7.19670.json > 7.19670.json tile.6: time curl -b btsession http://localhost:3000/tiles/1/Josh_Basestation.Temperature/6.39340.json > 6.39340.json tile.0: time curl -b btsession http://localhost:3000/tiles/1/Josh_Basestation.Temperature/0.2517760.json > 0.2517760.json clean-tiles: echo "delete from tiles where ch_name='Josh_Basestation.Temperature';" | /usr/local/mysql/bin/mysql -u root bodytrack-dev login: curl -c btsession http://localhost:3000/login.json -d login=anne -d password=bodytrack