2N/A# The contents of this file are subject to the terms of the 2N/A# Common Development and Distribution License (the "License"). 2N/A# You may not use this file except in compliance with the License. 2N/A# See the License for the specific language governing permissions 2N/A# and limitations under the License. 2N/A# When distributing Covered Code, include this CDDL HEADER in each 2N/A# If applicable, add the following below this CDDL HEADER, with the 2N/A# fields enclosed by brackets "[]" replaced with your own identifying 2N/A# information: Portions Copyright [yyyy] [name of copyright owner] 2N/A# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. 2N/A# Symbol capabilities objects for amd64. 2N/A# objects are grouped by source directory 2N/A# Preserved solely to ease maintenance of 32-bit and 64-bit library builds 2N/A# This macro should ALWAYS be empty; native APIs are already 'large file'. 2N/A# Preserved solely to ease maintenance of 32-bit and 64-bit library builds 2N/A# This macro should ALWAYS be empty; native APIs are already 'large file'. 2N/A# objects from source under $(LIBCDIR)/port 2N/A# Preserved solely to ease maintenance of 32-bit and 64-bit library builds 2N/A# This macro should ALWAYS be empty; native APIs are already 'large file'. 2N/A# Preserved solely to ease maintenance of 32-bit and 64-bit library builds 2N/A# This macro should ALWAYS be empty; native APIs are already 'large file'. 2N/A# modules whose source is provided in the $(SRC)/lib/common directory. 2N/A# This must be done because otherwise the Sun C compiler would insert 2N/A# its own versions of these modules and those versions contain code 2N/A# to call out to C++ initialization functions. Such C++ initialization 2N/A# functions can call back into libc before thread initialization is 2N/A# complete and this leads to segmentation violations and other problems. 2N/A# Since libc contains no C++ code, linking with the minimal crti.o and 2N/A# crtn.o modules is safe and avoids the problems described above. 2N/A# include common library definitions 2N/A# conditions such as the settings of CFLAGS and CPPFLAGS for the libc_i18n stuff 2N/A# need to be compatible with the ones for the libc stuff. Whenever the changes 2N/A# that affect the compilation conditions of libc happened, those for libc_i18n 2N/A# also need to be updated. 2N/A# This is necessary to avoid problems with calling _ex_unwind(). 2N/A# We probably don't want any inlining anyway. 2N/A# Setting THREAD_DEBUG = -DTHREAD_DEBUG (make THREAD_DEBUG=-DTHREAD_DEBUG ...) 2N/A# enables ASSERT() checking in the threads portion of the library. 2N/A# This is automatically enabled for DEBUG builds, not for non-debug builds. 2N/A# Inform the run-time linker about libc specialized initialization 2N/A# Force libc's internal references to be resolved immediately upon loading 2N/A# in order to avoid critical region problems. Since almost all libc symbols 2N/A# are marked 'protected' in the mapfiles, this is a minimal set (15 to 20). 2N/A# Override this top level flag so the compiler builds in its native 2N/A# C99 mode. This has been enabled to support the complex arithmetic 2N/A# libc method of building an archive 2N/A# The "$(GREP) -v ' L '" part is necessary only until 2N/A# lorder is fixed to ignore thread-local variables. 2N/A# extra files for the clean target 2N/A# list of C source for lint 2N/A# conditional assignments 2N/A# Files which need the threads .il inline template 2N/A# large-file-aware components that should be built large 2N/A#$(COMSYSOBJS64:%=pics/%) := \ 2N/A# CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 2N/A#$(SYSOBJS64:%=pics/%) := \ 2N/A# CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 2N/A#$(PORTGEN64:%=pics/%) := \ 2N/A# CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 2N/A#$(PORTSTDIO64:%=pics/%) := \ 2N/A# CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 2N/A#$(PORTSYS64:%=pics/%) := \ 2N/A# CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 2N/A# object files that depend on inline template 2N/A# include common libc targets 2N/A# We need to strip out all CTF data from the static library 2N/A# derived C source and related explicit dependencies