# cppjson/Makefile # This will build for all platforms except iOS (XCode is used) # include ../masterbuild/platform.mk CFLAGS = #-I../ionu-boost #${DEF_CFLAGS} LDFLAGS = #${DEF_LDFLAGS} CC = g++ # linking stuff LIBDIRS = -L. LIBS = lib/${PLATFORM}/libjsonobject.a EXECLIBS = -lm STATICLIBS = -lm # platform dependent libraries and flags ifeq (${PLATFORM},Darwin) LIBRARIES = LDFLAGS = ${LIBDIRS} -std=gnu++11 #-stdlib=libc++ CFLAGS += -DLINUX -I/usr/local/include -I/opt/local/include CPPFLAGS = ${CFLAGS} ${PLATFORMFLAGS} -fPIC -std=gnu++11 #-stdlib=libc++ LD = ${CPP11} else LIBRARIES = -lstdc++ LDFLAGS += ${LIBDIRS} -L/usr/local/lib -std=c++11 CFLAGS += -DLINUX -I/usr/local/include CPPFLAGS = ${CFLAGS} -fPIC -std=c++11 -Wno-unused-local-typedefs LD = ${CPP11} endif OBJS = obj/${PLATFORM}/jsonobject.o \ obj/${PLATFORM}/json.o docs: ifeq (${UNAME},Linux) doxygen cppjson.dox cd lib/docs/html; jar -cvf ../cppjson.docs.jar * endif all: showconfig init ${LIBS} @echo all compile: all @echo compile libs: ${LIBS} analyze: obj/${PLATFORM}/jsonobject.o: jsonobject.cpp jsonobject.h json.h ${CC} ${CPPFLAGS} -c jsonobject.cpp -o $*.o obj/${PLATFORM}/json.o: json.cpp json.h ${CC} ${CPPFLAGS} -c json.cpp -o $*.o ${LIBS}: init ${OBJS} @echo libs ${LIBS} rm -f ${LIBS} ; ar -cr ${LIBS} ${OBJS} clean: @echo clean rm -f ${LIBS} rm -f ${OBJS} rm -f bin/${PLATFORM}/* testjson: testjson/testjson.cpp ${LIBS} @echo testapi ${CC} ${CPPFLAGS} -fopenmp -o bin/${PLATFORM}/testjson testjson/testjson.cpp lib/${PLATFORM}/jsonobject.a ${LDFLAGS} testC: ${LIBS} testjson @echo "\n\n*** testjson ***" ./bin/${PLATFORM}/testjson ifeq (${PLATFORM},Darwin) test: @echo Tests disabled for Darwin because of openmp else test: testC @echo "\n\nTESTS SUCCESSFUL!" endif package: @echo "Nothing to package" install: all docs @echo "installed" deploy: install @echo "nothing to deploy"