152 lines
3.9 KiB
Makefile
152 lines
3.9 KiB
Makefile
|
#################################################################
|
||
|
# #
|
||
|
# Copyright 2002, 2011 Fidelity Information Services, Inc #
|
||
|
# #
|
||
|
# This source code contains the intellectual property #
|
||
|
# of its copyright holder(s), and is made available #
|
||
|
# under a license. If you do not know the terms of #
|
||
|
# the license, please stop and do not read further. #
|
||
|
# #
|
||
|
#################################################################
|
||
|
############### Define platform-specific directory ring-down ##################################
|
||
|
# The purpose of this file is to define the source directories
|
||
|
# for each platform
|
||
|
# It also defines
|
||
|
# - gt_build_type <--- significance for 32bit Linux
|
||
|
# - gt_use_nsb <--- 32bit Linux and CYGWIN use NSB
|
||
|
# - gt_build_xfer_desc <- ia64/x86_64 Linuxen and HPUX IA64 use this
|
||
|
|
||
|
# Preserve sanity ###############################################
|
||
|
# 32bit Linux/CYGWIN are the only GT.M builds that use
|
||
|
# non-shared binaries, aka nsb. 32bit Linux builds are
|
||
|
# the most error prone since x86 starts at i386 till i686
|
||
|
# and you can build 32bit on x86_64 by setting OBJECT_MODE
|
||
|
# to 32
|
||
|
# We must do these checks first to ID NSB builds and 32bit
|
||
|
# linux builds which throw a monkey wrench into the whole
|
||
|
# process.
|
||
|
|
||
|
##################################
|
||
|
# gt_machine_type set in comlist.mk to $(shell uname -m)
|
||
|
# gt_os_type set in comlist.mk to $(shell uname -s)
|
||
|
|
||
|
# only HPUX ia64 and Linux ia64/x86_64 need this option
|
||
|
# optimize for not using it
|
||
|
gt_build_xfer_desc=0
|
||
|
|
||
|
# default to using shared libraries
|
||
|
gt_use_nsb=0
|
||
|
|
||
|
# Sanitize the CYGWIN gt_os_type and mark it as NSB
|
||
|
ifeq ($(findstring CYGWIN,$(gt_os_type)), CYGWIN)
|
||
|
$(info Cygwin Host)
|
||
|
gt_os_type=CYGWIN
|
||
|
gt_use_nsb=1
|
||
|
endif
|
||
|
|
||
|
# BEGIN Linux host, check for 32 bitness
|
||
|
gt_build_type=0
|
||
|
ifeq ($(gt_os_type), Linux)
|
||
|
gt_build_type=64
|
||
|
|
||
|
ifeq ($(gt_machine_type),i386)
|
||
|
gt_use_nsb=1
|
||
|
gt_build_type=32
|
||
|
endif
|
||
|
|
||
|
ifeq ($(gt_machine_type),i686)
|
||
|
gt_use_nsb=1
|
||
|
gt_build_type=32
|
||
|
endif
|
||
|
|
||
|
ifeq ($(OBJECT_MODE),32)
|
||
|
gt_use_nsb=1
|
||
|
gt_build_type=32
|
||
|
# Checking for OBJECT_MODE 32 is not accurate
|
||
|
# throw an error if the ARCH is not x86_64
|
||
|
ifneq ($(gt_machine_type),x86_64)
|
||
|
$(error OBJECT_MODE set to 32, but arch is $(gt_machine_type)))
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
$(info Linux Host $(gt_build_type))
|
||
|
endif
|
||
|
# END Linux host, check for 32 bitness
|
||
|
|
||
|
|
||
|
# BEGIN common dirs, optimized for shared libs
|
||
|
common_dirs_sp=unix_gnp unix_cm unix port_cm port
|
||
|
ifeq ($(gt_use_nsb), 1)
|
||
|
common_dirs_sp=unix_gnp unix_cm unix_nsb unix port_cm port
|
||
|
endif
|
||
|
# END common dirs, optimized for shared libs
|
||
|
|
||
|
|
||
|
# BEGIN ARCH dirs
|
||
|
ifeq ($(gt_os_type), SunOS)
|
||
|
lib_dirs_sp=sun sparc $(common_dirs_sp)
|
||
|
endif
|
||
|
|
||
|
ifeq ($(gt_os_type), AIX)
|
||
|
lib_dirs_sp=aix rs6000 $(common_dirs_sp)
|
||
|
endif
|
||
|
|
||
|
ifeq ($(gt_os_type), OSF1)
|
||
|
lib_dirs_sp=dux alpha $(common_dirs_sp)
|
||
|
endif
|
||
|
|
||
|
ifeq ($(gt_os_type), CYGWIN)
|
||
|
lib_dirs_sp=linux i386 x86_regs $(common_dirs_sp)
|
||
|
endif
|
||
|
|
||
|
ifeq ($(gt_os_type), Linux)
|
||
|
|
||
|
## Begin Linux specific cludgery
|
||
|
### Ugliness due to building 32bit x86 GT.M on x86_64 machines
|
||
|
ifeq ($(gt_build_type),32)
|
||
|
linux_arch=linux i386 x86_regs
|
||
|
else
|
||
|
linux_arch=linux x86_64 x86_regs
|
||
|
gt_build_xfer_desc=1
|
||
|
endif
|
||
|
|
||
|
### WARNING: leave all 64bit Linuxen below this point
|
||
|
ifeq ($(gt_machine_type),s390x)
|
||
|
linux_arch=l390 s390 linux
|
||
|
endif
|
||
|
ifeq ($(gt_machine_type), ia64)
|
||
|
linux_arch=linux ia64
|
||
|
gt_build_xfer_desc=1
|
||
|
endif
|
||
|
## now set lib_dirs_sp
|
||
|
lib_dirs_sp=$(linux_arch) $(common_dirs_sp)
|
||
|
$(info Linux Host $(linux_arch))
|
||
|
## End Linux specific cludgery
|
||
|
endif
|
||
|
|
||
|
ifeq ($(gt_os_type), HP-UX)
|
||
|
ifeq ($(gt_machine_type),ia64)
|
||
|
lib_dirs_sp=hpux ia64 $(common_dirs_sp)
|
||
|
gt_build_xfer_desc=1
|
||
|
else
|
||
|
lib_dirs_sp=hpux hppa $(common_dirs_sp)
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
ifeq ($(gt_os_type), OS/390)
|
||
|
lib_dirs_sp=os390 s390 $(common_dirs_sp)
|
||
|
endif
|
||
|
# END Arch
|
||
|
|
||
|
|
||
|
# final sources list, prepend sr_
|
||
|
gt_src_list:=$(addprefix sr_, $(lib_dirs_sp))
|
||
|
|
||
|
## in house. override the above selections
|
||
|
## dunno what this is for
|
||
|
ifdef usertype
|
||
|
gt_src_list:=src inc tools pct
|
||
|
endif
|
||
|
|
||
|
$(info Source Directory List: $(gt_src_list))
|