Makefaile improvements
Signed-off-by: Vadim A. Misbakh-Soloviov <mva@mva.name>
This commit is contained in:
parent
eef74c877b
commit
4340c69bbe
104
Makefile
104
Makefile
@ -1,65 +1,69 @@
|
|||||||
T=lcurl
|
T=lcurl
|
||||||
|
|
||||||
#default installtion prefix
|
UNAME ?= $(shell uname)
|
||||||
PREFIX=/usr/local
|
DESTDIR ?= /
|
||||||
|
PKG_CONFIG ?= pkg-config
|
||||||
|
INSTALL ?= install
|
||||||
|
RM ?= rm
|
||||||
|
LUA_IMPL ?= lua
|
||||||
|
LUA_BIN ?= $(LUA_IMPL)
|
||||||
|
CC ?= $(MAC_ENV) gcc
|
||||||
|
|
||||||
UNAME=$(shell uname)
|
|
||||||
|
|
||||||
ifeq ($(UNAME),Linux) ###########################Linux
|
LUA_VERSION = $(shell $(PKG_CONFIG) --print-provides $(LUA_IMPL))
|
||||||
#try to use luajit
|
ifeq ($(LUA_VERSION),)
|
||||||
LUA_VERSION = $(shell pkg-config luajit --print-provides)
|
LUA_CMOD ?= /usr/lib/lua/5.1
|
||||||
ifeq ($(LUA_VERSION),) ###########################Lua
|
LUA_LMOD ?= /usr/share/lua/5.1
|
||||||
LUA_CFLAGS=-I$(PREFIX)/include
|
LIBDIR ?= /usr/lib
|
||||||
LUA_LIBS=-L$(PREFIX)/lib
|
LUA_INC ?= /usr/include
|
||||||
else ###########################Luajit
|
CURL_LIBS = -L/usr/lib -lcurl
|
||||||
LUA_CFLAGS=$(shell pkg-config luajit --cflags)
|
else
|
||||||
LUA_LIBS=$(shell pkg-config luajit --libs)
|
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
|
endif
|
||||||
|
|
||||||
CURL_CFLAGS=$(shell pkg-config libcurl --cflags)
|
ifeq ($(UNAME), Linux)
|
||||||
CURL_LIBS=$(shell pkg-config libcurl --libs)
|
OS_FLAGS ?= -shared
|
||||||
|
endif
|
||||||
CC= gcc -g -fPIC -shared
|
ifeq ($(UNAME), Darwin)
|
||||||
LIB_OPTION= -lrt -ldl
|
OS_FLAGS ?= -bundle -undefined dynamic_lookup
|
||||||
|
MAC_ENV ?= env MACOSX_DEPLOYMENT_TARGET='10.3'
|
||||||
else #####other platform
|
|
||||||
|
|
||||||
LUA_CFLAGS=-I$(PREFIX)/include
|
|
||||||
LUA_LIBS=-llua5.1
|
|
||||||
CURL_CFLAGS=-I$(PREFIX)/include
|
|
||||||
CURL_LIBS=-L$(PREFIX)/lib -lcurl
|
|
||||||
|
|
||||||
CC= gcc -g -shared $(CFLAGS)
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DEV),)
|
||||||
|
|
||||||
# System's libraries directory (where binary libraries are installed)
|
|
||||||
LUA_LIBDIR= $(PREFIX)/lib/lua/5.1
|
|
||||||
|
|
||||||
# OS dependent
|
|
||||||
|
|
||||||
#LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X
|
|
||||||
LIBNAME= $T.so.$V
|
|
||||||
|
|
||||||
# Compilation directives
|
|
||||||
WARN_MOST= -Wall -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -pedantic
|
|
||||||
WARN= -Wall -Wno-unused-value
|
WARN= -Wall -Wno-unused-value
|
||||||
CFLAGS= $(WARN) -DPTHREADS $(LUA_CFLAGS) $(CURL_CFLAGS)
|
else
|
||||||
CC+= $(CFLAGS)
|
WARN= -Wall -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -pedantic
|
||||||
SRCS=$(shell echo src/*.c)
|
endif
|
||||||
|
|
||||||
all: $T.so
|
INCLUDES = -I$(LUA_INC)
|
||||||
|
DEFINES =
|
||||||
|
LIBS = -lrt -ldl $(CURL_LIBS)
|
||||||
|
|
||||||
$T.so: $(SRCS)
|
COMMONFLAGS = -O2 -g -pipe -fPIC $(OS_FLAGS)
|
||||||
MACOSX_DEPLOYMENT_TARGET="10.3"; export MACOSX_DEPLOYMENT_TARGET; $(CC) $(CFLAGS) -o $T.so $(SRCS) $(CURL_LIBS) $(LUA_LIBS) $(LIB_OPTION)
|
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: all
|
||||||
mkdir -p $(LUA_LIBDIR)
|
$(INSTALL) -d $(DESTDIR)$(LUA_CMOD) $(DESTDIR)$(LUA_LMOD)
|
||||||
cp $T.so $(LUA_LIBDIR)
|
$(INSTALL) $(BIN) $(DESTDIR)$(LUA_CMOD)
|
||||||
|
$(INSTALL) $(SCR) $(DESTDIR)$(LUA_LMOD)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $T.so $(OBJS)
|
rm -f $(BIN)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user