1############################################################################# 2# Software Testing Automation Framework (STAF) # 3# (C) Copyright IBM Corp. 2001 # 4# # 5# This software is licensed under the Eclipse Public License (EPL) V1.0. # 6############################################################################# 7 8ifeq ($(OS_NAME),win32) 9 # STAFProc.exe.manifest must be put in the same directory as STAFProc.exe 10 # and STAFProc.exe must have a later modification date time stamp or else 11 # you get Windows 8 version (6.2.0.0) on Windows 8.1 and later. 12 stafproc_targets += $(REL)/bin/STAFProc.exe.manifest 13endif 14 15stafproc_targets += $(REL)/bin/STAFProc$(OS_EE)\ 16 $(REL)/bin/STAF.cfg \ 17 $(REL)/LICENSE.htm \ 18 $(REL)/NOTICES.htm \ 19 $(REL)/bin/STAFProc.ico 20 21Targets += $(stafproc_targets) 22 23ifdef STAF_USE_SSL 24 ifndef OPENSSL_ROOT 25 $(error You must set OPENSSL_ROOT to the full pathname where you installed OpenSSL) 26 endif 27 28 ifeq ($(OS_NAME),win32) 29 OPENSSL_LIBDIRS ?= $(OPENSSL_ROOT:/=)/bin 30 SSL_LIB1 = ssleay32 31 SSL_LIB2 = libeay32 32 LIB_SSL_V = $(subst Name,$(SSL_LIB1),$(DLL)) 33 LIB_CRYPTO_V = $(subst Name,$(SSL_LIB2),$(DLL)) 34 else 35 OPENSSL_LIBDIRS ?= $(OPENSSL_ROOT:/=)/lib 36 SSL_LIB1 = ssl 37 SSL_LIB2 = crypto 38 39 # Determine the version used in the OpenSSL library names 40 ifeq ($(OS_NAME),macosx) 41 LIB_SSL_PART1 = $(OPENSSL_LIBDIRS)/lib$(SSL_LIB1). 42 LIB_SSL_PART2 = $(subst $(LIB_SSL_PART1),,$(shell ls $(LIB_SSL_PART1)*.dylib)) 43 OPENSSL_VERSION ?= $(subst .dylib,,$(LIB_SSL_PART2)) 44 LIB_SSL_V = $(subst Name,$(SSL_LIB1).$(OPENSSL_VERSION),$(DLL)) 45 LIB_CRYPTO_V = $(subst Name,$(SSL_LIB2).$(OPENSSL_VERSION),$(DLL)) 46 else 47 LIB_SSL_PART1 = $(OPENSSL_LIBDIRS)/$(subst Name,$(SSL_LIB1),$(DLL)). 48 OPENSSL_VERSION ?= $(subst $(LIB_SSL_PART1),,$(shell ls $(LIB_SSL_PART1)*)) 49 LIB_SSL_V = $(subst Name,$(SSL_LIB1),$(DLL)) 50 LIB_CRYPTO_V = $(subst Name,$(SSL_LIB2),$(DLL)) 51 endif 52 endif 53 54 # Verify that the two OpenSSL libraries required exist 55 ifneq ($(OPENSSL_LIBDIRS)/$(LIB_SSL_V), $(shell find $(OPENSSL_LIBDIRS)/$(LIB_SSL_V) -print)) 56 $(info find $(OPENSSL_LIBDIRS)/$(LIB_SSL_V) -print) 57 $(error Could not find file $(LIB_SSL_V) in directory $(OPENSSL_LIBDIRS).\ 58 Check your settings for OPENSSL_ROOT, OPENSSL_VERSION, and STAF_USE_SSL.\ 59 You may also have to set OPENSSL_LIBDIRS to the directory containing file $(LIB_SSL_V).) 60 endif 61 ifneq ($(OPENSSL_LIBDIRS)/$(LIB_CRYPTO_V), $(shell find $(OPENSSL_LIBDIRS)/$(LIB_CRYPTO_V) -print)) 62 $(info find $(OPENSSL_LIBDIRS)/$(LIB_CRYPTO_V) -print) 63 $(error Could not find file $(LIB_CRYPTO_V) in directory $(OPENSSL_LIBDIRS).\ 64 Check your settings for OPENSSL_ROOT, OPENSSL_VERSION, and STAF_USE_SSL.\ 65 You may also have to set OPENSSL_LIBDIRS to the directory containing file $(LIB_CRYPTO_V).) 66 endif 67 68 ifneq ($(filter aix aix64,$(OS_NAME)),) 69 # On aix and aix64, don't include the version number in the OpenSSL library names shipped with STAF 70 LIB_SSL = $(subst Name,$(SSL_LIB1),$(DLL)) 71 LIB_CRYPTO = $(subst Name,$(SSL_LIB2),$(DLL)) 72 else 73 LIB_SSL = $(LIB_SSL_V) 74 LIB_CRYPTO = $(LIB_CRYPTO_V) 75 endif 76 77 Targets += $(REL)/lib/$(LIB_SSL) \ 78 $(REL)/lib/$(LIB_CRYPTO) 79 80 OPENSSL_INCLUDEDIRS ?= $(OPENSSL_ROOT:/=)/include 81 82 CC_CFLAGS += -DSTAF_USE_SSL 83endif 84 85CleanupTargets += cleanup_stafproc 86 87$(stafproc_targets): SUBSYS_REL := stafproc 88SUBSYS_REL := stafproc 89 90#===================================================================== 91# C/C++ Info Flags 92#===================================================================== 93 94$(stafproc_targets): OBJS = $(stafproc_objs) 95$(stafproc_targets): LIBS = STAF $(if $(STAF_USE_SSL),$(SSL_LIB1) $(SSL_LIB2)) 96 97stafproc_objs :=\ 98 STAFProc\ 99 STAFProcUtil\ 100 STAFProcOSUtil\ 101 STAFHandleManager\ 102 STAFRequestManager\ 103 STAFFSCopyManager\ 104 STAFVariablePool\ 105 STAFTrustManager\ 106 STAFDiagManager\ 107 STAFConnectionManager\ 108 STAFServiceManager\ 109 STAFNotificationList\ 110 STAFService\ 111 STAFSimpleServices\ 112 STAFDelegatedService\ 113 STAFProcessService\ 114 STAFFSService\ 115 STAFHandleService\ 116 STAFLifeCycleService\ 117 STAFVariableService\ 118 STAFServiceService\ 119 STAFQueueService\ 120 STAFShutdownService\ 121 STAFMiscService\ 122 STAFTraceService\ 123 STAFDiagService\ 124 STAFSemService\ 125 STAFTrustService\ 126 STAFExternalService\ 127 STAFHelpService\ 128 STAFConfigService\ 129 STAFConfig 130 131stafproc_objs := $(foreach obj,$(stafproc_objs),$(O)/stafproc/$(obj)$(OS_OE)) 132stafproc_dependents := $(stafproc_objs:$(OS_OE)=.d) 133$(stafproc_dependents): SUBSYS_REL := stafproc 134 135ifdef STAF_USE_SSL 136 LIBDIRS += $(OPENSSL_ROOT)/lib 137 CC_INCLUDEDIRS += $(OPENSSL_INCLUDEDIRS) 138endif 139 140# Include dependencies 141ifneq ($(InCleanup), "1") 142 include $(stafproc_dependents) 143endif 144 145# Include inference rules 146include $(InferenceRules) 147 148# STAFProc targets 149 150ifeq ($(OS_NAME),win32) 151 $(REL)/bin/STAFProc.exe.manifest: $(SRC)/stafproc/STAFProc.exe.manifest $(MAKEFILE_NAME) 152 $(COPY_FILE) 153endif 154 155$(REL)/bin/STAFProc$(OS_EE): $(stafproc_objs) $(LIB_STAF_FP) $(SRC)/stafproc/STAFProc.exe.manifest $(MAKEFILE_NAME) 156 $(LINK_IT) 157 158ifdef STAF_USE_SSL 159 $(REL)/bin/STAF.cfg: $(SRC)/stafproc/STAF.cfg $(MAKEFILE_NAME) 160 $(COPY_FILE) 161else 162 $(REL)/bin/STAF.cfg: $(SRC)/stafproc/STAFNonsecure.cfg $(MAKEFILE_NAME) 163 $(COPY_FILE) 164endif 165 166$(REL)/lib/$(LIB_SSL): $(OPENSSL_LIBDIRS)/$(LIB_SSL_V) 167 $(COPY_FILE) 168 169$(REL)/lib/$(LIB_CRYPTO): $(OPENSSL_LIBDIRS)/$(LIB_CRYPTO_V) 170 $(COPY_FILE) 171 172$(REL)/LICENSE.htm: $(SRC)/LICENSE.htm $(MAKEFILE_NAME) 173 $(COPY_FILE) 174 175$(REL)/NOTICES.htm: $(SRC)/NOTICES.htm $(MAKEFILE_NAME) 176 $(COPY_FILE) 177 178$(REL)/bin/STAFProc.ico: $(SRC)/stafproc/STAFProc.ico $(MAKEFILE_NAME) 179 $(COPY_FILE) 180 181cleanup_stafproc: 182 -@$(DEL) $(O)/stafproc/* $(OUT_ERR_TO_DEV_NULL) 183 -@$(DEL) $(REL)/bin/STAFProc$(OS_EE) $(OUT_ERR_TO_DEV_NULL) 184 -@$(DEL) $(REL)/LICENSE.htm $(OUT_ERR_TO_DEV_NULL) 185 -@$(DEL) $(REL)/NOTICES.htm $(OUT_ERR_TO_DEV_NULL) 186 -@$(DEL) $(REL)/bin/STAF.cfg $(OUT_ERR_TO_DEV_NULL) 187 -@$(DEL) $(REL)/bin/STAFProc.exe.manifest $(OUT_ERR_TO_DEV_NULL) 188 -@$(DEL) $(REL)/lib/$(LIB_SSL) $(OUT_ERR_TO_DEV_NULL) 189 -@$(DEL) $(REL)/lib/$(LIB_CRYPTO) $(OUT_ERR_TO_DEV_NULL) 190