xref: /illumos-gate/usr/src/cmd/sgs/libld/Makefile.com (revision 4de2612967d06c4fdbf524a62556a1e8118a006f)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# ident	"%Z%%M%	%I%	%E% SMI"
27#
28
29LIBRARY=	libld.a
30VERS=		.2
31
32G_MACHOBJS=	doreloc.o
33L_MACHOBJS= 	machrel.o	machsym.o
34
35TOOLOBJS=	alist.o		assfail.o	findprime.o	string_table.o \
36		strhash.o
37AVLOBJ=		avl.o
38COMOBJS=	entry.o		files.o		globals.o	libs.o \
39		order.o		outfile.o	place.o		relocate.o \
40		resolve.o	sections.o	support.o	sunwmove.o \
41		syms.o		update.o	util.o		version.o \
42		args.o		debug.o		ldentry.o	groups.o \
43		ldlibs.o	ldmain.o	exit.o		map.o
44COMOBJS64=	$(COMOBJS:%.o=%64.o)
45BLTOBJ=		msg.o
46ELFCAPOBJ=	elfcap.o
47
48OBJECTS=	$(BLTOBJ)  $(G_MACHOBJS)  $(L_MACHOBJS)  $(COMOBJS) \
49		$(TOOLOBJS) $(AVLOBJ) $(ELFCAPOBJ)
50
51include 	$(SRC)/lib/Makefile.lib
52include 	$(SRC)/cmd/sgs/Makefile.com
53
54PLAT=		$(VAR_PLAT_$(BASEPLAT))
55MAPFILES=	../common/mapfile-vers
56MAPOPTS=	$(MAPFILES:%=-M%)
57
58ELFCAP=		$(SRC)/common/elfcap
59
60# Building SUNWonld results in a call to the `package' target.  Requirements
61# needed to run this application on older releases are established:
62#   dlopen/dlclose requires libdl.so.1 prior to 5.10
63#
64DLLIB =		$(VAR_DL_LIB)
65package	:=	DLLIB = $(VAR_PKG_DL_LIB)
66
67CPPFLAGS +=	-DUSE_LIBLD_MALLOC -I$(SRCBASE)/uts/common/krtld \
68		-I$(ELFCAP) -D_REENTRANT $(VAR_LIBLD_CPPFLAGS)
69LLDLIBS=	$(LDDBGLIBDIR) $(LDDBG_LIB) $(ELFLIBDIR) -lelf $(DLLIB)
70LDLIBS +=	$(CONVLIBDIR) -lconv $(LLDLIBS) -lc
71LINTFLAGS +=	-u $(LDDBGLIBDIR) $(CONVLIBDIR) \
72		-erroff=E_NAME_DECL_NOT_USED_DEF2
73LINTFLAGS64 +=	-u $(LDDBGLIBDIR64) $(CONVLIBDIR64) \
74		-erroff=E_NAME_DECL_NOT_USED_DEF2 \
75		-erroff=E_CAST_INT_TO_SMALL_INT
76ORIGIN =	'-R$$ORIGIN'
77HSONAME =	-h$(SONAME)
78DYNFLAGS +=	$(BDIRECT) $(VERSREF) \
79		$(ZLAZYLOAD) $(MAPOPTS) $(USE_PROTO) $(ORIGIN)
80
81$(VAR_POUND_3)DEFS=
82$(VAR_POUND_3)native:=	MAPOPTS	=
83native:=	DYNFLAGS	+= $(CONVLIBDIR)
84
85BLTDEFS=	msg.h
86BLTDATA=	msg.c
87BLTMESG=	$(SGSMSGDIR)/libld
88
89BLTFILES=	$(BLTDEFS) $(BLTDATA) $(BLTMESG)
90
91SGSMSGCOM=	../common/libld.msg
92SGSMSGSPARC=	../common/libld.sparc.msg
93SGSMSGINTEL=	../common/libld.intel.msg
94SGSMSGTARG=	$(SGSMSGCOM)
95SGSMSGALL=	$(SGSMSGCOM) $(SGSMSGSPARC) $(SGSMSGINTEL)
96
97SGSMSGFLAGS1=	$(SGSMSGFLAGS) -m $(BLTMESG)
98SGSMSGFLAGS2=	$(SGSMSGFLAGS) -h $(BLTDEFS) -d $(BLTDATA) -n libld_msg
99
100SRCS=		../common/llib-lld
101LIBSRCS=	$(TOOLOBJS:%.o=$(SGSTOOLS)/common/%.c) \
102		$(COMOBJS:%.o=../common/%.c) $(BLTDATA) \
103		$(AVLOBJS:%.o=$(VAR_AVLDIR)/%.c) \
104		$(G_MACHOBJS:%.o=$(SRCBASE)/uts/$(PLAT)/krtld/%.c)
105
106LINTSRCS32 = $(L_MACHSRCS32)
107LINTSRCS64 = $(L_MACHSRCS64)
108LINTSRCS = $(LIBSRCS)
109
110CLEANFILES +=	$(LINTOUTS) $(BLTFILES)
111CLOBBERFILES +=	$(DYNLIB) $(LINTLIBS) $(LIBLINKS)
112
113ROOTFS_DYNLIB=	$(DYNLIB:%=$(ROOTFS_LIBDIR)/%)
114