1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
lib.name = purest_json
OBJECTS = rest.c oauth.c json-decode.c json-encode.c urlparams.c
PDOBJECTS =
EXAMPLES = purest-json-test.pd the-sound-of-money.pd twitter-client.pd binary-test.pd
EXTRA_DIST = README.md LICENSE.txt Changelog.txt test.json
HELPPATCHES = json-help.pd urlparams-help.pd rest-help.pd
UNITTESTS =
datafiles = $(EXTRA_DIST) $(HELPPATCHES)
examplefiles = $(addprefix examples/, $(EXAMPLES))
class.sources = $(addprefix src/, $(OBJECTS))
uthash = src/uthash/src
# creating deken package
deken.bits = 32
deken.ext = dek
deken.pack = zip -9 -r
deken.tmp = deken-tmp
deken.folder = $(lib.name)
deken.dependencies =
multi_cflags =
ifeq ($(multi), true)
multi_cflags = -DPDINSTANCE
endif
cflags += -DVERSION='"$(lib.version)"' -I"$(uthash)" -std=c99 $(multi_cflags)
ldflags =
ldlibs = -lcurl -ljson-c -loauth
define forWindows
ldlibs += -lpthread -lm -lwldap32 -lssl -lssh2 -lbcrypt -lgcrypt -lgpg-error \
-lcrypto -lws2_32 -lgdi32 -lcrypt32 -lz -lidn2 -lunistring \
-latomic -lintl -liconv -lcharset
cflags += -mthreads -DCURL_STATICLIB
endef
define forDarwin
ldflags = $(patsubst %,-L%,$(wildcard /opt/homebrew/lib))
ldflags += "-L/usr/local/opt/curl/lib"
cflags += "-I/usr/local/opt/curl/include"
deken.dependencies = *.dylib
endef
define forLinux
deken.dependencies = *.so*
endef
lib.setup.sources = src/purest_json.c
PDLIBBUILDER_DIR=pd-lib-builder
include $(PDLIBBUILDER_DIR)/Makefile.pdlibbuilder
space := $(subst ,, )
deken.systems := $(foreach m,$(machine),($(system)-$(m)-$(deken.bits)))
deken.systemscleaned := $(subst $(space),,$(deken.systems))
deken.file := $(lib.name)[v$(lib.version)]$(deken.systemscleaned)
deken:
mkdir -p "$(deken.tmp)"
mkdir -p "$(deken.tmp)/$(deken.folder)"
cp $(executables) $(deken.dependencies) "$(deken.tmp)/$(deken.folder)/"
cp $(datafiles) "$(deken.tmp)/$(deken.folder)/"
mkdir -p "$(deken.tmp)/$(deken.folder)/examples"
cp -r manual "$(deken.tmp)/$(deken.folder)/"
cp $(examplefiles) "$(deken.tmp)/$(deken.folder)/examples"
cd "$(deken.tmp)"; \
$(deken.pack) "$(deken.file).$(deken.ext)" "$(deken.folder)"; \
rm -rf "$(deken.folder)"; \
mv "$(deken.file).$(deken.ext)" ..; \
clobber: clean
rm -f $(deken.dependencies)
|