| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- CJSON_VERSION = 1.0.4
- LUA_VERSION = 5.1
- ## Available Lua CJSON specific workarounds
- #
- # To ensure JSON encoding/decoding works correctly for locales using
- # comma decimal separators, Lua CJSON must be compiled with one of
- # these options:
- # USE_POSIX_USELOCALE: Linux, OSX. Thread safe. Recommended option.
- # USE_POSIX_SETLOCALE: Works on all ANSI C platforms. May be used when
- # thread-safety isn't required.
- #
- # USE_INTERNAL_ISINF: Workaround for Solaris platforms missing isinf().
- ## Common build defaults
- PREFIX = /usr/local
- CFLAGS_EXTRA = -DUSE_POSIX_SETLOCALE
- LDFLAGS_EXTRA = -shared
- ## Platform overrides
- #
- # Tweaking one of the platform sections below to suit your situation.
- #
- # See http://lua-users.org/wiki/BuildingModules for further platform
- # specific details.
- ## Linux
- CFLAGS_EXTRA = -DUSE_POSIX_USELOCALE
- ## FreeBSD
- #LUA_INCLUDE_DIR = $(PREFIX)/include/lua51
- ## MacOSX (Macports)
- #PREFIX = /opt/local
- #CFLAGS_EXTRA = -DUSE_POSIX_USELOCALE
- #LDFLAGS_EXTRA = -bundle -undefined dynamic_lookup
- ## Solaris
- #CFLAGS_EXTRA = -DUSE_POSIX_SETLOCALE -DUSE_INTERNAL_ISINF
- ## End platform specific section
- LUA_INCLUDE_DIR ?= $(PREFIX)/include
- LUA_LIB_DIR ?= $(PREFIX)/lib/lua/$(LUA_VERSION)
- #CFLAGS ?= -g -Wall -pedantic -fno-inline
- CFLAGS ?= -O3 -Wall -pedantic
- override CFLAGS += $(CFLAGS_EXTRA) -fpic -I$(LUA_INCLUDE_DIR) -DVERSION=\"$(CJSON_VERSION)\"
- override LDFLAGS += $(LDFLAGS_EXTRA)
- INSTALL ?= install
- .PHONY: all clean install package
- all: cjson.so
- cjson.so: lua_cjson.o strbuf.o
- $(CC) $(LDFLAGS) -o $@ $^
- install:
- $(INSTALL) -d $(DESTDIR)/$(LUA_LIB_DIR)
- $(INSTALL) cjson.so $(DESTDIR)/$(LUA_LIB_DIR)
- clean:
- rm -f *.o *.so
- package:
- git archive --prefix="lua-cjson-$(CJSON_VERSION)/" master | \
- gzip -9 > "lua-cjson-$(CJSON_VERSION).tar.gz"
- git archive --prefix="lua-cjson-$(CJSON_VERSION)/" \
- -o "lua-cjson-$(CJSON_VERSION).zip" master
|