aboutsummaryrefslogtreecommitdiff
path: root/openssl/Makefile
blob: 5119e27fd40677d252f7387b83d487844205a3cf (plain) (blame)
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
# $Id$

# Kludge alert:
#
# The --prefix=`pwd` and LIBRPATH=`pwd` settings below are to force
# OpenSSL's baroque configuration mechanism to build shared libraries
# that will run out of the build tree.  This is temporary.  Once we
# write "make install" code, we'll have to change that to point to the
# directory where the OpenSSL shared libraries will be installed.
#
# I would have avoided shared libraries entirely if I could, but the
# GNU linker isn't able to build POW (see ../pow/) from static
# libraries on 64-bit hardware.
#
# "You are lost in a maze of twisty programs, all broken in different
# ways" 

VERSION = 1.0.0-stable-SNAP-20091118

OPTIONS = enable-rfc3779 enable-cms no-dso enable-shared --prefix=`pwd`

all: openssl-${VERSION}/Makefile
	cd openssl-${VERSION}; ${MAKE} $@ LIBRPATH=`pwd`
	ln -sf openssl-${VERSION} openssl

clean:
	rm -rf openssl-${VERSION} openssl
	cd tests; ${MAKE} $@

# Ordinarily we let ./config guess the platform target.  When
# debugging, we usually need to specify an explicit target, in which
# case it's probably easier to use ./Configure.

openssl-${VERSION}/Makefile: openssl-${VERSION}/config
	cd openssl-${VERSION}; PERL=/usr/bin/perl ./config ${OPTIONS}
#	cd openssl-${VERSION}; PERL=/usr/bin/perl ./Configure debug-BSD-x86-elf ${OPTIONS}
	cd openssl-${VERSION}; ${MAKE} depend

openssl-${VERSION}/config: openssl-${VERSION}.tar.gz
	gzip -c -d openssl-${VERSION}.tar.gz | tar -xf -
	ln -s . openssl-${VERSION}/lib
	touch $@

install:
	@echo Not attempting to install modified OpenSSL, if you want that, do it yourself

sandblast:
	svn st -v openssl* | awk '/^I/ && NF == 2 {system("set -x; rm -rf " $$2)}'

test: all
	cd tests; ${MAKE} $@