File indexing completed on 2024-05-12 05:42:57

0001 first: all
0002 
0003 include ../Makefile.include
0004 
0005 include ../zlib/Makefile.include
0006 include ../libgcrypt/Makefile.include
0007 include ../libgpg-error/Makefile.include
0008 
0009 include Makefile.include
0010 
0011 PRODUCT_NAME = libssh
0012 PRODUCT_VERSION = 0.8.7
0013 PRODUCT_DIRNAME = $(PRODUCT_NAME)-$(PRODUCT_VERSION)
0014 PRODUCT_PORT_SUFFIX = $(TARGET_MACHINE)
0015 
0016 PRODUCT_ARCHIVE = $(PRODUCT_NAME)-$(PRODUCT_VERSION).tar.xz
0017 PRODUCT_ARCHIVE_URL = https://www.libssh.org/files/0.8/$(PRODUCT_ARCHIVE)
0018 PRODUCT_ARCHIVE_DIR = $(ARCHIVE_DIR)
0019 PRODUCT_ARCHIVE_PATH = $(PRODUCT_ARCHIVE_DIR)/$(PRODUCT_ARCHIVE)
0020 
0021 PRODUCT_SOURCE_DIR = $(SOURCE_DIR)/$(PRODUCT_DIRNAME)
0022 
0023 PRODUCT_PORT_DIR = $(PORT_DIR)/$(PRODUCT_DIRNAME)-$(PRODUCT_PORT_SUFFIX)
0024 
0025 PRODUCT_BUILD_DIR = $(BUILD_DIR)/$(PRODUCT_DIRNAME)-$(PRODUCT_PORT_SUFFIX)
0026 
0027 PRODUCT_INSTALL_DIR = $(LIBSSH_INSTALL_DIR)
0028 PRODUCT_INSTALL_INCLUDE_DIR = $(PRODUCT_INSTALL_DIR)/include/libssh
0029 PRODUCT_INSTALL_LIB_DIR = $(PRODUCT_INSTALL_DIR)/bin
0030 
0031 PRODUCT_DEPLOY_DIR = $(LIBSSH_DEPLOY_DIR)
0032 PRODUCT_DEPLOY_INCLUDE_DIR = $(PRODUCT_DEPLOY_DIR)/include/libssh
0033 PRODUCT_DEPLOY_LIB_DIR = $(PRODUCT_DEPLOY_DIR)/lib
0034 
0035 PRODUCT_CONFIGURE_TXT_PATH = $(BUILD_DIR)/$(PRODUCT_NAME)-$(PRODUCT_VERSION)-$(PRODUCT_PORT_SUFFIX).cmake.txt 
0036 PRODUCT_README_PORT_MD_PATH = $(PRODUCT_PORT_DIR)/README.$(PRODUCT_PORT_SUFFIX).md
0037 PRODUCT_BUILD_TXT_PATH = $(BUILD_DIR)/$(PRODUCT_NAME)-$(PRODUCT_VERSION)-$(PRODUCT_PORT_SUFFIX).build.txt
0038 
0039 PRODUCT_INCLUDE_FILES = callbacks.h  legacy.h  libssh.h  libsshpp.hpp  server.h  sftp.h  ssh2.h
0040 PRODUCT_INCLUDE_FILES_INSTALL = $(addprefix $(PRODUCT_INSTALL_INCLUDE_DIR)/, $(PRODUCT_INCLUDE_FILES))
0041 PRODUCT_INCLUDE_FILES_DEPLOY = $(addprefix $(PRODUCT_DEPLOY_INCLUDE_DIR)/, $(PRODUCT_INCLUDE_FILES))
0042 
0043 PRODUCT_LIB_FILES = libssh.dll libssh_threads.dll
0044 PRODUCT_LIB_FILES_INSTALL = $(addprefix $(PRODUCT_INSTALL_LIB_DIR)/, $(PRODUCT_LIB_FILES))
0045 PRODUCT_LIB_FILES_DEPLOY = $(addprefix $(PRODUCT_DEPLOY_LIB_DIR)/, $(PRODUCT_LIB_FILES))
0046 
0047 export PATH MAKE
0048 
0049 include ../Makefile.phony
0050 
0051 all: deploy
0052 
0053 include ../Makefile.deploy
0054 
0055 buildinstall $(PRODUCT_LIB_FILES_INSTALL) $(PRODUCT_INCLUDE_FILES_INSTALL): $(PRODUCT_BUILD_TXT_PATH) | $(CD) $(MAKE) $(TOUCH)
0056         $(CD) $(PRODUCT_BUILD_DIR) && $(MAKE) -j $(MAKE_BUILD_JOBS) install
0057         $(TOUCH) $(PRODUCT_INCLUDE_FILES_INSTALL)
0058         $(TOUCH) $(PRODUCT_LIB_FILES_INSTALL)
0059 
0060 include ../Makefile.build
0061 
0062 buildconfigure $(PRODUCT_BUILD_DIR)/Makefile: \
0063                 $(ZLIB_INSTALL_DIR) \
0064                 $(LIBGCRYPT_INSTALL_DIR) \
0065                 $(LIBGPG-ERROR_INSTALL_DIR) | $(PRODUCT_BUILD_DIR) $(RM) $(CD) $(CMAKE) $(TEE)
0066         $(RM) -f $(PRODUCT_BUILD_DIR)/CMakeCache.txt
0067         $(CD) $(PRODUCT_BUILD_DIR) && $(CMAKE) $(PRODUCT_PORT_DIR) \
0068                 -DZLIB_INCLUDE_DIR=$(ZLIB_INSTALL_DIR)/include -DZLIB_LIBRARY=$(ZLIB_INSTALL_DIR)/bin/zlib1.dll \ 
0069                 -DWITH_GCRYPT=ON -DGCRYPT_INCLUDE_DIR=$(LIBGCRYPT_INSTALL_DIR)/include -DGCRYPT_LIBRARY=$(LIBGCRYPT_INSTALL_DIR)/bin/libgcrypt-20.dll \ 
0070                 -DCMAKE_C_FLAGS=-isystem\ $(LIBGPG-ERROR_INSTALL_DIR)/include \
0071                 -DWITH_DEBUG_CALLTRACE=OFF \
0072                 -DCMAKE_INSTALL_PREFIX=$(LIBSSH_INSTALL_DIR) \
0073                 -DCMAKE_BUILD_TYPE=Release \
0074                 -DCMAKE_VERBOSE_MAKEFILE=ON \
0075                 -DTHREADSAFE=ON \
0076                 -G "MSYS Makefiles" \
0077                 2>&1 | $(TEE) $(PRODUCT_CONFIGURE_TXT_PATH)
0078 
0079 builddir $(PRODUCT_BUILD_DIR): $(PRODUCT_README_PORT_MD_PATH) | $(MKDIR) $(TOUCH)
0080         $(MKDIR) -p $(PRODUCT_BUILD_DIR)
0081         $(TOUCH) $(PRODUCT_BUILD_DIR)
0082 
0083 include ../Makefile.port
0084 
0085 include ../Makefile.portdir
0086 
0087 sourcedir $(PRODUCT_SOURCE_DIR): $(PRODUCT_ARCHIVE_PATH) | $(MKDIR) $(CD) $(TAR) $(MV) $(TOUCH)
0088         $(MKDIR) -p $(SOURCE_DIR)
0089         $(CD) $(SOURCE_DIR) && $(TAR) xvfJ $(PRODUCT_ARCHIVE_PATH) --force-local
0090         $(TOUCH) $(PRODUCT_SOURCE_DIR)
0091 
0092 include ../Makefile.archive
0093 
0094 clean: mostlyclean | $(RM)
0095         $(RM) -Rf $(PRODUCT_SOURCE_DIR)
0096         $(RM) -f $(PRODUCT_ARCHIVE_PATH)
0097 
0098 mostlyclean: deployclean | $(RM)
0099         $(RM) -Rf $(PRODUCT_INSTALL_DIR)
0100         $(RM) -f $(PRODUCT_CONFIGURE_TXT_PATH)
0101         $(RM) -f $(PRODUCT_BUILD_TXT_PATH)
0102         $(RM) -Rf $(PRODUCT_BUILD_DIR)
0103         $(RM) -Rf $(PRODUCT_PORT_DIR)
0104 
0105 deployclean: | $(RM) $(RMDIR) $(MKDIR)
0106         $(RM) -f $(PRODUCT_LIB_FILES_DEPLOY)
0107         $(RM) -f $(PRODUCT_INCLUDE_FILES_DEPLOY)
0108         $(MKDIR) -p $(PRODUCT_DEPLOY_LIB_DIR)
0109         $(RMDIR) --ignore-fail-on-non-empty $(PRODUCT_DEPLOY_LIB_DIR)
0110         $(MKDIR) -p $(PRODUCT_DEPLOY_INCLUDE_DIR)
0111         $(RMDIR) --ignore-fail-on-non-empty $(PRODUCT_DEPLOY_INCLUDE_DIR)
0112         $(MKDIR) -p $(PRODUCT_DEPLOY_DIR)
0113         $(RMDIR) --ignore-fail-on-non-empty $(PRODUCT_DEPLOY_DIR)
0114 
0115 buildclean: | $(CD) $(MAKE)
0116         $(CD) $(PRODUCT_BUILD_DIR) && $(MAKE) clean
0117 
0118 builduninstall: buildclean
0119         @echo "Target '$@' is not supported by this recipe!"
0120         @echo "Ordered '$^' instead!"
0121