-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
67 lines (54 loc) · 2.34 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
INST_PREFIX ?= /usr
INST_LIBDIR ?= $(INST_PREFIX)/lib/lua/5.1
INST_LUADIR ?= $(INST_PREFIX)/share/lua/5.1
INSTALL ?= install
LUA_INCDIR ?= /usr/local/openresty/luajit/include/luajit-2.1/
LUAJIT_DIR = /usr/local/openresty/luajit
OPENSSL_DIR ?= /usr/local/openresty/openssl111
XMLSEC_VER = 1.2.28
CC = gcc
CFLAGS_SAML = -g -fPIC -O2 -fcommon
XMLSEC1_CFLAGS = -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_SIZE_T -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -Ixmlsec1-$(XMLSEC_VER)/include/ -I/usr/include/libxml2 -DXMLSEC_CRYPTO_OPENSSL=1 -I$(OPENSSL_DIR)/include
CFLAGS_ALL=$(CFLAGS_SAML) -Wall -Werror -std=c99 $(XMLSEC1_CFLAGS)
LIBFLAG = -shared
LDFLAGS = -g -O2
XMLSEC1_STATIC_LIBS = xmlsec1-$(XMLSEC_VER)/./src/openssl/.libs/libxmlsec1-openssl.a xmlsec1-$(XMLSEC_VER)/./src/.libs/libxmlsec1.a
XMLSEC1_LDFLAGS = -Wl,--whole-archive $(XMLSEC1_STATIC_LIBS) -Wl,--no-whole-archive -L$(OPENSSL_DIR)/lib/ -lxml2 -lssl -lcrypto -ldl -lxslt -Wl,-rpath $(OPENSSL_DIR)/lib
LDFLAGS_ALL = $(LIBFLAG) $(LDFLAGS) $(XMLSEC1_LDFLAGS)
### build: build from source
.PHONY: build
build: $(XMLSEC1_STATIC_LIBS) saml.so
$(XMLSEC1_STATIC_LIBS):
wget https://github.com/api7/xmlsec-fork/releases/download/$(XMLSEC_VER)/xmlsec1-$(XMLSEC_VER).tar.gz
tar zxf xmlsec1-$(XMLSEC_VER).tar.gz
cd xmlsec1-$(XMLSEC_VER); CFLAGS="-std=c99" ./configure --with-openssl=$(OPENSSL_DIR)/ --with-pic --disable-crypto-dl --disable-apps-crypto-dl; make
### test: nginx test
.PHONY: test
test: build deps/
prove -r t/
.PHONY: clean
clean:
rm -rf *.so *.o xmlsec1-$(XMLSEC_VER)*
saml.o: src/*.c
$(CC) -c $(CFLAGS_ALL) -o saml.o src/saml.c
lua_saml.o: src/lua_saml.c
$(CC) -c $(CFLAGS_ALL) -I$(LUA_INCDIR) -Isrc/ -o $@ $<
saml.so: lua_saml.o saml.o
$(CC) -o $@ $^ $(LDFLAGS_ALL)
### install: Install the library to runtime
.PHONY: install
install:
$(INSTALL) -d $(INST_LUADIR)/resty/
$(INSTALL) lua/resty/*.lua $(INST_LUADIR)/resty/
$(INSTALL) -d $(INST_LIBDIR)/
$(INSTALL) saml.so $(INST_LIBDIR)/
$(INSTALL) -d $(INST_LUADIR)/resty/saml/xsd/
$(INSTALL) xsd/* $(INST_LUADIR)/resty/saml/xsd/
deps/:
luarocks install --lua-dir=$(LUAJIT_DIR) rockspec/lua-resty-saml-main-0-0.rockspec --tree=deps --only-deps --local
### help: Show Makefile rules
.PHONY: help
help:
@echo Makefile rules:
@echo
@grep -E '^### [-A-Za-z0-9_]+:' Makefile | sed 's/###/ /'