94 lines
1.9 KiB
Makefile
94 lines
1.9 KiB
Makefile
|
|
# 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"
|