# BEGIN_ICS_COPYRIGHT8 **************************************** # # Copyright (c) 2015-2017, Intel Corporation # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # * Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # * Neither the name of Intel Corporation nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # END_ICS_COPYRIGHT8 **************************************** # Makefile for OPENIB_HOST Project # Include Make Control Settings include $(TL_DIR)/$(PROJ_FILE_DIR)/Makesettings.project # default target for project level makefile is stage stage:: #prepfiles:: prepfiles_global clobber:: clobber_global clobber_tools ALL:: tools BSP_SPECIFIC_DIRS= #=============================================================================# # Definitions: #-----------------------------------------------------------------------------# # Name of SubProjects DS_SUBPROJECTS = # name of executable or downloadable image EXECUTABLE = # OPENIB_FF$(EXE_SUFFIX) # list of sub directories to build DIRS = \ $(TL_DIR)/Makerules \ $(TL_DIR)/IbAccess \ $(TL_DIR)/opamgt \ $(TL_DIR)/Xml \ $(TL_DIR)/IbaTools \ $(TL_DIR)/MpiApps \ $(TL_DIR)/Iih \ $(TL_DIR)/TestTools \ $(TL_DIR)/IbPrint \ $(TL_DIR)/Topology \ $(TL_DIR)/opasadb \ $(TL_DIR)/Lsf \ $(TL_DIR)/Moab \ $(TL_DIR)/Dsap \ $(TL_DIR)/Esm/ib/src/linux/log/usr \ $(TL_DIR)/Esm/ib/src/ibaccess \ $(TL_DIR)/Esm/ib/src/cs \ $(TL_DIR)/Esm/ib/src/config \ $(TL_DIR)/Esm/ib/src/linux/startup/fm_config \ $(BUILD_TARGET_OS) # DISABLED - MWHEINZ #$(TL_DIR)/L8sim # C files (.c) CFILES = \ # Add more c files here # C++ files (.cpp) CCFILES = \ # Add more cpp files here # lex files (.lex) LFILES = \ # Add more lex files here # archive library files (basename, $ARFILES will add MOD_LIB_DIR/prefix and suffix) LIBFILES = # Windows Resource Files (.rc) RSCFILES = # Windows IDL File (.idl) IDLFILE = # Windows Linker Module Definitions (.def) file for dll's DEFFILE = # targets to build during INCLUDES phase (add public includes here) INCLUDE_TARGETS = \ # Add more h hpp files here # Non-compiled files MISC_FILES = # all source files SOURCES = $(CFILES) $(CCFILES) $(LFILES) $(RSCFILES) $(IDLFILE) # Source files to include in DSP File DSP_SOURCES = $(INCLUDE_TARGETS) $(SOURCES) $(MISC_FILES) \ $(RSCFILES) $(DEFFILE) $(MAKEFILE) Makerules.project # all object files OBJECTS = $(CFILES:.c=$(OBJ_SUFFIX)) $(CCFILES:.cpp=$(OBJ_SUFFIX)) \ $(LFILES:.lex=$(OBJ_SUFFIX)) RSCOBJECTS = $(RSCFILES:.rc=$(RES_SUFFIX)) # targets to build during LIBS phase LIB_TARGETS_IMPLIB = LIB_TARGETS_ARLIB = LIB_TARGETS_EXP = $(LIB_TARGETS_IMPLIB:$(ARLIB_SUFFIX)=$(EXP_SUFFIX)) LIB_TARGETS_MISC = # targets to build during CMDS phase CMD_TARGETS_SHLIB = CMD_TARGETS_EXE = $(EXECUTABLE) CMD_TARGETS_MISC = # files to remove during clean phase CLEAN_TARGETS_MISC = CLEAN_TARGETS = $(OBJECTS) $(RSCOBJECTS) $(IDL_TARGETS) $(CLEAN_TARGETS_MISC) # other files to remove during clobber phase CLOBBER_TARGETS_MISC= update_opa_spec.sh ff_build.sh $(TL_DIR)/Fd/buildFeatureDefs # sub-directory to install to within bin BIN_SUBDIR = # sub-directory to install to within include INCLUDE_SUBDIR = # Additional Settings #CLOCALDEBUG = User defined C debugging compilation flags [Empty] #CCLOCALDEBUG = User defined C++ debugging compilation flags [Empty] #CLOCAL = User defined C flags for compiling [Empty] #CCLOCAL = User defined C++ flags for compiling [Empty] #BSCLOCAL = User flags for Browse File Builder [Empty] #DEPENDLOCAL = user defined makedepend flags [Empty] #LINTLOCAL = User defined lint flags [Empty] #LOCAL_INCLUDE_DIRS = User include directories to search for C/C++ headers [Empty] #LDLOCAL = User defined C flags for linking [Empty] #IMPLIBLOCAL = User flags for Object Lirary Manager [Empty] #MIDLLOCAL = User flags for IDL compiler [Empty] #RSCLOCAL = User flags for resource compiler [Empty] #LOCALDEPLIBS = User libraries to include in dependencies [Empty] #LOCALLIBS = User libraries to use when linking [Empty] # (in addition to LOCALDEPLIBS) #LOCAL_LIB_DIRS = User library directories for libpaths [Empty] LOCALDEPLIBS = # Include Make Rules definitions and rules include $(TL_DIR)/$(PROJ_FILE_DIR)/Makerules.project #=============================================================================# # Overrides: #-----------------------------------------------------------------------------# #CCOPT = # C++ optimization flags, default lets build config decide #COPT = # C optimization flags, default lets build config decide #SUBSYSTEM = Subsystem to build for (none, console or windows) [none] # (Windows Only) #USEMFC = How Windows MFC should be used (none, static, shared, no_mfc) [none] # (Windows Only) #=============================================================================# #=============================================================================# # Rules: #-----------------------------------------------------------------------------# # process Sub-directories include $(TL_DIR)/Makerules/Maketargets.toplevel # build cmds and libs include $(TL_DIR)/Makerules/Maketargets.build # install for includes, libs and cmds phases include $(TL_DIR)/Makerules/Maketargets.install # install for stage phase include $(TL_DIR)/Makerules/Maketargets.stage STAGE:: ifeq "$(RELEASE_TAG)" "" $(CONVERT_RELEASETAG) $(MODULEVERSION) > $(PROJ_STAGE_DIR)/version else $(CONVERT_RELEASETAG) $(RELEASE_TAG) > $(PROJ_STAGE_DIR)/version endif echo $(BUILD_TARGET) > $(PROJ_STAGE_DIR)/arch echo $(BUILD_TARGET_OS_VENDOR) > $(PROJ_STAGE_DIR)/distro echo $(BUILD_TARGET_OS_VENDOR_VERSION) > $(PROJ_STAGE_DIR)/distro_version echo $(BUILD_TARGET_OS_ID) > $(PROJ_STAGE_DIR)/os_id # put version number into a file to facilitate rpm construction # presently only INSTALL allows dynamic version patch prepfiles:: check_env ifeq "$(RELEASE_TAG)" "" $(CONVERT_RELEASETAG) $(MODULEVERSION) > $(PROJ_STAGE_DIR)/version else $(CONVERT_RELEASETAG) $(RELEASE_TAG) > $(PROJ_STAGE_DIR)/version endif cd $(PROJ_STAGE_DIR) && find . -print| $(PREP) cd $(PROJ_STAGE_DIR) && $(PATCH_VERSION) -m % -n `$(CONVERT_RELEASETAG) $(RELEASE_TAG)` $(RELEASE_TAG) INSTALL cd $(PROJ_STAGE_DIR) && [ ! -e fastfabric/opafastfabric ] || $(PATCH_VERSION) -m % -n `$(CONVERT_RELEASETAG) $(RELEASE_TAG)` $(RELEASE_TAG) fastfabric/opahostadmin fastfabric/opachassisadmin fastfabric/opaswitchadmin fastfabric/opafastfabric cd $(PROJ_STAGE_DIR) && $(PATCH_BRAND) -m % "$(BUILD_BRAND)" INSTALL cd $(PROJ_STAGE_DIR) && [ ! -e fastfabric/opafastfabric ] || $(PATCH_BRAND) -m % "$(BUILD_BRAND)" fastfabric/opafastfabric # OS specific packaging step # package builds standard package package: cd $(BUILD_TARGET_OS) && $(MAKE) $(MFLAGS) $@ .PHONY: package vars_include: vars_include_global final_package: cd $(BUILD_TARGET_OS) && $(MAKE) $(MFLAGS) $@ .PHONY: final_package # Unit test execution #include $(TL_DIR)/Makerules/Maketargets.runtest tools: $(TL_DIR)/Fd/buildFeatureDefs mkdir -p $(COMN_LIB_DIRS) $(GLOBAL_SHLIB_DIR) cd $(TL_DIR)/MakeTools && $(MAKE) $(MFLAGS) clobber_tools: cd $(TL_DIR)/MakeTools && $(MAKE) $(MFLAGS) clobber CLOBBER:: rm -f packaged_files dist_files #=============================================================================# #=============================================================================# # DO NOT DELETE THIS LINE -- make depend depends on it. #=============================================================================#