1 #############################################################
5 #############################################################
8 OPENSSL_VERSION
:=0.9.7m
9 OPENSSL_SITE
:=http
://www.openssl.org
/source
10 OPENSSL_SOURCE
:=openssl-
$(OPENSSL_VERSION
).
tar.gz
12 OPENSSL_DIR
:=$(BUILD_DIR
)/openssl-
$(OPENSSL_VERSION
)
17 OPENSSL_TARGET_ARCH
:=i386-
$(ARCH
)
20 OPENSSL_TARGET_ARCH
:=i386-i686
/cmov
23 ifeq ($(OPENSSL_TARGET_ARCH
),)
24 OPENSSL_TARGET_ARCH
:=$(ARCH
)
27 $(DL_DIR
)/$(OPENSSL_SOURCE
):
28 $(WGET
) -P
$(DL_DIR
) $(OPENSSL_SITE
)/$(OPENSSL_SOURCE
)
30 openssl-unpack
: $(OPENSSL_DIR
)/.unpacked
31 $(OPENSSL_DIR
)/.unpacked
: $(DL_DIR
)/$(OPENSSL_SOURCE
)
32 $(OPENSSL_CAT
) $(DL_DIR
)/$(OPENSSL_SOURCE
) |
tar -C
$(BUILD_DIR
) $(TAR_OPTIONS
) -
33 toolchain
/patch-kernel.sh
$(OPENSSL_DIR
) package
/openssl
/ openssl-
$(OPENSSL_VERSION
)\
*.patch
34 # sigh... we have to resort to this just to set a gcc flag.
35 # grumble.. and of course make sure to escape any '/' in CFLAGS
36 $(SED
) 's,/CFLAG=,/CFLAG= $(TARGET_SOFT_FLOAT) ,g' \
37 $(OPENSSL_DIR
)/Configure
38 $(SED
) '/CFLAG=/s,/;, $(shell echo '$(TARGET_CFLAGS
)' | sed -e 's
/\
//\\\\\
//g
')/;,' \
39 $(OPENSSL_DIR
)/Configure
42 $(OPENSSL_DIR
)/Makefile
: $(OPENSSL_DIR
)/.unpacked
44 CFLAGS
="-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 $(TARGET_CFLAGS)" \
46 .
/Configure linux-
$(OPENSSL_TARGET_ARCH
) --prefix=/ \
47 --openssldir
=/lib
/ssl
-L
$(STAGING_DIR
)/lib
-ldl \
48 -I
$(STAGING_DIR
)/usr
/include $(OPENSSL_OPTS
) threads \
49 shared no-idea no-mdc2 no-rc5
)
51 # --openssldir=/usr/lib/ssl results in files in /usr/usr/lib...
53 $(OPENSSL_DIR
)/apps
/openssl
: $(OPENSSL_DIR
)/Makefile
54 $(MAKE1
) CC
=$(TARGET_CC
) -C
$(OPENSSL_DIR
) all build-shared
55 # Work around openssl build bug to link libssl.so with libcrypto.so.
56 -rm $(OPENSSL_DIR
)/libssl.so.
*.
*.
*
57 $(MAKE1
) CC
=$(TARGET_CC
) -C
$(OPENSSL_DIR
) do_linux-shared
59 $(STAGING_DIR
)/usr
/lib
/libcrypto.a
: $(OPENSSL_DIR
)/apps
/openssl
60 $(MAKE
) CC
=$(TARGET_CC
) INSTALL_PREFIX
=$(STAGING_DIR
)/usr
-C
$(OPENSSL_DIR
) install
61 cp
-fa
$(OPENSSL_DIR
)/libcrypto.so
* $(STAGING_DIR
)/usr
/lib
/
62 chmod a-x
$(STAGING_DIR
)/usr
/lib
/libcrypto.so
.0.9.7
63 (cd
$(STAGING_DIR
)/usr
/lib
; \
64 ln
-fs libcrypto.so
.0.9.7 libcrypto.so
; \
65 ln
-fs libcrypto.so
.0.9.7 libcrypto.so
.0; \
67 cp
-fa
$(OPENSSL_DIR
)/libssl.so
* $(STAGING_DIR
)/usr
/lib
/
68 chmod a-x
$(STAGING_DIR
)/usr
/lib
/libssl.so
.0.9.7
69 (cd
$(STAGING_DIR
)/usr
/lib
; \
70 ln
-fs libssl.so
.0.9.7 libssl.so
; \
71 ln
-fs libssl.so
.0.9.7 libssl.so
.0; \
75 $(TARGET_DIR
)/usr
/lib
/libcrypto.so
.0.9.7: $(STAGING_DIR
)/usr
/lib
/libcrypto.a
76 mkdir
-p
$(TARGET_DIR
)/usr
/lib
77 cp
-fa
$(STAGING_DIR
)/usr
/lib
/libcrypto.so
* $(TARGET_DIR
)/usr
/lib
/
78 cp
-fa
$(STAGING_DIR
)/usr
/lib
/libssl.so
* $(TARGET_DIR
)/usr
/lib
/
79 #cp -fa $(STAGING_DIR)/bin/openssl $(TARGET_DIR)/bin/
80 -$(STRIPCMD
) $(STRIP_STRIP_UNNEEDED
) $(TARGET_DIR
)/usr
/lib
/libssl.so
.0.9.7
81 -$(STRIPCMD
) $(STRIP_STRIP_UNNEEDED
) $(TARGET_DIR
)/usr
/lib
/libcrypto.so
.0.9.7
83 $(TARGET_DIR
)/usr
/lib
/libssl.a
: $(STAGING_DIR
)/usr
/lib
/libcrypto.a
84 mkdir
-p
$(TARGET_DIR
)/usr
/include
85 cp
-a
$(STAGING_DIR
)/usr
/include/openssl
$(TARGET_DIR
)/usr
/include/
86 cp
-dpf
$(STAGING_DIR
)/usr
/lib
/libssl.a
$(TARGET_DIR
)/usr
/lib
/
87 cp
-dpf
$(STAGING_DIR
)/usr
/lib
/libcrypto.a
$(TARGET_DIR
)/usr
/lib
/
90 openssl-headers
: $(TARGET_DIR
)/usr
/lib
/libssl.a
92 openssl
: uclibc
$(TARGET_DIR
)/usr
/lib
/libcrypto.so
.0.9.7
94 openssl-source
: $(DL_DIR
)/$(OPENSSL_SOURCE
)
97 -$(MAKE
) -C
$(OPENSSL_DIR
) clean
98 rm -f
$(STAGING_DIR
)/usr
/bin
/openssl
$(TARGET_DIR
)/usr
/bin
/openssl
99 rm -f
$(STAGING_DIR
)/usr
/lib
/libcrypto.so
* $(TARGET_DIR
)/usr
/lib
/libcrypto.so
*
100 rm -f
$(STAGING_DIR
)/usr
/lib
/libssl.so
* $(TARGET_DIR
)/usr
/lib
/libssl.so
*
101 rm -rf
$(STAGING_DIR
)/usr
/include/openssl
$(TARGET_DIR
)/usr
/include/openssl
104 rm -rf
$(OPENSSL_DIR
)
105 #############################################################
107 # Toplevel Makefile options
109 #############################################################
110 ifeq ($(BR2_PACKAGE_OPENSSL
),y
)
113 ifeq ($(BR2_PACKAGE_OPENSSL_TARGET_HEADERS
),y
)
114 TARGETS
+=openssl-headers