Makefile 894 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. LUALIB_SRC = ..
  2. LUA_CLIB_DIR = ../../lib/luaclib/
  3. uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
  4. ifeq ($(uname_S), Darwin)
  5. SHARED = -fPIC
  6. CFLAGS = -O3 -Wall -pedantic -DNDEBUG
  7. CJSON_LDFLAGS = -bundle -undefined dynamic_lookup
  8. else
  9. SHARED = -fPIC --shared
  10. CFLAGS = -g -O2 -Wall
  11. endif
  12. # lua
  13. LUA_INC ?= ../../skynet/3rd/lua
  14. # cjson
  15. JSON_DIR = $(LUALIB_SRC)/lua-cjson
  16. JSON_OBJS = $(JSON_DIR)/lua_cjson.o $(JSON_DIR)/strbuf.o $(JSON_DIR)/fpconv.o
  17. JSON_TARGET = cjson.so
  18. all: $(JSON_TARGET)
  19. INSTALL ?= cp
  20. .PHONY: all clean install
  21. .c.o:
  22. $(CC) -c $(SHARED) $(CFLAGS) -I$(LUA_INC) $(BUILD_CFLAGS) -o $@ $<
  23. $(JSON_TARGET): $(JSON_OBJS)
  24. ifeq ($(uname_S), Darwin)
  25. $(CC) $(LDFLAGS) $(CJSON_LDFLAGS) $^ -o $@
  26. else
  27. $(CC) $(CFLAGS) -I$(LUA_INC) $(SHARED) $^ -o $@
  28. endif
  29. clean:
  30. rm -f $(JSON_DIR)/*.o
  31. rm -f $(JSON_DIR)/*.so
  32. install:
  33. $(INSTALL) cjson.so $(LUA_CLIB_DIR)