Makefile revision f841f6ad96ea6675d6c6b35c749eaac601799fdf
e379fc6d7f79163700290d92ce75deb4f3005301jerenkrantz# CDDL HEADER START
e379fc6d7f79163700290d92ce75deb4f3005301jerenkrantz# The contents of this file are subject to the terms of the
e379fc6d7f79163700290d92ce75deb4f3005301jerenkrantz# Common Development and Distribution License (the "License").
e379fc6d7f79163700290d92ce75deb4f3005301jerenkrantz# You may not use this file except in compliance with the License.
e379fc6d7f79163700290d92ce75deb4f3005301jerenkrantz# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# See the License for the specific language governing permissions
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# and limitations under the License.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# When distributing Covered Code, include this CDDL HEADER in each
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# If applicable, add the following below this CDDL HEADER, with the
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# fields enclosed by brackets "[]" replaced with your own identifying
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# information: Portions Copyright [yyyy] [name of copyright owner]
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# CDDL HEADER END
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha# Use is subject to license terms.
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha# ident "%Z%%M% %I% %E% SMI"
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# objects are grouped by source directory
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# local objects
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# This macro should ALWAYS be empty; native APIs are already 'large file'.
71cd8b65badad4cda51aa7eaba1dea44f78190c7jerenkrantz# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
71cd8b65badad4cda51aa7eaba1dea44f78190c7jerenkrantz# This macro should ALWAYS be empty; native APIs are already 'large file'.
855aa233fcb7b51d738fca5c36585646ae1960c3jerenkrantz# objects from source under ../port
047cb8df15a408e0c0c6125c4a351b35aa3c6e82sf# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
047cb8df15a408e0c0c6125c4a351b35aa3c6e82sf# This macro should ALWAYS be empty; native APIs are already 'large file'.
RTOBJS= \
mqueue.o \
sched.o \
sem.o \
shm.o \
TPOOLOBJS= \
THREADSOBJS= \
alloc.o \
cancel.o \
rwlock.o \
scalls.o \
sema.o \
spawn.o \
synch.o \
thr.o \
tls.o \
PORTSYS= \
execl.o \
execle.o \
execv.o \
fcntl.o \
fsmisc.o \
fsync.o \
label.o \
lockf.o \
lwp.o \
msgsys.o \
nfssys.o \
openat.o \
ppriv.o \
sbrk.o \
semsys.o \
shmsys.o \
signal.o \
time.o \
ustat.o \
PORTREGEX= \
glob.o \
regcmp.o \
regex.o \
MOSTOBJS= \
$(STRETS) \
$(CRTOBJS) \
$(DYNOBJS) \
$(FPOBJS) \
$(FPOBJS64) \
$(FPASMOBJS) \
$(ATOMICOBJS) \
$(COMOBJS) \
$(GENOBJS) \
$(PORTFP) \
$(PORTGEN) \
$(PORTGEN64) \
$(PORTI18N) \
$(PORTI18N_COND) \
$(PORTPRINT) \
$(PORTPRINT_W) \
$(PORTREGEX) \
$(PORTSTDIO) \
$(PORTSTDIO64) \
$(PORTSTDIO_W) \
$(PORTSYS) \
$(PORTSYS64) \
$(AIOOBJS) \
$(RTOBJS) \
$(TPOOLOBJS) \
$(THREADSOBJS) \
$(THREADSMACHOBJS) \
$(THREADSASMOBJS) \
$(UNWINDMACHOBJS) \
$(UNWINDASMOBJS) \
$(COMSYSOBJS) \
$(SYSOBJS) \
$(COMSYSOBJS64) \
$(SYSOBJS64) \
$(VALUES)
TRACEOBJS= \
# Since libc contains no C++ code, linking with the minimal crti.o and
# crtn.o modules is safe and avoids the problems described above.
# NOTE: libc_i18n.a will be part of libc.so.1. Therefore, the compilation
CLEANFILES= \
assym.h \
genassym \
$(ALTPICS)
SRCS= \
$(THREADSOBJS:%.o=../port/threads/%.c) \
$(UNWINDMACHOBJS:%.o=../port/unwind/%.c) \
# $(DYNLIB) $(LIB_PIC) := DYNOBJS = _rtbootld.o
$(MAPFILE):
TIL= \
aio.o \
alloc.o \
atexit.o \
atfork.o \
cancel.o \
errno.o \
lwp.o \
ma.o \
rand.o \
rwlock.o \
scalls.o \
sema.o \
spawn.o \
stack.o \
synch.o \
thr.o \
tls.o \
tsd.o \
IL= \
# Files in fp subdirectory which need __quad.il inline template
QIL= \
_Q_add.o \
_Q_cmp.o \
_Q_div.o \
_Q_fcc.o \
_Q_mul.o \
_Q_sub.o \
# Files in crt subdirectory which need muldiv64.il inline template
#CIL= mul64.o divrem64.o
$(PORTSTDIO_W:%=pics/%) := \
$(PORTPRINT_W:%=pics/%) := \
$(PORTI18N_COND:%=pics/%) := \
lint:
#$(CIL:%=pics/%): $(LIBCBASE)/crt/muldiv64.il
$(BUILD.AR)
#crt/_rtbootld.s: crt/_rtboot.s crt/_rtld.c
# $(RM) crt/_rtld.s
# assym.h build rules
# XXX A hack. Perhaps this should be 'CPPFLAGS.native' and
# live in Makefile.master
./genassym >>$@