17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21 #
22 # Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
23 # Copyright 2016 Joyent, Inc.
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= i386
36
37 VALUES= values-Xa.o
38
39 # objects are grouped by source directory
40
41 # local objects
42 STRETS=
43
44 CRTOBJS= \
45 cerror.o \
46 cerror64.o
47
48 DYNOBJS= \
49 _rtbootld.o
50
51 FPOBJS= \
52 _D_cplx_div.o \
53 _D_cplx_div_ix.o \
54 _D_cplx_div_rx.o \
55 _D_cplx_lr_div.o \
56 _D_cplx_lr_div_ix.o \
93 chacha.o
94
95 XATTROBJS= \
96 xattr_common.o
97
98 COMOBJS= \
99 bcmp.o \
100 bcopy.o \
101 bsearch.o \
102 bzero.o \
103 qsort.o \
104 strtol.o \
105 strtoul.o \
106 strtoll.o \
107 strtoull.o
108
109 DTRACEOBJS= \
110 dtrace_data.o
111
112 GENOBJS= \
113 _div64.o \
114 _divdi3.o \
115 _getsp.o \
116 _mul64.o \
117 abs.o \
118 alloca.o \
119 arc4random.o \
120 arc4random_uniform.o \
121 byteorder.o \
122 byteorder64.o \
123 cuexit.o \
124 ecvt.o \
125 endian.o \
126 errlst.o \
127 i386_data.o \
128 ladd.o \
129 ldivide.o \
130 lmul.o \
131 lock.o \
132 lshiftl.o \
288 stty.o \
289 sync.o \
290 sysconfig.o \
291 sysfs.o \
292 sysinfo.o \
293 syslwp.o \
294 times.o \
295 ulimit.o \
296 umask.o \
297 umount2.o \
298 utssys.o \
299 uucopy.o \
300 vhangup.o \
301 waitid.o \
302 write.o \
303 writev.o \
304 yield.o
305
306 SYSOBJS= \
307 __clock_gettime.o \
308 __getcontext.o \
309 __uadmin.o \
310 _lwp_mutex_unlock.o \
311 _stack_grow.o \
312 door.o \
313 forkx.o \
314 forkallx.o \
315 getcontext.o \
316 gettimeofday.o \
317 lwp_private.o \
318 nuname.o \
319 ptrace.o \
320 syscall.o \
321 sysi86.o \
322 tls_get_addr.o \
323 uadmin.o \
324 umount.o \
325 uname.o \
326 vforkx.o \
327 xstat.o
899 lockf64.o \
900 stat64.o
901
902 PORTSYS= \
903 _autofssys.o \
904 access.o \
905 acctctl.o \
906 bsd_signal.o \
907 chmod.o \
908 chown.o \
909 corectl.o \
910 epoll.o \
911 eventfd.o \
912 exacctsys.o \
913 execl.o \
914 execle.o \
915 execv.o \
916 fcntl.o \
917 getpagesizes.o \
918 getpeerucred.o \
919 inst_sync.o \
920 issetugid.o \
921 label.o \
922 link.o \
923 lockf.o \
924 lwp.o \
925 lwp_cond.o \
926 lwp_rwlock.o \
927 lwp_sigmask.o \
928 meminfosys.o \
929 mkdir.o \
930 mknod.o \
931 msgsys.o \
932 nfssys.o \
933 open.o \
934 pgrpsys.o \
935 posix_sigwait.o \
936 ppriv.o \
937 psetsys.o \
938 rctlsys.o \
1103 DTRACE_DATA = -zdtrace=dtrace_data
1104 DYNFLAGS += $(DTRACE_DATA)
1105
1106 # DTrace needs an executable data segment.
1107 MAPFILE.NED=
1108
1109 BUILD.s= $(AS) $(ASFLAGS) $< -o $@
1110
1111 # Override this top level flag so the compiler builds in its native
1112 # C99 mode. This has been enabled to support the complex arithmetic
1113 # added to libc.
1114 C99MODE= $(C99_ENABLE)
1115
1116 # libc method of building an archive
1117 # The "$(GREP) -v ' L '" part is necessary only until
1118 # lorder is fixed to ignore thread-local variables.
1119 BUILD.AR= $(RM) $@ ; \
1120 $(AR) q $@ `$(LORDER) $(MOSTOBJS:%=$(DIR)/%) | $(GREP) -v ' L ' | $(TSORT)`
1121
1122 # extra files for the clean target
1123 CLEANFILES= \
1124 $(LIBCDIR)/port/gen/errlst.c \
1125 $(LIBCDIR)/port/gen/new_list.c \
1126 assym.h \
1127 genassym \
1128 crt/_rtld.s \
1129 crt/_rtbootld.s \
1130 pics/_rtbootld.o \
1131 pics/crti.o \
1132 pics/crtn.o \
1133 $(ALTPICS)
1134
1135 CLOBBERFILES += $(LIB_PIC)
1136
1137 # list of C source for lint
1138 SRCS= \
1139 $(ATOMICOBJS:%.o=$(SRC)/common/atomic/%.c) \
1140 $(XATTROBJS:%.o=$(SRC)/common/xattr/%.c) \
1141 $(COMOBJS:%.o=$(SRC)/common/util/%.c) \
1142 $(DTRACEOBJS:%.o=$(SRC)/common/dtrace/%.c) \
1143 $(PORTFP:%.o=$(LIBCDIR)/port/fp/%.c) \
1234 $(PORTSYS64:%=pics/%) := \
1235 CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1236
1237 $(PORTSTDIO_W:%=pics/%) := \
1238 CPPFLAGS += -D_WIDE
1239
1240 $(PORTPRINT_W:%=pics/%) := \
1241 CPPFLAGS += -D_WIDE
1242
1243 $(PORTPRINT_C89:%=pics/%) := \
1244 CPPFLAGS += -D_C89_INTMAX32
1245
1246 $(PORTSTDIO_C89:%=pics/%) := \
1247 CPPFLAGS += -D_C89_INTMAX32
1248
1249 $(PORTI18N_COND:%=pics/%) := \
1250 CPPFLAGS += -D_WCS_LONGLONG
1251
1252 pics/arc4random.o := CPPFLAGS += -I$(SRC)/common/crypto/chacha
1253
1254 .KEEP_STATE:
1255
1256 all: $(LIBS) $(LIB_PIC)
1257
1258 lint := CPPFLAGS += -I$(LIBCDIR)/$(MACH)/fp
1259 lint := CPPFLAGS += -D_MSE_INT_H -D_LCONV_C99
1260 lint := LINTFLAGS += -mn -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
1261
1262 lint:
1263 @echo $(LINT.c) ...
1264 @$(LINT.c) $(SRCS) $(LDLIBS)
1265
1266 $(LINTLIB):= SRCS=$(LIBCDIR)/port/llib-lc
1267 $(LINTLIB):= CPPFLAGS += -D_MSE_INT_H
1268 $(LINTLIB):= LINTFLAGS=-nvx
1269
1270 # object files that depend on inline template
1271 $(TIL:%=pics/%): $(LIBCBASE)/threads/i386.il
1272 # pics/mul64.o: $(LIBCBASE)/crt/mul64.il
1273
|
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21 #
22 # Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
23 # Copyright 2016 Joyent, Inc.
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= i386
36
37 # include comm page definitions
38 include $(SRC)/lib/commpage/Makefile.shared.com
39 include $(SRC)/lib/commpage/Makefile.shared.targ
40
41 VALUES= values-Xa.o
42
43 # objects are grouped by source directory
44
45 # local objects
46 STRETS=
47
48 CRTOBJS= \
49 cerror.o \
50 cerror64.o
51
52 DYNOBJS= \
53 _rtbootld.o
54
55 FPOBJS= \
56 _D_cplx_div.o \
57 _D_cplx_div_ix.o \
58 _D_cplx_div_rx.o \
59 _D_cplx_lr_div.o \
60 _D_cplx_lr_div_ix.o \
97 chacha.o
98
99 XATTROBJS= \
100 xattr_common.o
101
102 COMOBJS= \
103 bcmp.o \
104 bcopy.o \
105 bsearch.o \
106 bzero.o \
107 qsort.o \
108 strtol.o \
109 strtoul.o \
110 strtoll.o \
111 strtoull.o
112
113 DTRACEOBJS= \
114 dtrace_data.o
115
116 GENOBJS= \
117 $(COMMPAGE_OBJS) \
118 _div64.o \
119 _divdi3.o \
120 _getsp.o \
121 _mul64.o \
122 abs.o \
123 alloca.o \
124 arc4random.o \
125 arc4random_uniform.o \
126 byteorder.o \
127 byteorder64.o \
128 cuexit.o \
129 ecvt.o \
130 endian.o \
131 errlst.o \
132 i386_data.o \
133 ladd.o \
134 ldivide.o \
135 lmul.o \
136 lock.o \
137 lshiftl.o \
293 stty.o \
294 sync.o \
295 sysconfig.o \
296 sysfs.o \
297 sysinfo.o \
298 syslwp.o \
299 times.o \
300 ulimit.o \
301 umask.o \
302 umount2.o \
303 utssys.o \
304 uucopy.o \
305 vhangup.o \
306 waitid.o \
307 write.o \
308 writev.o \
309 yield.o
310
311 SYSOBJS= \
312 __clock_gettime.o \
313 __clock_gettime_sys.o \
314 __getcontext.o \
315 __uadmin.o \
316 _lwp_mutex_unlock.o \
317 _stack_grow.o \
318 door.o \
319 forkx.o \
320 forkallx.o \
321 getcontext.o \
322 gettimeofday.o \
323 lwp_private.o \
324 nuname.o \
325 ptrace.o \
326 syscall.o \
327 sysi86.o \
328 tls_get_addr.o \
329 uadmin.o \
330 umount.o \
331 uname.o \
332 vforkx.o \
333 xstat.o
905 lockf64.o \
906 stat64.o
907
908 PORTSYS= \
909 _autofssys.o \
910 access.o \
911 acctctl.o \
912 bsd_signal.o \
913 chmod.o \
914 chown.o \
915 corectl.o \
916 epoll.o \
917 eventfd.o \
918 exacctsys.o \
919 execl.o \
920 execle.o \
921 execv.o \
922 fcntl.o \
923 getpagesizes.o \
924 getpeerucred.o \
925 inotify.o \
926 inst_sync.o \
927 issetugid.o \
928 label.o \
929 link.o \
930 lockf.o \
931 lwp.o \
932 lwp_cond.o \
933 lwp_rwlock.o \
934 lwp_sigmask.o \
935 meminfosys.o \
936 mkdir.o \
937 mknod.o \
938 msgsys.o \
939 nfssys.o \
940 open.o \
941 pgrpsys.o \
942 posix_sigwait.o \
943 ppriv.o \
944 psetsys.o \
945 rctlsys.o \
1110 DTRACE_DATA = -zdtrace=dtrace_data
1111 DYNFLAGS += $(DTRACE_DATA)
1112
1113 # DTrace needs an executable data segment.
1114 MAPFILE.NED=
1115
1116 BUILD.s= $(AS) $(ASFLAGS) $< -o $@
1117
1118 # Override this top level flag so the compiler builds in its native
1119 # C99 mode. This has been enabled to support the complex arithmetic
1120 # added to libc.
1121 C99MODE= $(C99_ENABLE)
1122
1123 # libc method of building an archive
1124 # The "$(GREP) -v ' L '" part is necessary only until
1125 # lorder is fixed to ignore thread-local variables.
1126 BUILD.AR= $(RM) $@ ; \
1127 $(AR) q $@ `$(LORDER) $(MOSTOBJS:%=$(DIR)/%) | $(GREP) -v ' L ' | $(TSORT)`
1128
1129 # extra files for the clean target
1130 CLEANFILES+= \
1131 $(LIBCDIR)/port/gen/errlst.c \
1132 $(LIBCDIR)/port/gen/new_list.c \
1133 assym.h \
1134 genassym \
1135 crt/_rtld.s \
1136 crt/_rtbootld.s \
1137 pics/_rtbootld.o \
1138 pics/crti.o \
1139 pics/crtn.o \
1140 $(ALTPICS)
1141
1142 CLOBBERFILES += $(LIB_PIC)
1143
1144 # list of C source for lint
1145 SRCS= \
1146 $(ATOMICOBJS:%.o=$(SRC)/common/atomic/%.c) \
1147 $(XATTROBJS:%.o=$(SRC)/common/xattr/%.c) \
1148 $(COMOBJS:%.o=$(SRC)/common/util/%.c) \
1149 $(DTRACEOBJS:%.o=$(SRC)/common/dtrace/%.c) \
1150 $(PORTFP:%.o=$(LIBCDIR)/port/fp/%.c) \
1241 $(PORTSYS64:%=pics/%) := \
1242 CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1243
1244 $(PORTSTDIO_W:%=pics/%) := \
1245 CPPFLAGS += -D_WIDE
1246
1247 $(PORTPRINT_W:%=pics/%) := \
1248 CPPFLAGS += -D_WIDE
1249
1250 $(PORTPRINT_C89:%=pics/%) := \
1251 CPPFLAGS += -D_C89_INTMAX32
1252
1253 $(PORTSTDIO_C89:%=pics/%) := \
1254 CPPFLAGS += -D_C89_INTMAX32
1255
1256 $(PORTI18N_COND:%=pics/%) := \
1257 CPPFLAGS += -D_WCS_LONGLONG
1258
1259 pics/arc4random.o := CPPFLAGS += -I$(SRC)/common/crypto/chacha
1260
1261 pics/__clock_gettime.o := CPPFLAGS += $(COMMPAGE_CPPFLAGS)
1262
1263 .KEEP_STATE:
1264
1265 all: $(LIBS) $(LIB_PIC)
1266
1267 lint := CPPFLAGS += -I$(LIBCDIR)/$(MACH)/fp
1268 lint := CPPFLAGS += -D_MSE_INT_H -D_LCONV_C99
1269 lint := LINTFLAGS += -mn -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
1270
1271 lint:
1272 @echo $(LINT.c) ...
1273 @$(LINT.c) $(SRCS) $(LDLIBS)
1274
1275 $(LINTLIB):= SRCS=$(LIBCDIR)/port/llib-lc
1276 $(LINTLIB):= CPPFLAGS += -D_MSE_INT_H
1277 $(LINTLIB):= LINTFLAGS=-nvx
1278
1279 # object files that depend on inline template
1280 $(TIL:%=pics/%): $(LIBCBASE)/threads/i386.il
1281 # pics/mul64.o: $(LIBCBASE)/crt/mul64.il
1282
|