1# $OpenBSD: Makefile,v 1.14 2024/08/31 11:14:58 tb Exp $ 2 3OPENSSL_RUBY_TESTS = /usr/local/share/openssl-ruby-tests 4.if exists(/usr/local/bin/ruby32) 5RUBY_BINREV = 32 6.else 7RUBY_BINREV = 33 8.endif 9RUBY = ruby${RUBY_BINREV} 10 11# We work in a subdirectory of obj/ since extconf.rb generates a Makefile whose 12# name can't be customized in $PWD. An obj/Makefile in turn confuses either make 13# or bsd.*.mk. This hurts when things are in an unexpected state after a signal. 14BUILDDIR = build 15 16.if !exists(${OPENSSL_RUBY_TESTS}) 17regress: 18 @echo package openssl-ruby-tests is required for this regress 19 @echo SKIPPED 20.else 21 22REGRESS_TARGETS += openssl-ruby-test 23 24openssl-ruby-test: retest 25 26_BUILDDIR_COOKIE = .builddir 27_BUILD_COOKIE = .build 28_TEST_COOKIE = .test 29 30${_BUILDDIR_COOKIE}: 31 mkdir -p ${BUILDDIR} 32 touch $@ 33 34${_BUILD_COOKIE}: ${_BUILDDIR_COOKIE} 35 cd ${BUILDDIR} && \ 36 ${RUBY} ${OPENSSL_RUBY_TESTS}/ext/openssl/extconf.rb && \ 37 make; 38 touch $@ 39 40OPENSSL_RUBY_TESTSRC = ${OPENSSL_RUBY_TESTS}/test/openssl/test_*.rb 41${_TEST_COOKIE}: ${_BUILD_COOKIE} ${_BUILDDIR_COOKIE} 42 cd ${BUILDDIR} && \ 43 env SKIP_EXPECTED_FAILURES=true ${RUBY} -I. \ 44 -I${OPENSSL_RUBY_TESTS}/test/openssl \ 45 -I${OPENSSL_RUBY_TESTS}/lib \ 46 -e 'Dir["${OPENSSL_RUBY_TESTSRC}"].each{|f| require f}' \ 47 -- --no-use-color --no-show-detail-immediately 48 touch $@ 49 50build: ${_BUILD_COOKIE} 51test: ${_TEST_COOKIE} 52 53_MAKE = cd ${.CURDIR} && exec ${.MAKE} 54 55rebuild: 56 rm -f ${_BUILD_COOKIE} 57 ${_MAKE} build 58 59retest: 60 rm -f ${_TEST_COOKIE} 61 ${_MAKE} test 62 63.for _t in test_client_ca 64REGRESS_TARGETS += ${_t} 65REGRESS_EXPECTED_FAILURES += ${_t} 66${_t}: ${_BUILD_COOKIE} 67 cd ${BUILDDIR} && \ 68 ${RUBY} -I. -I${OPENSSL_RUBY_TESTS}/test/openssl \ 69 -I${OPENSSL_RUBY_TESTS}/lib \ 70 ${OPENSSL_RUBY_TESTS}/test/openssl/test_ssl.rb \ 71 -n ${_t} 72.endfor 73 74CLEANFILES += ${_BUILD_COOKIE} ${_TEST_COOKIE} ${_BUILDDIR_COOKIE} 75 76. if make(clean) || make(cleandir) 77. if exists(${BUILDDIR}) 78.BEGIN: 79 rm -r ${BUILDDIR} 80. endif 81. endif 82 83.PHONY: build rebuild test retest 84 85.endif 86 87.include <bsd.regress.mk> 88