Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# CDDL HEADER START
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# The contents of this file are subject to the terms of the
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# Common Development and Distribution License, Version 1.0 only
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# (the "License"). You may not use this file except in compliance
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# with the License.
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# or http://www.opensolaris.org/os/licensing.
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# See the License for the specific language governing permissions
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# and limitations under the License.
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# When distributing Covered Code, include this CDDL HEADER in each
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# If applicable, add the following below this CDDL HEADER, with the
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# fields enclosed by brackets "[]" replaced with your own identifying
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# information: Portions Copyright [yyyy] [name of copyright owner]
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# CDDL HEADER END
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# Use is subject to license terms.
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# ident "%Z%%M% %I% %E% SMI"
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
ac53d20f2b6fe218ec0103160afc5c443a058b0ePeter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorinclude $(SRC)/cmd/Makefile.cmd
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorSUBDIRS-common= libconv \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major .WAIT \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major libdl \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major .WAIT \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major libelf \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major .WAIT \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major liblddbg \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major .WAIT \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major libld \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major libldmake \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major libldstab \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major librtld \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major libcrle \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major sgsdemangler \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major .WAIT \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major 0@0 \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ld \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ldd \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major lddstub \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major rtld \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major link_audit \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major .WAIT \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major librtld_db \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ldprof \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major pvs \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major crle \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ar \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major dis \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major dump \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major elfdump \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major error \
1d684f1accbc962da075532ff3b1ad66459dd750Peter Major gprof \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major lari \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major lex \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major lorder \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major m4 \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major mapfiles \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major mcs \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major moe \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major nm \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major prof \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ranlib \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major size \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major symorder \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major tsort \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major unifdef \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major yacc
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorSUBDIRS-i386=
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorSUBDIRS-sparc= rtld.4.x
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorSUBDIRS= $(SUBDIRS-common) $(SUBDIRS-$(MACH))
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# Messaging support
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorPOSUBDIRS= ar m4 nm \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major tsort yacc
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorPOFILE= sgs.po
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorPOFILES= $(POSUBDIRS:%=%/%.po)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorMSGSUBDIRS= ld ldd libld liblddbg \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major libldstab librtld rtld libelf \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ldprof libcrle pvs elfdump \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major crle moe lari librtld_db
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorMSGDIR= messages
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorall := TARGET= all
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorinstall := TARGET= install
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorclean := TARGET= clean
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorclobber := TARGET= clobber
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majordelete := TARGET= delete
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorlint := TARGET= lint
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major_msg := TARGET= catalog
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major_msg_gettext := TARGET= catalog
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major_msg_sgsmsg := TARGET= catalog
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorchkmsg := TARGET= chkmsg
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major.KEEP_STATE:
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major.PARALLEL: $(SUBDIRS)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorall install: native-add .WAIT $(SUBDIRS)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorinclude $(SRC)/cmd/Makefile.targ
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# Messaging support
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major_msg: _msg_gettext _msg_sgsmsg
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major_msg_gettext: $(MSGDOMAIN)/$(POFILE)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major_msg_sgsmsg: $(MSGDIR)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major$(MSGDOMAIN)/$(POFILE): \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major $(MSGDOMAIN) $(POFILE)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major$(POFILE): $(POSUBDIRS)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major $(RM) $(POFILE)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major cat $(POFILES) > $(POFILE)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major$(MSGDIR): $(MSGSUBDIRS) FRC
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd $@; pwd; $(MAKE) $(TARGET)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorchkmsg: libconv $(MSGSUBDIRS) FRC
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# built from lib/Makefile
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorinstall_lib: FRC
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd lex; pwd; $(MAKE) $@
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd yacc; pwd; $(MAKE) $@
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorlint: $(SUBDIRS)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majordelete \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorclean clobber: native-clobber .WAIT $(SUBDIRS) $(MSGDIR)
ac53d20f2b6fe218ec0103160afc5c443a058b0ePeter Major
ac53d20f2b6fe218ec0103160afc5c443a058b0ePeter Major$(SUBDIRS): FRC
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd $@; pwd; $(MAKE) $(TARGET)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# Integration of ld and ld.so.1 in some developement cycles requires that both
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# of these modules be built using the new ld. This `native' target allows us
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# to build a local ld which will then be used to build the delivered version of
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# itself and ld.so.1. Once this new functionality appears in the standard ld
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# this target can be disabled.
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majornative-add: native-proto FRC
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd tools/$(MACH); pwd; $(MAKE) native
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd libconv/$(MACH); pwd; $(MAKE)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd libelf/$(MACH); pwd; $(MAKE) native
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd liblddbg/$(MACH); pwd; $(MAKE) native
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd libldstab/$(MACH); pwd; $(MAKE) native
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd libld/$(MACH); pwd; $(MAKE) native
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd ld/$(MACH); pwd; $(MAKE) native
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majornative-clobber:
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ cd tools; pwd; $(MAKE) $(TARGET)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major $(RM) -r proto/$(MACH)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majornative-proto:
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major -@mkdir -p proto/$(MACH)
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorFRC:
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# Cross-reference customization: ignore the directories named by XRPRUNE,
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# and tweak the file globs slightly.
2eb3d167edaf486620a87bd4c227bd1a4356a6d5Peter Major#
2eb3d167edaf486620a87bd4c227bd1a4356a6d5Peter MajorXRPRUNE= rtld.4.x spec packages abi
2eb3d167edaf486620a87bd4c227bd1a4356a6d5Peter MajorXRADD= *.msg mapfile*
2eb3d167edaf486620a87bd4c227bd1a4356a6d5Peter MajorXRDEL= Makefile* kobj_*
2eb3d167edaf486620a87bd4c227bd1a4356a6d5Peter Major
2eb3d167edaf486620a87bd4c227bd1a4356a6d5Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# Establish a set of directories for xref to search. As there are duplicates
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# of things like headers, and only one file will be added to the xref database,
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major# we want xref to list the source file.
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major#
0748565aad6a8878aecb88a26081c9bb10c00279Peter MajorXRDIRS= . \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ../../head \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ../../uts/common/krtld \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ../../uts/common/sys \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ../../uts/sparc/sys \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ../../uts/sparc/krtld \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ../../uts/intel/ia32/krtld \
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major ../../uts/intel/amd64/krtld
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major
0748565aad6a8878aecb88a26081c9bb10c00279Peter Majorxref: FRC
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major @ $(RM) cscope.*
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major xref -p -x cscope
0748565aad6a8878aecb88a26081c9bb10c00279Peter Major