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
|