Makefile revision 7b1b42816975f5b0069dff7932115ba672ad125c
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User# CDDL HEADER START
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# Common Development and Distribution License (the "License").
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You may not use this file except in compliance with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fields enclosed by brackets "[]" replaced with your own identifying
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# objects are grouped by source directory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# local objects
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# This macro should ALWAYS be empty; native APIs are already 'large file'.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# This macro should ALWAYS be empty; native APIs are already 'large file'.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# objects from source under ../port
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# This macro should ALWAYS be empty; native APIs are already 'large file'.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# This macro should ALWAYS be empty; native APIs are already 'large file'.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# NOTE: libc.so.1 must be linked with the minimal crti.o and crtn.o
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# modules whose source is provided in the $(SRC)/lib/common directory.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# This must be done because otherwise the Sun C compiler would insert
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# its own versions of these modules and those versions contain code
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# to call out to C++ initialization functions. Such C++ initialization
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# functions can call back into libc before thread initialization is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# complete and this leads to segmentation violations and other problems.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Since libc contains no C++ code, linking with the minimal crti.o and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# crtn.o modules is safe and avoids the problems described above.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# include common library definitions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# NOTE: libc_i18n.a will be part of libc.so.1. Therefore, the compilation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# conditions such as the settings of CFLAGS and CPPFLAGS for the libc_i18n stuff
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# need to be compatible with the ones for the libc stuff. Whenever the changes
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# that affect the compilation conditions of libc happened, those for libc_i18n
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# also need to be updated.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# This is necessary to avoid problems with calling _ex_unwind().
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# We probably don't want any inlining anyway.
# proc64_id.o is built with defines in $(SRC)/uts/intel/sys/x86_archext.h
CLEANFILES= \
assym.h \
genassym \
$(ALTPICS)
SRCS= \
$(THREADSOBJS:%.o=../port/threads/%.c) \
$(THREADSMACHOBJS:%.o=threads/%.c) \
$(UNWINDMACHOBJS:%.o=unwind/%.c) \
$(I386FPOBJS:%.o=../i386/fp/%.c) \
# $(DYNLIB) $(LIB_PIC) := DYNOBJS = _rtbootld.o
TIL= \
aio.o \
alloc.o \
atexit.o \
atfork.o \
cancel.o \
errno.o \
lwp.o \
ma.o \
rand.o \
rwlock.o \
scalls.o \
sched.o \
sema.o \
spawn.o \
stack.o \
synch.o \
thr.o \
tls.o \
$(PORTSTDIO_W:%=pics/%) := \
$(PORTPRINT_W:%=pics/%) := \
$(PORTPRINT_C89:%=pics/%) := \
$(PORTSTDIO_C89:%=pics/%) := \
$(PORTI18N_COND:%=pics/%) := \
lint:
$(BUILD.AR)
# assym.h build rules
# XXX A hack. Perhaps this should be 'CPPFLAGS.native' and
# live in Makefile.master
./genassym >>$@