From 616be8701f18fd38d58d36fd3771e50a6a80a102 Mon Sep 17 00:00:00 2001 From: Mark Pulford Date: Fri, 13 Jan 2012 07:17:48 +1030 Subject: Add make target for cjson.util and scripts Add install-extra make target to install cjson.util module, extra scripts and tests. Use "cp" / "chmod" instead of "install" since they are more portable. --- Makefile | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index b283634..bf2b07f 100644 --- a/Makefile +++ b/Makefile @@ -18,8 +18,9 @@ CFLAGS = -O3 -Wall -pedantic -DNDEBUG CJSON_CFLAGS = -fpic CJSON_LDFLAGS = -shared LUA_INCLUDE_DIR = $(PREFIX)/include -LUA_MODULE_DIR = $(PREFIX)/lib/lua/$(LUA_VERSION) -INSTALL_CMD = install +LUA_CMODULE_DIR = $(PREFIX)/lib/lua/$(LUA_VERSION) +LUA_MODULE_DIR = $(PREFIX)/share/lua/$(LUA_VERSION) +LUA_BIN_DIR = $(PREFIX)/bin ##### Platform overrides ##### ## @@ -45,6 +46,7 @@ INSTALL_CMD = install #PREFIX = /home/user/opt #CJSON_CFLAGS = -DDISABLE_INVALID_NUMBERS #CJSON_LDFLAGS = -shared -L$(PREFIX)/lib -llua51 +#LUA_BIN_SUFFIX = .lua ##### Use built in number conversion (optional) ##### @@ -62,11 +64,18 @@ INSTALL_CMD = install ##### End customisable sections ##### +TEST_FILES = README bench.lua genutf8.pl test.lua octets-escaped.dat \ + example1.json example2.json example3.json example4.json \ + example5.json numbers.json rfc-example1.json \ + rfc-example2.json types.json +DATAPERM = 644 +EXECPERM = 755 + BUILD_CFLAGS = -I$(LUA_INCLUDE_DIR) $(CJSON_CFLAGS) FPCONV_OBJS ?= fpconv.o OBJS := lua_cjson.o strbuf.o $(FPCONV_OBJS) -.PHONY: all clean install package doc +.PHONY: all clean install install-extra doc all: $(TARGET) @@ -79,8 +88,21 @@ $(TARGET): $(OBJS) $(CC) $(LDFLAGS) $(CJSON_LDFLAGS) -o $@ $(OBJS) install: $(TARGET) - mkdir -p $(DESTDIR)/$(LUA_MODULE_DIR) - $(INSTALL_CMD) $(TARGET) $(DESTDIR)/$(LUA_MODULE_DIR) + mkdir -p $(DESTDIR)/$(LUA_CMODULE_DIR) + cp $(TARGET) $(DESTDIR)/$(LUA_CMODULE_DIR) + chmod $(EXECPERM) $(DESTDIR)/$(LUA_CMODULE_DIR)/$(TARGET) + +install-extra: + mkdir -p $(DESTDIR)/$(LUA_MODULE_DIR)/cjson/tests \ + $(DESTDIR)/$(LUA_BIN_DIR) + cp lua/cjson/util.lua $(DESTDIR)/$(LUA_MODULE_DIR)/cjson + chmod $(DATAPERM) $(DESTDIR)/$(LUA_MODULE_DIR)/cjson/util.lua + cp lua/lua2json.lua $(DESTDIR)/$(LUA_BIN_DIR)/lua2json$(LUA_BIN_SUFFIX) + chmod $(EXECPERM) $(DESTDIR)/$(LUA_BIN_DIR)/lua2json$(LUA_BIN_SUFFIX) + cp lua/json2lua.lua $(DESTDIR)/$(LUA_BIN_DIR)/json2lua$(LUA_BIN_SUFFIX) + chmod $(EXECPERM) $(DESTDIR)/$(LUA_BIN_DIR)/json2lua$(LUA_BIN_SUFFIX) + cd tests; cp $(TEST_FILES) $(DESTDIR)/$(LUA_MODULE_DIR)/cjson/tests + cd tests; chmod $(DATAPERM) $(TEST_FILES); chmod $(EXECPERM) *.lua *.pl manual.html: manual.txt asciidoc -n -a toc manual.txt -- cgit v1.2.3-55-g6feb