CXX=g++
JSON_VERSION=1.9.0
JSONBASE=jsoncpp
LIBJSON=$(JSONBASE)/src/lib_json
INCLUDES=-I$(JSONBASE)/include
SOURCES=$(LIBJSON)/json_reader.cpp $(LIBJSON)/json_writer.cpp $(LIBJSON)/json_value.cpp
OBJECTS=$(patsubst %.cpp, %.o, $(SOURCES))

.PHONY: all
all :
	if [ ! -e "$(JSONBASE)" ]; then  \
		tar zxvf $(JSONBASE)-${JSON_VERSION}.tar.gz; \
		mv $(JSONBASE)-${JSON_VERSION} $(JSONBASE); \
		cp jsoncpp_version.h.in $(JSONBASE)/include/json/version.h; \
	fi
	make build

build: libjsoncpp.a

libjsoncpp.a : $(OBJECTS)
	ar -crv $@ $(OBJECTS)

$(OBJECTS) : %o : %cpp
	$(CXX) -o $@ -c $< $(INCLUDES)
.PHONY: install
install:
	mkdir -p lib
	cp libjsoncpp.a lib/
	cp -r $(JSONBASE)/include .
.PHONY: uninstall
uninstall:
	rm -rf include
	rm -rf lib
	rm -rf $(JSONBASE)
.PHONY: clean
clean:
	rm -f libjsoncpp.a
	rm -rf $(OBJECTS)
