2014-12-13 21:20:54 +00:00
|
|
|
PWD = $(shell pwd)
|
|
|
|
export CPATH = $(PWD)/openssl/include
|
|
|
|
export LIBRARY_PATH = $(PWD)/openssl
|
2016-03-19 21:25:05 +00:00
|
|
|
OPENSSL_VERSION = 1.0.2g
|
|
|
|
OPENSSL_NAME = openssl-$(OPENSSL_VERSION)
|
|
|
|
OPENSSL_DIR = build/$(OPENSSL_NAME)
|
|
|
|
#OPENSSL_DIR = openssl
|
2015-11-23 23:24:34 +00:00
|
|
|
RUBY_MAJOR_VERSION = 2.3
|
|
|
|
RUBY_VERSION = $(RUBY_MAJOR_VERSION).0
|
2016-03-19 21:25:05 +00:00
|
|
|
RUBY_NAME = ruby-$(RUBY_VERSION)
|
|
|
|
RUBY_DIR = build/$(RUBY_NAME)
|
2015-07-11 19:36:54 +00:00
|
|
|
RUBY_OPENSSL_EXT_DIR = $(RUBY_DIR)/ext/openssl
|
|
|
|
export LIBRARY_PATH = $(PWD)/lib
|
|
|
|
export C_INCLUDE_PATH = $(PWD)/$(OPENSSL_DIR)/include
|
2014-12-13 21:20:54 +00:00
|
|
|
|
2015-07-11 19:36:54 +00:00
|
|
|
.SECONDARY:
|
|
|
|
|
|
|
|
all: libs ext
|
2014-12-13 21:20:54 +00:00
|
|
|
|
2016-03-19 21:25:05 +00:00
|
|
|
clean: clean-libs clean-ext
|
2015-08-03 22:44:52 +00:00
|
|
|
clean-libs:
|
2016-03-19 21:25:05 +00:00
|
|
|
[ -d $(OPENSSL_DIR) ] \
|
|
|
|
&& find $(OPENSSL_DIR) \( -name "*.o" -o -name "*.so" \) -delete \
|
|
|
|
|| true
|
|
|
|
rm -f lib/libcrypto.so* lib/libssl.so* $(OPENSSL_DIR)/Makefile
|
2015-08-03 22:44:52 +00:00
|
|
|
clean-ext:
|
2016-03-19 21:25:05 +00:00
|
|
|
[ -d $(RUBY_OPENSSL_EXT_DIR) ] \
|
|
|
|
&& find $(RUBY_OPENSSL_EXT_DIR) \( -name "*.o" -o -name "*.so" \) -delete \
|
|
|
|
|| true
|
2015-08-03 22:44:52 +00:00
|
|
|
rm -f lib/openssl.so
|
2016-03-19 21:25:05 +00:00
|
|
|
mr-proper:
|
|
|
|
rm -rf lib/libcrypto.so* lib/libssl.so* lib/openssl.so build
|
2015-07-11 19:36:54 +00:00
|
|
|
|
2016-03-19 21:25:05 +00:00
|
|
|
build/:
|
|
|
|
mkdir $@
|
2015-07-11 19:36:54 +00:00
|
|
|
|
2016-04-04 19:14:15 +00:00
|
|
|
build/$(OPENSSL_NAME).tar.gz: | build/
|
|
|
|
wget https://www.openssl.org/source/$(OPENSSL_NAME).tar.gz -O $@
|
|
|
|
|
|
|
|
$(OPENSSL_DIR)/: build/$(OPENSSL_NAME).tar.gz
|
|
|
|
tar -C build -xf build/$(OPENSSL_NAME).tar.gz
|
2014-12-13 21:20:54 +00:00
|
|
|
|
2015-08-03 22:44:52 +00:00
|
|
|
$(OPENSSL_DIR)/Makefile: | $(OPENSSL_DIR)/
|
2016-03-19 21:25:05 +00:00
|
|
|
cd $(OPENSSL_DIR); ./Configure enable-ssl3 enable-ssl2 enable-shared linux-x86_64
|
2014-12-13 21:20:54 +00:00
|
|
|
|
2015-09-09 19:34:04 +00:00
|
|
|
$(OPENSSL_DIR)/libssl.so \
|
2016-03-19 21:25:05 +00:00
|
|
|
$(OPENSSL_DIR)/libcrypto.so: $(OPENSSL_DIR)/Makefile
|
2015-07-11 19:36:54 +00:00
|
|
|
$(MAKE) -C $(OPENSSL_DIR) depend build_libs
|
2014-12-13 21:20:54 +00:00
|
|
|
|
2015-08-12 23:51:14 +00:00
|
|
|
lib/%.so: $(OPENSSL_DIR)/%.so
|
|
|
|
cp $< $@
|
2016-03-19 21:25:05 +00:00
|
|
|
lib/%.so.1.0.0:
|
|
|
|
ln -fs $(notdir $(subst .1.0.0,, $@)) $@
|
2015-08-12 23:51:14 +00:00
|
|
|
libs: lib/libssl.so lib/libcrypto.so lib/libssl.so.1.0.0 lib/libcrypto.so.1.0.0
|
2014-12-13 21:20:54 +00:00
|
|
|
|
2016-04-04 19:14:15 +00:00
|
|
|
build/$(RUBY_NAME).tar.gz: | build/
|
|
|
|
wget http://cache.ruby-lang.org/pub/ruby/$(RUBY_MAJOR_VERSION)/$(RUBY_NAME).tar.gz -O $@
|
|
|
|
|
|
|
|
$(RUBY_DIR)/: build/$(RUBY_NAME).tar.gz
|
|
|
|
tar -C build -xf $<
|
2014-12-13 21:20:54 +00:00
|
|
|
|
2015-08-03 22:44:52 +00:00
|
|
|
$(RUBY_OPENSSL_EXT_DIR)/Makefile: libs | $(RUBY_DIR)/
|
2016-04-04 19:14:15 +00:00
|
|
|
patch -d $(RUBY_DIR)/ -p1 < patch
|
2014-12-13 21:20:54 +00:00
|
|
|
cd $(RUBY_OPENSSL_EXT_DIR); ruby extconf.rb
|
|
|
|
|
2015-07-11 19:36:54 +00:00
|
|
|
$(RUBY_OPENSSL_EXT_DIR)/openssl.so: libs $(RUBY_OPENSSL_EXT_DIR)/Makefile
|
2016-04-04 19:14:15 +00:00
|
|
|
top_srcdir=../.. $(MAKE) -C $(RUBY_OPENSSL_EXT_DIR)
|
2014-12-13 21:20:54 +00:00
|
|
|
|
|
|
|
lib/openssl.so: $(RUBY_OPENSSL_EXT_DIR)/openssl.so
|
|
|
|
cp $< $@
|
2015-07-11 19:36:54 +00:00
|
|
|
|
2015-08-03 22:44:52 +00:00
|
|
|
ext: lib/openssl.so
|