4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
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.
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]
23 # Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved.
24 # Copyright 2018 Joyent, Inc.
29 COMOBJS32 = cap_machelf32.o dynamic_machelf32.o \
30 globals_machelf32.o sections_machelf32.o \
31 symbols_machelf32.o symbols_sparc_machelf32.o
33 COMOBJS64 = cap_machelf64.o dynamic_machelf64.o \
34 globals_machelf64.o sections_machelf64.o \
35 symbols_machelf64.o symbols_sparc_machelf64.o
37 COMOBJS= arch.o audit.o \
43 dwarf_ehe.o dynamic.o \
48 relocate_i386.o relocate_amd64.o \
49 relocate_sparc.o sections.o \
50 segments.o strproc.o \
59 BLTOBJS= arch_msg.o audit_msg.o \
61 cap_msg.o config_msg.o \
62 corenote_msg.o data_msg.o \
63 deftag_msg.o demangle_msg.o \
64 dl_msg.o dwarf_msg.o \
65 dwarf_ehe_msg.o dynamic_msg.o \
66 elf_msg.o entry_msg.o \
67 globals_msg.o group_msg.o \
68 map_msg.o lddstub_msg.o \
69 phdr_msg.o relocate_amd64_msg.o \
70 relocate_i386_msg.o relocate_sparc_msg.o \
71 sections_msg.o segments_msg.o \
72 symbols_msg.o symbols_sparc_msg.o \
73 syminfo_msg.o time_msg.o \
77 OBJECTS = $(COMOBJS) $(COMOBJS32) $(COMOBJS64) $(ELFCAP_OBJS) \
81 # This library is unusual since it's a static archive of PIC objects.
82 # Since static archives should never contain CTF data (regardless of
83 # whether the object code is position-independent), we disable CTF.
85 NOCTFOBJS = $(OBJECTS)
88 include $(SRC)/lib/Makefile.lib
89 include $(SRC)/cmd/sgs/Makefile.com
91 CERRWARN += -_gcc=-Wno-type-limits
92 CERRWARN += -_gcc=-Wno-switch
96 README_REVISION=../../packages/common/readme_revision
97 ONLDREADME= ../../packages/common/SUNWonld-README
99 PICS= $(OBJECTS:%=pics/%)
101 CPPFLAGS += -I$(SRCBASE)/lib/libc/inc -I$(ELFCAP) \
102 -I$(SRC)/common/sgsrtcid
106 AS_CPPFLAGS= -P -D_ASM $(CPPFLAGS)
108 BLTDATA= $(BLTOBJS:%.o=%.c) $(BLTOBJS:%.o=%.h) report_bufsize.h
110 SRCS= ../common/llib-lconv
111 LINTSRCS= $(COMOBJS:%.o=../common/%.c) \
112 $(COMOBJS_NOMSG:%.o=../common/%.c) \
113 $(ELFCOM_OBJS:%.o=$(ELFCAP)/%.c) ../common/lintsup.c
114 LINTSRCS32 = $(COMOBJS32:%32.o=../common/%.c)
115 LINTSRCS64 = $(COMOBJS64:%64.o=../common/%.c)
117 # Since libconv uses dlopen(3C) to load libdemangle-sys.so (much like it did
118 # for the old Sun Studio libdemangle.so) in order to avoid messy bootstrapping
119 # problems, but it also needs the definitions from demangle-sys.h for
120 # SYSDEM_LANG_AUTO, lint will complain about sysdemangle() being defined but not
121 # used unless it is explicitly included during the lint pass
122 $(LINTOUT32) := LDLIBS += -ldemangle-sys
123 $(LINTOUT64) := LDLIBS += -ldemangle-sys
125 SGSMSGTARG= $(BLTOBJS:%_msg.o=../common/%.msg)
127 LINTFLAGS += -u -erroff=E_NAME_DECL_NOT_USED_DEF2
128 LINTFLAGS64 += -u -erroff=E_NAME_DECL_NOT_USED_DEF2
130 CLEANFILES += $(BLTDATA) $(LINTOUTS) bld_vernote vernote.s
131 CLOBBERFILES += $(LINTLIBS)