Makefile revision 60c45ed01d4f99571d468c42f609d11a099fab1e
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
#
include ../Makefile.com
.KEEP_STATE:
all: $(FILES)
install: all pkg
pkginfo: pkginfo.tmpl $(PKGDEFS)/awk_pkginfo
$(RM) $@; nawk -f $(PKGDEFS)/awk_pkginfo $@.tmpl > $@
# FPScrubber consists of a generic SMF managed daemon and a hardware specific
# fpu test. Currently the test part is not built under gcc compilation due to
# dependency on SunStudio libraries namely, libsunperf.a, libfui.a, libfai.a,
# libfsu.a and libsunmath.a . So, even when the build succeeds, for gcc based
# builds the test will not be there. Therefore we make the package
# conditionally. "proto_cc_sparc" prototype file contains objects for cc
# compilation and "proto_gcc_sparc" contains objects for gcc compilation.
proto:sh = \
if [ -f $ROOT/usr/lib/fps/sun4u/UltraSPARC-III/fptest ]; \
then \
echo "prototype_cc_$(MACH)"; \
else \
echo "prototype_gcc_$(MACH)"; \
fi
pkg: $(PKGARCHIVE) FRC
pkgmk -f $(proto) -d $(PKGARCHIVE) \
-r "$(ROOT) $(PARENT_ROOT)" -o $(PACKAGE)
optpkg: $(PKGARCHIVE) FRC
pkgmk -f $(proto) -d $(PKGARCHIVE) \
-r "$(ROOT) $(PARENT_ROOT)" -b opt -o $(PACKAGE)
$(PKGARCHIVE):
[ -d $(PKGARCHIVE) ] || mkdir -p $(PKGARCHIVE)
$(CHKINSTALL): $(PKGDEFS)/common_files/$(CHKINSTALLSRC)
$(RM) $(CHKINSTALL)
cp $(PKGDEFS)/common_files/$(CHKINSTALLSRC) $(CHKINSTALL)
LDELIM="--------------------------------------------------------------------"
CURPKG :sh= basename `pwd`
copyright: $(LICENSEFILES)
@[ ! -f SCCS/s.$@ ] || \
( $(ECHO) "$@ should not be under SCCS control">&2 && false )
@$(ECHO) "building $(CURPKG) copyright file from $(LICENSEFILES)"
@$(RM) $@
@$(NAWK) ' \
(FNR == 1) && (NR > 1) { print "\n" ldelim "\n" } \
{ print $$0 }' \
ldelim="$(LDELIM)" $(LICENSEFILES) /dev/null > $@
@[ -s copyright ] || \
( $(ECHO) "copyright file may not be empty">&2 && false )
# If the file is under SCCS, then it should not be destroyed
# by an install rule here. This is a mistake in package makefile.
$(DATAFILES): $(PKGDEFS)/common_files/$$@
@[ ! -f SCCS/s.$@ ] || \
( $(ECHO) "DATAFILES list is incorrect for $@">&2 && false )
$(RM) $@; cp $(PKGDEFS)/common_files/$@ $@
$(MACHDATAFILES): $(PKGDEFS)/common_files/$$@_$(MACH)
$(RM) $@; cp $(PKGDEFS)/common_files/$@_$(MACH) $@
clean:
-$(RM) $(CLEANFILES)
clobber: clean
-$(RM) $(CLOBBERFILES)
FRC: