1DEBUG = 0 2LIBRETRODB_DIR := ../ 3LIBRETRO_COMMON_DIR := ../../libretro-common 4INCFLAGS = -I. -I$(LIBRETRODB_DIR) -I$(LIBRETRO_COMMON_DIR)/include 5 6TARGETS = rmsgpack_test libretrodb_tool lua_converter 7 8ifeq ($(DEBUG), 1) 9CFLAGS = -g -O0 -Wall 10else 11CFLAGS = -g -O2 -Wall -DNDEBUG 12endif 13 14LUA_CONVERTER_C = \ 15 $(LIBRETRODB_DIR)/rmsgpack.c \ 16 $(LIBRETRODB_DIR)/rmsgpack_dom.c \ 17 lua_common.c \ 18 $(LIBRETRODB_DIR)/libretrodb.c \ 19 $(LIBRETRODB_DIR)/bintree.c \ 20 $(LIBRETRODB_DIR)/query.c \ 21 lua_converter.c \ 22 $(LIBRETRO_COMMON_DIR)/compat/compat_fnmatch.c \ 23 $(LIBRETRO_COMMON_DIR)/streams/file_stream.c \ 24 $(LIBRETRO_COMMON_DIR)/compat/compat_strl.c 25 26LUA_CONVERTER_OBJS := $(LUA_CONVERTER_C:.c=.o) 27 28RARCHDB_TOOL_C = \ 29 $(LIBRETRODB_DIR)/rmsgpack.c \ 30 $(LIBRETRODB_DIR)/rmsgpack_dom.c \ 31 $(LIBRETRODB_DIR)/libretrodb_tool.c \ 32 $(LIBRETRODB_DIR)/bintree.c \ 33 $(LIBRETRODB_DIR)/query.c \ 34 ($LIBRETRODB_DIR)/libretrodb.c \ 35 $(LIBRETRO_COMMON_DIR)/compat/compat_fnmatch.c \ 36 $(LIBRETRO_COMMON_DIR)/streams/file_stream.c \ 37 $(LIBRETRO_COMMON_DIR)/compat/compat_strl.c 38 39RARCHDB_TOOL_OBJS := $(RARCHDB_TOOL_C:.c=.o) 40 41TESTLIB_C = \ 42 testlib.c \ 43 $(LIBRETRODB_DIR)/query.c \ 44 ($LIBRETRODB_DIR)/libretrodb.c \ 45 $(LIBRETRODB_DIR)/bintree.c \ 46 $(LIBRETRODB_DIR)/rmsgpack.c \ 47 $(LIBRETRODB_DIR)/rmsgpack_dom.c \ 48 $(LIBRETRO_COMMON_DIR)/compat/compat_fnmatch.c \ 49 $(LIBRETRO_COMMON_DIR)/streams/file_stream.c \ 50 $(LIBRETRO_COMMON_DIR)/compat/compat_strl.c 51 52TESTLIB_OBJS := $(TESTLIB_C:.c=.o) 53 54RMSGPACK_C = \ 55 $(LIBRETRODB_DIR)/rmsgpack.c \ 56 $(LIBRETRODB_DIR)/rmsgpack_test.c \ 57 $(LIBRETRO_COMMON_DIR)/streams/file_stream.c 58 59RMSGPACK_OBJS := $(RMSGPACK_C:.c=.o) 60 61LUA_FLAGS = `pkg-config lua --libs` 62TESTLIB_FLAGS = $(CFLAGS) $(LUA_FLAGS) -shared -fpic 63 64.PHONY: all clean check 65 66all: $(TARGETS) 67 68%.o: %.c 69 $(CC) $(INCFLAGS) $< -c $(CFLAGS) -o $@ 70 71lua_converter: $(LUA_CONVERTER_OBJS) 72 $(CC) $(INCFLAGS) $(LUA_CONVERTER_OBJS) $(LUA_FLAGS) -o $@ 73 74libretrodb_tool: $(RARCHDB_TOOL_OBJS) 75 $(CC) $(INCFLAGS) $(RARCHDB_TOOL_OBJS) -o $@ 76 77rmsgpack_test: $(RMSGPACK_OBJS) 78 $(CC) $(INCFLAGS) $(RMSGPACK_OBJS) -g -o $@ 79 80testlib.so: CFLAGS += -fPIC 81testlib.so: clean $(TESTLIB_OBJS) 82 $(CC) $(INCFLAGS) $(TESTLIB_FLAGS) $(TESTLIB_OBJS) -o $@ 83 84check: testlib.so lua/tests.lua 85 lua ./lua/tests.lua 86 87clean: 88 rm -rf $(TARGETS) $(LUA_CONVERTER_OBJS) $(C_CONVERTER_OBJS) $(RARCHDB_TOOL_OBJS) $(RMSGPACK_OBJS) $(TESTLIB_OBJS) testlib.so 89