forked from zhaozg/lua-openssl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
85 lines (71 loc) · 2.85 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
T=openssl
PREFIX ?=/usr/local
LIB_OPTION ?= -shared
#Lua auto detect
LUA_VERSION ?= $(shell pkg-config luajit --print-provides)
ifeq ($(LUA_VERSION),) ############ Not use luajit
LUAV ?= $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")
LUA_CFLAGS ?= -I$(PREFIX)/include/lua$(LUAV)
LUA_LIBS ?= -L$(PREFIX)/lib
LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUAV)
else
LUAV ?= $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")
LUA_CFLAGS ?= $(shell pkg-config luajit --cflags)
LUA_LIBS ?= $(shell pkg-config luajit --libs)
LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUAV)
endif
#OS auto detect
SYS := $(shell gcc -dumpmachine)
ifneq (, $(findstring linux, $(SYS)))
# Do linux things
LDFLAGS = -fPIC -lrt -ldl
OPENSSL_LIBS ?= $(shell pkg-config openssl --libs)
OPENSSL_CFLAGS ?= $(shell pkg-config openssl --cflags)
CFLAGS = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
endif
ifneq (, $(findstring apple, $(SYS)))
# Do darwin things
LDFLAGS = -fPIC -lrt -ldl
OPENSSL_LIBS ?= $(shell pkg-config openssl --libs)
OPENSSL_CFLAGS ?= $(shell pkg-config openssl --cflags)
CFLAGS = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
endif
ifneq (, $(findstring mingw, $(SYS)))
# Do mingw things
V = $(shell lua -e "v=string.gsub('$(LUAV)','%.','');print(v)")
LDFLAGS = -mwindows -lcrypt32 -lssl -lcrypto -lws2_32 $(PREFIX)/bin/lua$(V).dll
LUA_CFLAGS = -DLUA_LIB -DLUA_BUILD_AS_DLL -I$(PREFIX)/include/
CFLAGS = $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
endif
ifneq (, $(findstring cygwin, $(SYS)))
# Do cygwin things
OPENSSL_LIBS ?= $(shell pkg-config openssl --libs)
OPENSSL_CFLAGS ?= $(shell pkg-config openssl --cflags)
CFLAGS = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
endif
#custome config
ifeq (.config, $(wildcard .config))
include .config
endif
LIBNAME= $T.so.$V
#LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X
# Compilation directives
WARN_MOST = -Wall -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -pedantic
WARN = -Wall -Wno-unused-value
WARN_MIN =
CFLAGS += $(WARN_MIN) -DPTHREADS
CC= gcc -g $(CFLAGS) -Ideps
OBJS=src/asn1.o src/auxiliar.o src/bio.o src/cipher.o src/cms.o src/compat.o src/crl.o src/csr.o src/dh.o src/digest.o src/dsa.o \
src/ec.o src/engine.o src/hmac.o src/lbn.o src/lhash.o src/misc.o src/ocsp.o src/openssl.o src/ots.o src/pkcs12.o src/pkcs7.o \
src/pkey.o src/rsa.o src/ssl.o src/th-lock.o src/util.o src/x509.o src/xattrs.o src/xexts.o src/xname.o src/xstore.o src/callback.o
.c.o:
$(CC) -c -o $@ $?
all: $T.so
echo $(SYS)
$T.so: $(OBJS)
MACOSX_DEPLOYMENT_TARGET="10.3"; export MACOSX_DEPLOYMENT_TARGET; $(CC) $(CFLAGS) $(LIB_OPTION) -o $T.so $(OBJS) $(OPENSSL_LIBS) $(LUA_LIBS) $(LDFLAGS)
install: all
mkdir -p $(LUA_LIBDIR)
cp $T.so $(LUA_LIBDIR)
clean:
rm -f $T.so $(OBJS)