1 #############################################################
5 #############################################################
9 OPENSSL_SITE
:=http
://www.openssl.org
/source
10 OPENSSL_SOURCE
:=openssl-
$(OPENSSL_VER
).
tar.gz
11 OPENSSL_DIR
:=$(BUILD_DIR
)/openssl-
$(OPENSSL_VER
)
16 OPENSSL_TARGET_ARCH
:=i386-
$(ARCH
)
19 OPENSSL_TARGET_ARCH
:=i386-i686
/cmov
22 ifeq ($(OPENSSL_TARGET_ARCH
),)
23 OPENSSL_TARGET_ARCH
:=$(ARCH
)
26 $(DL_DIR
)/$(OPENSSL_SOURCE
):
27 $(WGET
) -P
$(DL_DIR
) $(OPENSSL_SITE
)/$(OPENSSL_SOURCE
)
29 openssl-unpack
: $(OPENSSL_DIR
)/.unpacked
30 $(OPENSSL_DIR
)/.unpacked
: $(DL_DIR
)/$(OPENSSL_SOURCE
)
31 gunzip
-c
$(DL_DIR
)/$(OPENSSL_SOURCE
) |
tar -C
$(BUILD_DIR
) $(TAR_OPTIONS
) -
32 toolchain
/patch-kernel.sh
$(OPENSSL_DIR
) package
/openssl
/ openssl\
*.patch
33 # sigh... we have to resort to this just to set a gcc flag.
34 $(SED
) 's,/CFLAG=,/CFLAG= $(TARGET_SOFT_FLOAT) ,g' \
35 $(OPENSSL_DIR
)/Configure
36 $(SED
) '/CFLAG=/s^/;^ $(TARGET_CFLAGS)/;^' \
37 $(OPENSSL_DIR
)/Configure
38 touch
$(OPENSSL_DIR
)/.unpacked
40 $(OPENSSL_DIR
)/Makefile
: $(OPENSSL_DIR
)/.unpacked
42 CFLAGS
="-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 $(TARGET_CFLAGS)" \
43 PATH
=$(TARGET_PATH
) .
/Configure linux-
$(OPENSSL_TARGET_ARCH
) --prefix=/ \
44 --openssldir
=/usr
/lib
/ssl
-L
$(STAGING_DIR
)/lib
-ldl \
45 -I
$(STAGING_DIR
)/include $(OPENSSL_OPTS
) no-threads \
46 shared no-idea no-mdc2 no-rc5
)
48 $(OPENSSL_DIR
)/apps
/openssl
: $(OPENSSL_DIR
)/Makefile
49 $(MAKE1
) CC
=$(TARGET_CC
) -C
$(OPENSSL_DIR
) all build-shared
50 # Work around openssl build bug to link libssl.so with libcrypto.so.
51 -rm $(OPENSSL_DIR
)/libssl.so.
*.
*.
*
52 $(MAKE1
) CC
=$(TARGET_CC
) -C
$(OPENSSL_DIR
) do_linux-shared
54 $(STAGING_DIR
)/lib
/libcrypto.a
: $(OPENSSL_DIR
)/apps
/openssl
55 $(MAKE
) CC
=$(TARGET_CC
) INSTALL_PREFIX
=$(STAGING_DIR
) -C
$(OPENSSL_DIR
) install
56 cp
-fa
$(OPENSSL_DIR
)/libcrypto.so
* $(STAGING_DIR
)/lib
/
57 chmod a-x
$(STAGING_DIR
)/lib
/libcrypto.so
.0.9.7
58 (cd
$(STAGING_DIR
)/lib
; ln
-fs libcrypto.so
.0.9.7 libcrypto.so
)
59 (cd
$(STAGING_DIR
)/lib
; ln
-fs libcrypto.so
.0.9.7 libcrypto.so
.0)
60 cp
-fa
$(OPENSSL_DIR
)/libssl.so
* $(STAGING_DIR
)/lib
/
61 chmod a-x
$(STAGING_DIR
)/lib
/libssl.so
.0.9.7
62 (cd
$(STAGING_DIR
)/lib
; ln
-fs libssl.so
.0.9.7 libssl.so
)
63 (cd
$(STAGING_DIR
)/lib
; ln
-fs libssl.so
.0.9.7 libssl.so
.0)
65 $(TARGET_DIR
)/usr
/lib
/libcrypto.so
.0.9.7: $(STAGING_DIR
)/lib
/libcrypto.a
66 mkdir
-p
$(TARGET_DIR
)/usr
/lib
67 cp
-fa
$(STAGING_DIR
)/lib
/libcrypto.so
* $(TARGET_DIR
)/usr
/lib
/
68 cp
-fa
$(STAGING_DIR
)/lib
/libssl.so
* $(TARGET_DIR
)/usr
/lib
/
69 #cp -fa $(STAGING_DIR)/bin/openssl $(TARGET_DIR)/bin/
70 -$(STRIP
) $(TARGET_DIR
)/usr
/lib
/libssl.so
.0.9.7
71 -$(STRIP
) $(TARGET_DIR
)/usr
/lib
/libcrypto.so
.0.9.7
73 $(TARGET_DIR
)/usr
/lib
/libssl.a
: $(STAGING_DIR
)/lib
/libcrypto.a
74 mkdir
-p
$(TARGET_DIR
)/usr
/include
75 cp
-a
$(STAGING_DIR
)/include/openssl
$(TARGET_DIR
)/usr
/include/
76 cp
-dpf
$(STAGING_DIR
)/lib
/libssl.a
$(TARGET_DIR
)/usr
/lib
/
77 cp
-dpf
$(STAGING_DIR
)/lib
/libcrypto.a
$(TARGET_DIR
)/usr
/lib
/
78 touch
-c
$(TARGET_DIR
)/usr
/lib
/libssl.a
80 openssl-headers
: $(TARGET_DIR
)/usr
/lib
/libssl.a
82 openssl
: uclibc
$(TARGET_DIR
)/usr
/lib
/libcrypto.so
.0.9.7
84 openssl-source
: $(DL_DIR
)/$(OPENSSL_SOURCE
)
87 rm -f
$(STAGING_DIR
)/bin
/openssl
$(TARGET_DIR
)/bin
/openssl
88 rm -f
$(STAGING_DIR
)/lib
/libcrypto.so
* $(TARGET_DIR
)/lib
/libcrypto.so
*
89 rm -f
$(STAGING_DIR
)/lib
/libssl.so
* $(TARGET_DIR
)/lib
/libssl.so
*
90 $(MAKE
) -C
$(OPENSSL_DIR
) clean
94 #############################################################
96 # Toplevel Makefile options
98 #############################################################
99 ifeq ($(strip $(BR2_PACKAGE_OPENSSL
)),y
)
102 ifeq ($(strip $(BR2_PACKAGE_OPENSSL_TARGET_HEADERS
)),y
)
103 TARGETS
+=openssl-headers