2
1

openssl.mk 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #############################################################
  2. #
  3. # openssl
  4. #
  5. #############################################################
  6. OPENSSL_VERSION:=0.9.8k
  7. OPENSSL_SITE:=http://www.openssl.org/source
  8. OPENSSL_TARGET_ARCH=generic32
  9. # Some architectures are optimized in OpenSSL
  10. ifeq ($(ARCH),avr32)
  11. OPENSSL_TARGET_ARCH=avr32
  12. endif
  13. ifeq ($(ARCH),ia64)
  14. OPENSSL_TARGET_ARCH=ia64
  15. endif
  16. ifeq ($(ARCH),powerpc)
  17. OPENSSL_TARGET_ARCH=ppc
  18. endif
  19. ifeq ($(ARCH),x86_64)
  20. OPENSSL_TARGET_ARCH=x86_64
  21. endif
  22. OPENSSL_INSTALL_STAGING = YES
  23. OPENSSL_INSTALL_STAGING_OPT = INSTALL_PREFIX=$(STAGING_DIR) install
  24. OPENSSL_INSTALL_TARGET_OPT = INSTALL_PREFIX=$(TARGET_DIR) install
  25. OPENSSL_DEPENDENCIES = zlib
  26. $(eval $(call AUTOTARGETS,package,openssl))
  27. $(OPENSSL_TARGET_CONFIGURE):
  28. (cd $(OPENSSL_DIR); \
  29. $(TARGET_CONFIGURE_ARGS) \
  30. $(TARGET_CONFIGURE_OPTS) \
  31. ./Configure \
  32. linux-$(OPENSSL_TARGET_ARCH) \
  33. --prefix=/usr \
  34. --openssldir=/etc/ssl \
  35. threads \
  36. shared \
  37. no-idea \
  38. no-mdc2 \
  39. no-rc5 \
  40. zlib-dynamic \
  41. )
  42. $(SED) "s:-march=[-a-z0-9] ::" -e "s:-mcpu=[-a-z0-9] ::g" $(OPENSSL_DIR)/Makefile
  43. $(SED) "s:-O[0-9]:$(TARGET_CFLAGS):" $(OPENSSL_DIR)/Makefile
  44. touch $@
  45. $(OPENSSL_TARGET_BUILD):
  46. $(MAKE1) CC=$(TARGET_CC) -C $(OPENSSL_DIR) all build-shared
  47. $(MAKE1) CC=$(TARGET_CC) -C $(OPENSSL_DIR) do_linux-shared
  48. touch $@
  49. $(OPENSSL_HOOK_POST_INSTALL):
  50. $(if $(BR2_HAVE_DEVFILES),,rm -rf $(TARGET_DIR)/usr/lib/ssl)
  51. ifeq ($(BR2_PACKAGE_OPENSSL_BIN),y)
  52. $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/usr/bin/openssl
  53. else
  54. rm -f $(TARGET_DIR)/usr/bin/openssl
  55. endif
  56. rm -f $(TARGET_DIR)/usr/bin/c_rehash
  57. # libraries gets installed read only, so strip fails
  58. for i in $(addprefix $(TARGET_DIR)/usr/lib/,libcrypto.so.* libssl.so.*); \
  59. do chmod +w $$i; $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $$i; done
  60. ifneq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
  61. rm -rf $(TARGET_DIR)/usr/lib/engines
  62. else
  63. chmod +w $(TARGET_DIR)/usr/lib/engines/lib*.so
  64. $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/engines/lib*.so
  65. endif
  66. touch $@
  67. $(OPENSSL_TARGET_UNINSTALL):
  68. $(call MESSAGE,"Uninstalling")
  69. rm -rf $(addprefix $(TARGET_DIR)/,etc/ssl usr/bin/openssl usr/include/openssl)
  70. rm -rf $(addprefix $(TARGET_DIR)/usr/lib/,ssl engines libcrypto* libssl* pkgconfig/libcrypto.pc)
  71. rm -rf $(addprefix $(STAGING_DIR)/,etc/ssl usr/bin/openssl usr/include/openssl)
  72. rm -rf $(addprefix $(STAGING_DIR)/usr/lib/,ssl engines libcrypto* libssl* pkgconfig/libcrypto.pc)
  73. rm -f $(OPENSSL_TARGET_INSTALL_TARGET) $(OPENSSL_HOOK_POST_INSTALL)