Print this page
5196 The cw wrapper restricts gcc to -O2


   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 #
  22 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
  23 # Copyright (c) 2012, Joyent, Inc.  All rights reserved.
  24 # Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
  25 # Copyright 2013 Garrett D'Amore <garrett@damore.org>

  26 #
  27 # Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  28 # Use is subject to license terms.
  29 #
  30 
  31 LIBCDIR=        $(SRC)/lib/libc
  32 LIB_PIC=        libc_pic.a
  33 VERS=           .1
  34 CPP=            /usr/lib/cpp
  35 TARGET_ARCH=    sparc
  36 
  37 # objects are grouped by source directory
  38 
  39 # Symbol capabilities objects.
  40 EXTPICS=                        \
  41         $(LIBCDIR)/capabilities/sun4u/sparc/pics/symcap.o \
  42         $(LIBCDIR)/capabilities/sun4u-opl/sparc/pics/symcap.o \
  43         $(LIBCDIR)/capabilities/sun4u-us3-hwcap1/sparc/pics/symcap.o \
  44         $(LIBCDIR)/capabilities/sun4u-us3-hwcap2/sparc/pics/symcap.o \
  45         $(LIBCDIR)/capabilities/sun4v-hwcap1/sparc/pics/symcap.o \


1233 $(IL:%=pics/%) := CFLAGS += $(LIBCBASE)/fp/base.il
1234 
1235 # Files in fp subdirectory which need __quad.il inline template
1236 QIL=                            \
1237         _Q_add.o                \
1238         _Q_cmp.o                \
1239         _Q_cmpe.o               \
1240         _Q_div.o                \
1241         _Q_dtoq.o               \
1242         _Q_fcc.o                \
1243         _Q_mul.o                \
1244         _Q_qtod.o               \
1245         _Q_qtoi.o               \
1246         _Q_qtos.o               \
1247         _Q_qtou.o               \
1248         _Q_sqrt.o               \
1249         _Q_stoq.o               \
1250         _Q_sub.o
1251 
1252 $(QIL:%=pics/%) := CFLAGS += $(LIBCDIR)/$(MACH)/fp/__quad.il
1253 pics/_Q%.o := sparc_COPTFLAG = -xO4 -dalign
1254 pics/__quad%.o := sparc_COPTFLAG = -xO4 -dalign
1255 
1256 # large-file-aware components that should be built large
1257 
1258 $(COMSYSOBJS64:%=pics/%) := \
1259         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1260 
1261 $(SYSOBJS64:%=pics/%) := \
1262         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1263 
1264 $(PORTGEN64:%=pics/%) := \
1265         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1266 
1267 $(PORTSTDIO64:%=pics/%) := \
1268         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1269 
1270 $(PORTSYS64:%=pics/%) := \
1271         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1272 
1273 $(PORTSTDIO_W:%=pics/%) := \
1274         CPPFLAGS += -D_WIDE
1275 
1276 $(PORTPRINT_W:%=pics/%) := \
1277         CPPFLAGS += -D_WIDE
1278 
1279 # printf/scanf functions to support c89-sized intmax_t variables
1280 $(PORTPRINT_C89:%=pics/%) := \
1281         CPPFLAGS += -D_C89_INTMAX32
1282 
1283 $(PORTSTDIO_C89:%=pics/%) := \
1284         CPPFLAGS += -D_C89_INTMAX32
1285 
1286 $(PORTI18N_COND:%=pics/%) := \
1287         CPPFLAGS += -D_WCS_LONGLONG
1288 
1289 # Files which need extra optimization
1290 pics/getenv.o := sparc_COPTFLAG = -xO4
1291 
1292 .KEEP_STATE:
1293 
1294 all: $(LIBS) $(LIB_PIC)
1295 
1296 lint    :=      CPPFLAGS += -I$(LIBCDIR)/$(MACH)/fp
1297 lint    :=      CPPFLAGS += -D_MSE_INT_H -D_LCONV_C99
1298 lint    :=      LINTFLAGS += -mn
1299 
1300 lint:
1301         @echo $(LINT.c) ... $(LDLIBS)
1302         @$(LINT.c) $(SRCS) $(LDLIBS)
1303 
1304 $(LINTLIB):= SRCS=$(LIBCDIR)/port/llib-lc
1305 $(LINTLIB):= CPPFLAGS += -D_MSE_INT_H
1306 $(LINTLIB):= LINTFLAGS=-nvx
1307 
1308 # object files that depend on inline template
1309 $(TIL:%=pics/%): $(LIBCBASE)/threads/sparc.il
1310 $(IL:%=pics/%): $(LIBCBASE)/fp/base.il




   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 #
  22 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
  23 # Copyright (c) 2012, Joyent, Inc.  All rights reserved.
  24 # Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
  25 # Copyright 2013 Garrett D'Amore <garrett@damore.org>
  26 # Copyright 2014 Gary Mills
  27 #
  28 # Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  29 # Use is subject to license terms.
  30 #
  31 
  32 LIBCDIR=        $(SRC)/lib/libc
  33 LIB_PIC=        libc_pic.a
  34 VERS=           .1
  35 CPP=            /usr/lib/cpp
  36 TARGET_ARCH=    sparc
  37 
  38 # objects are grouped by source directory
  39 
  40 # Symbol capabilities objects.
  41 EXTPICS=                        \
  42         $(LIBCDIR)/capabilities/sun4u/sparc/pics/symcap.o \
  43         $(LIBCDIR)/capabilities/sun4u-opl/sparc/pics/symcap.o \
  44         $(LIBCDIR)/capabilities/sun4u-us3-hwcap1/sparc/pics/symcap.o \
  45         $(LIBCDIR)/capabilities/sun4u-us3-hwcap2/sparc/pics/symcap.o \
  46         $(LIBCDIR)/capabilities/sun4v-hwcap1/sparc/pics/symcap.o \


1234 $(IL:%=pics/%) := CFLAGS += $(LIBCBASE)/fp/base.il
1235 
1236 # Files in fp subdirectory which need __quad.il inline template
1237 QIL=                            \
1238         _Q_add.o                \
1239         _Q_cmp.o                \
1240         _Q_cmpe.o               \
1241         _Q_div.o                \
1242         _Q_dtoq.o               \
1243         _Q_fcc.o                \
1244         _Q_mul.o                \
1245         _Q_qtod.o               \
1246         _Q_qtoi.o               \
1247         _Q_qtos.o               \
1248         _Q_qtou.o               \
1249         _Q_sqrt.o               \
1250         _Q_stoq.o               \
1251         _Q_sub.o
1252 
1253 $(QIL:%=pics/%) := CFLAGS += $(LIBCDIR)/$(MACH)/fp/__quad.il
1254 pics/_Q%.o := sparc_COPTFLAG = -_cc=-xO4 -_gcc=-O2 -dalign
1255 pics/__quad%.o := sparc_COPTFLAG = -_cc=-xO4 -_gcc=-O2 -dalign
1256 
1257 # large-file-aware components that should be built large
1258 
1259 $(COMSYSOBJS64:%=pics/%) := \
1260         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1261 
1262 $(SYSOBJS64:%=pics/%) := \
1263         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1264 
1265 $(PORTGEN64:%=pics/%) := \
1266         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1267 
1268 $(PORTSTDIO64:%=pics/%) := \
1269         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1270 
1271 $(PORTSYS64:%=pics/%) := \
1272         CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1273 
1274 $(PORTSTDIO_W:%=pics/%) := \
1275         CPPFLAGS += -D_WIDE
1276 
1277 $(PORTPRINT_W:%=pics/%) := \
1278         CPPFLAGS += -D_WIDE
1279 
1280 # printf/scanf functions to support c89-sized intmax_t variables
1281 $(PORTPRINT_C89:%=pics/%) := \
1282         CPPFLAGS += -D_C89_INTMAX32
1283 
1284 $(PORTSTDIO_C89:%=pics/%) := \
1285         CPPFLAGS += -D_C89_INTMAX32
1286 
1287 $(PORTI18N_COND:%=pics/%) := \
1288         CPPFLAGS += -D_WCS_LONGLONG
1289 
1290 # Files which need extra optimization
1291 pics/getenv.o := sparc_COPTFLAG = -_cc=-xO4 -_gcc=-O2
1292 
1293 .KEEP_STATE:
1294 
1295 all: $(LIBS) $(LIB_PIC)
1296 
1297 lint    :=      CPPFLAGS += -I$(LIBCDIR)/$(MACH)/fp
1298 lint    :=      CPPFLAGS += -D_MSE_INT_H -D_LCONV_C99
1299 lint    :=      LINTFLAGS += -mn
1300 
1301 lint:
1302         @echo $(LINT.c) ... $(LDLIBS)
1303         @$(LINT.c) $(SRCS) $(LDLIBS)
1304 
1305 $(LINTLIB):= SRCS=$(LIBCDIR)/port/llib-lc
1306 $(LINTLIB):= CPPFLAGS += -D_MSE_INT_H
1307 $(LINTLIB):= LINTFLAGS=-nvx
1308 
1309 # object files that depend on inline template
1310 $(TIL:%=pics/%): $(LIBCBASE)/threads/sparc.il
1311 $(IL:%=pics/%): $(LIBCBASE)/fp/base.il