blob: 4205adc9e588b6c65c0a124615b45df0b2fa25b7 (
plain) (
tree)
|
|
.PHONY: build install clean
SHELL := /bin/bash
BUILD_DIR := $(CURDIR)/build
INC_PATH := $(LUA_BINDIR)/../include/nerv/luaT
LUA_DIR = $(INST_LUADIR)/threads
LIB_PATH := $(LUA_BINDIR)/../lib
OBJ_DIR := $(BUILD_DIR)/objs
SUBDIR := lib test
OBJS := lib/init.o lib/threads.o lib/THThread.o
LIBS := $(INST_LIBDIR)/libthreads.so
LUA_LIBS := init.lua threads.lua test/test-threads.lua
INCLUDE := -I $(LUA_INCDIR) -I $(INC_PATH) -DLUA_USE_APICHECK -DUSE_PTHREAD_THREADS
OBJS := $(addprefix $(OBJ_DIR)/,$(OBJS))
OBJ_SUBDIR := $(addprefix $(OBJ_DIR)/,$(SUBDIR))
LUA_SUBDIR := $(addprefix $(LUA_DIR)/,$(SUBDIR))
LUA_LIBS := $(addprefix $(LUA_DIR)/,$(LUA_LIBS))
CFLAGS := -Wall -Wextra -O0
build: $(OBJ_DIR) $(OBJ_SUBDIR) $(OBJS)
install: $(LUA_DIR) $(LUA_SUBDIR) $(LIBS) $(LUA_LIBS)
$(OBJ_DIR) $(LUA_DIR) $(OBJ_SUBDIR) $(LUA_SUBDIR):
-mkdir -p $@
$(LUA_DIR)/%.lua: %.lua
cp $< $@
$(OBJ_DIR)/%.o: %.c $(patsubst /%.o,/%.c,$@)
gcc -c -o $@ $< $(INCLUDE) -fPIC $(CFLAGS)
$(LIBS): $(OBJS)
gcc -shared -o $@ $^ $(LDFLAGS) -Wl,-rpath=$(LIB_PATH) -L$(LIB_PATH) -lnervcore -lluaT -lpthread
cp $@ $(LIB_PATH)/
clean:
-rm -rf $(OBJ_DIR)
|