Lua-cURLv3/Makefile

72 lines
1.9 KiB
Makefile

include .config
T=lcurl
UNAME ?= $(shell uname)
DESTDIR ?= /
PKG_CONFIG ?= pkg-config
INSTALL ?= install
RM ?= rm
LUA_IMPL ?= lua
LUA_BIN ?= $(LUA_IMPL)
CC ?= $(MAC_ENV) gcc
LUA_VERSION = $(shell $(PKG_CONFIG) --print-provides $(LUA_IMPL))
ifeq ($(LUA_VERSION),)
LUA_CMOD ?= /usr/lib/lua/5.1
LUA_LMOD ?= /usr/share/lua/5.1
LIBDIR ?= /usr/lib
LUA_INC ?= /usr/include
CURL_LIBS = -L/usr/lib -lcurl
else
LUA_CMOD ?= $(shell $(PKG_CONFIG) --variable INSTALL_CMOD $(LUA_IMPL))
LUA_LMOD ?= $(shell $(PKG_CONFIG) --variable INSTALL_LMOD $(LUA_IMPL))
LIBDIR ?= $(shell $(PKG_CONFIG) --variable libdir $(LUA_IMPL))
LUA_INC ?= $(shell $(PKG_CONFIG) --variable includedir $(LUA_IMPL))
LUA_LIBS = $(shell $(PKG_CONFIG) --libs $(LUA_IMPL))
CURL_LIBS = $(shell $(PKG_CONFIG) --libs libcurl)
endif
ifeq ($(UNAME), Linux)
OS_FLAGS ?= -shared
endif
ifeq ($(UNAME), Darwin)
OS_FLAGS ?= -bundle -undefined dynamic_lookup
MAC_ENV ?= env MACOSX_DEPLOYMENT_TARGET='10.3'
endif
ifeq ($(DEV),)
WARN= -Wall -Wno-unused-value
else
WARN= -Wall -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -pedantic
endif
INCLUDES = -I$(LUA_INC)
DEFINES =
LIBS = -lrt -ldl $(CURL_LIBS)
COMMONFLAGS = -O2 -g -pipe -fPIC $(OS_FLAGS)
LF = $(LIBS) $(LDFLAGS)
CF = $(INCLUDES) $(DEFINES) $(COMMONFLAGS) $(WARN) -DPTHREADS $(CFLAGS)
SCR = src/lua/*.lua
SRCS = src/*.c
BIN = $(T).so
all: $(BIN)
$(BIN): $(SRCS)
$(CC) $(CF) -o $@ $^ $(LF)
install: all
$(INSTALL) -d $(DESTDIR)$(LUA_CMOD) $(DESTDIR)$(LUA_LMOD)
$(INSTALL) $(BIN) $(DESTDIR)$(LUA_CMOD)
$(INSTALL) $(SCR) $(DESTDIR)$(LUA_LMOD)
clean:
rm -f $(BIN)