Makefile revision c242ec1b4cd260e90178d81575297bb3b3648766
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# CDDL HEADER START
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# Common Development and Distribution License (the "License").
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You may not use this file except in compliance with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fields enclosed by brackets "[]" replaced with your own identifying
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Note that we build libc_pic.a for the benefit of building
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ld.so.1, but we do not install it. Only ld.so.1 needs it
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and it must be built in the same workspace as libc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# include common library definitions
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# on some architectures, we build multiple libc variants
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserVAR2_DYNLIB = $(LIBRARY:%.a=%_$(VAR2).so$(VERS))
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserVAR3_DYNLIB = $(LIBRARY:%.a=%_$(VAR3).so$(VERS))
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic UpdaterVAR1_DYNLIB64 = $(LIBRARY:%.a=%_$(VAR1).so$(VERS))
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox UserVARIANT_SUBDIRS = $(VARIANTS:%=$(MACH)_%/$(VARBLD))
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic UpdaterVARIANT_SUBDIRS64 = $(VARIANTS64:%=$(MACH)_%/$(VARBLD64))
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic UpdaterSUBDIRS= $(MACH) $(MACH_ETC) $(VARIANT_SUBDIRS)
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User$(BUILD64)SUBDIRS += $(MACH64) $(VARIANT_SUBDIRS64)
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox UserROOTLIBS64= $(ROOTLIBDIR64)/$(DYNLIB) $(ROOTLIBDIR64)/$(LINTLIB)
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox UserMACHLIBS64= $(MACH64)/$(DYNLIB) $(MACH64)/$(LINTLIB)
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox UserVARIANTLIBS= $(VARIANTS:%=$(MACH)_%/$(VARBLD)/$(LIBBASENAME)_%.so.1)
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox UserVARIANTLIBS64= $(VARIANTS64:%=$(MACH)_%/$(VARBLD64)/$(LIBBASENAME)_%.so.1)
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox UserROOTVARIANTLIBS= $(VARIANTS:%=$(ROOTVARIANTDIR)/$(LIBBASENAME)_%.so.1)
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox UserROOTVARIANTLIBS64= $(VARIANTS64:%=$(ROOTVARIANTDIR64)/$(LIBBASENAME)_%.so.1)
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User# definitions for install_h target
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User# install rules for install_h target
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTVARIANTDIR)/$(VAR1_DYNLIB) := FILEMODE= 755
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTVARIANTDIR)/$(VAR2_DYNLIB) := FILEMODE= 755
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTVARIANTDIR)/$(VAR3_DYNLIB) := FILEMODE= 755
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$(ROOTVARIANTDIR64)/$(VAR1_DYNLIB64) := FILEMODE= 755
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall: check_i18n .WAIT lib32 $(BUILD64) .WAIT lib64 .WAIT etc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinlib32: $(MACHLIBS) $(MACH)/$(LIB_PIC) $(VARIANTLIBS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cd $(MACH)/i18n_pics ; $(AR) -x $(ROOTFS_LIBDIR)/libc_i18n.a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @if $(ELFDUMP) -r $(MACH)/$(DYNLIB) | $(GREP) -w environ ; then \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ECHO) "Error: Invalid reference to environ" ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(ECHO) "Error: See comments in port/gen/env_data.c" ; \
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updaterlib64: $(MACHLIBS64) $(MACH64)/$(LIB_PIC) $(VARIANTLIBS64)
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater cd $(MACH64)/i18n_pics ; $(AR) -x $(ROOTFS_LIBDIR64)/libc_i18n.a
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater @if $(ELFDUMP) -r $(MACH64)/$(DYNLIB) | $(GREP) -w environ ; then \
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater $(ECHO) "Error: Invalid reference to environ" ; \
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater $(ECHO) "Error: See comments in port/gen/env_data.c" ; \
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater @cd $(@D); pwd; VERSION='$(VERSION)' $(MAKE) $(@F)
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater @cd $(@D); pwd; VERSION='$(VERSION)' $(MAKE) $(@F)
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updaterinslib32: $(ROOTFS_LIBS) $(ROOTFS_LINKS) $(ROOTFS_LINT) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTFS_LIBDIR)/$(LIBLINKS): $(ROOTFS_LIBDIR)/$(LIBLINKS)$(VERS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTFS_LIBDIR64)/$(LIBLINKS): $(ROOTFS_LIBDIR64)/$(LIBLINKS)$(VERS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTVARIANTDIR)/%: $(ROOTVARIANTDIR) $(VAR1_BLDDIR)/%
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater$(ROOTVARIANTDIR)/%: $(ROOTVARIANTDIR) $(VAR2_BLDDIR)/%
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater$(ROOTVARIANTDIR)/%: $(ROOTVARIANTDIR) $(VAR3_BLDDIR)/%
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTVARIANTDIR64)/%: $(ROOTVARIANTDIR64) $(VAR1_BLDDIR64)/%
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# install rule for lint library target
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @cd $(MACH); pwd; VERSION='$(VERSION)' $(MAKE) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @cd $(MACH64); pwd; VERSION='$(VERSION)' $(MAKE) $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @cd $(MACH); pwd; VERSION='$(VERSION)' $(MAKE) $(LIB_PIC)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @cd $(MACH64); pwd; VERSION='$(VERSION)' $(MAKE) $(LIB_PIC)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @cd $@; pwd; VERSION='$(VERSION)' $(MAKE) $(TARGET)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# include MACH-specific library targets