openssl.mk 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #############################################################
  2. #
  3. # openssl
  4. #
  5. #############################################################
  6. # TARGETS
  7. OPENSSL_SITE:=http://www.openssl.org/source
  8. OPENSSL_SOURCE:=openssl-0.9.7a.tar.gz
  9. OPENSSL_DIR:=$(BUILD_DIR)/openssl-0.9.7a
  10. OPENSSL_PATCH=$(SOURCE_DIR)/openssl.patch
  11. $(DL_DIR)/$(OPENSSL_SOURCE):
  12. $(WGET) -P $(DL_DIR) $(OPENSSL_SITE)/$(OPENSSL_SOURCE)
  13. $(OPENSSL_DIR)/.unpacked: $(DL_DIR)/$(OPENSSL_SOURCE) $(OPENSSL_PATCH)
  14. gunzip -c $(DL_DIR)/$(OPENSSL_SOURCE) | tar -C $(BUILD_DIR) -xvf -
  15. cat $(OPENSSL_PATCH) | patch -p1 -d $(OPENSSL_DIR)
  16. touch $(OPENSSL_DIR)/.unpacked
  17. $(OPENSSL_DIR)/Makefile: $(OPENSSL_DIR)/.unpacked
  18. (cd $(OPENSSL_DIR); \
  19. CFLAGS="-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5" \
  20. PATH=$(TARGET_PATH) ./Configure linux-$(ARCH) --prefix=/ \
  21. --openssldir=/usr/lib/ssl -L$(STAGING_DIR)/lib -ldl \
  22. -I$(STAGING_DIR)/include $(OPENSSL_OPTS) no-threads \
  23. shared no-idea no-mdc2 no-rc5)
  24. $(OPENSSL_DIR)/apps/openssl: $(OPENSSL_DIR)/Makefile
  25. $(MAKE) CC=$(TARGET_CC) -C $(OPENSSL_DIR) all build-shared
  26. $(STAGING_DIR)/lib/libcrypto.so.0: $(OPENSSL_DIR)/apps/openssl
  27. $(MAKE) CC=$(TARGET_CC) INSTALL_PREFIX=$(STAGING_DIR) -C $(OPENSSL_DIR) install
  28. cp -fa $(OPENSSL_DIR)/libcrypto.so* $(STAGING_DIR)/lib/
  29. chmod a-x $(STAGING_DIR)/lib/libcrypto.so.0.9.7
  30. (cd $(STAGING_DIR)/lib; ln -fs libcrypto.so.0.9.7 libcrypto.so)
  31. (cd $(STAGING_DIR)/lib; ln -fs libcrypto.so.0.9.7 libcrypto.so.0)
  32. cp -fa $(OPENSSL_DIR)/libssl.so* $(STAGING_DIR)/lib/
  33. chmod a-x $(STAGING_DIR)/lib/libssl.so.0.9.7
  34. (cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so)
  35. (cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so.0)
  36. $(TARGET_DIR)/lib/libcrypto.so.0: $(STAGING_DIR)/lib/libcrypto.so.0
  37. cp -fa $(STAGING_DIR)/lib/libcrypto.so* $(TARGET_DIR)/lib/
  38. cp -fa $(STAGING_DIR)/lib/libssl.so* $(TARGET_DIR)/lib/
  39. #cp -fa $(STAGING_DIR)/bin/openssl $(TARGET_DIR)/bin/
  40. $(TARGET_DIR)/usr/lib/libssl.a: $(STAGING_DIR)/lib/libcrypto.so.0
  41. mkdir -p $(TARGET_DIR)/usr/include
  42. cp -a $(STAGING_DIR)/include/openssl $(TARGET_DIR)/usr/include/
  43. cp -dpf $(STAGING_DIR)/lib/libssl.a $(TARGET_DIR)/usr/lib/
  44. cp -dpf $(STAGING_DIR)/lib/libcrypto.a $(TARGET_DIR)/usr/lib/
  45. rm -f $(TARGET_DIR)/lib/libcrypto.so
  46. rm -f $(TARGET_DIR)/lib/libssl.so
  47. (cd $(TARGET_DIR)/usr/lib; \
  48. ln -fs /lib/libssl.so.0.9.7 libssl.so; \
  49. ln -fs /lib/libcrypto.so.0.9.7 libcrypto.so; \
  50. )
  51. touch -c $(TARGET_DIR)/usr/lib/libssl.a
  52. openssl-headers: $(TARGET_DIR)/usr/lib/libssl.a
  53. openssl-clean:
  54. rm -f $(STAGING_DIR)/bin/openssl $(TARGET_DIR)/bin/openssl
  55. rm -f $(STAGING_DIR)/lib/libcrypto.so* $(TARGET_DIR)/lib/libcrypto.so*
  56. rm -f $(STAGING_DIR)/lib/libssl.so* $(TARGET_DIR)/lib/libssl.so*
  57. $(MAKE) -C $(OPENSSL_DIR) clean
  58. openssl-dirclean:
  59. rm -rf $(OPENSSL_DIR)
  60. openssl: uclibc $(TARGET_DIR)/lib/libcrypto.so.0