Makefile revision 6ba597c56d749c61b4f783157f63196d7b2445f0
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# CDDL HEADER START
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# The contents of this file are subject to the terms of the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Common Development and Distribution License (the "License").
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# You may not use this file except in compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# or http://www.opensolaris.org/os/licensing.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# See the License for the specific language governing permissions
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# When distributing Covered Code, include this CDDL HEADER in each
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# If applicable, add the following below this CDDL HEADER, with the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# fields enclosed by brackets "[]" replaced with your own identifying
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# information: Portions Copyright [yyyy] [name of copyright owner]
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# CDDL HEADER END
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Use is subject to license terms.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinclude ../../Makefile.cmd
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterETCSVC = $(ROOTETC)/svc
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterLIBSVCSEED = $(ROOT)/lib/svc/seed
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterINSTALLSEED = $(ROOT)/usr/sadm/install
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Because seed repository construction requires a functioning repository, a
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# working svccfg(1) binary, and XML support, the following libraries must exist
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# on the build system or in the proto area: libscf, libuutil, and libxml2.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# We build and deliver 3 seed repositories:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# global.db -- for a standalone Solaris (global zone)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# nonglobal.db -- for a Solaris Zone
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# miniroot.db -- for the install miniroot
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# COMMON_DESCRIPTIONS contains manifests needed by all 3 repositories.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# GLOBAL_ZONE_DESCRIPTIONS/NONGLOBAL_ZONE_DESCRIPTIONS/MINIROOT_DESCRIPTIONS
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# contain additional manifests needed.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Manifests needed by all seed repositories. If you change this, you
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# must test Solaris standalone, Solaris zone, and Install miniroot.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCOMMON_DESCRIPTIONS = \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/boot-archive.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/devices-local.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/global.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/identity.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/local-fs.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/manifest-import.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/minimal-fs.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/multi-user.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/name-services.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/network-initial.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/network-loopback.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/network-netcfg.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/network-physical.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/restarter.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/root-fs.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/single-user.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/usr-fs.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../dlmgmtd/dlmgmt.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../rpcbind/bind.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Additional manifests for standalone Solaris
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterGLOBAL_ZONE_DESCRIPTIONS = \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/console-login.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/multi-user-server.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../cmd-inet/usr.lib/inetd/inetd-upgrade.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../utmpd/utmp.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../lvm/util/metainit.xml
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Additional manifests for a Solaris zone
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterNONGLOBAL_ZONE_DESCRIPTIONS = \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/console-login.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/multi-user-server.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../utmpd/utmp.xml
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Additional manifests for the install miniroot.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster#
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterMINIROOT_DESCRIPTIONS= \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/sysconfig.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../cmd-inet/usr.lib/inetd/inetd.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../cmd-inet/usr.sbin/login.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../milestone/network-service.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../cmd-inet/usr.sbin/telnet.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../../lib/libresolv2/client.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../ldapcachemgr/client.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../ypcmd/client.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../ypcmd/server.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../keyserv/keyserv.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../cmd-crypto/scripts/cryptosvc.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../nscd/name-service-cache.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../syslogd/system-log.xml
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterFILEMODE = 0600
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterSEEDFILEMODE = 0444 # seeds are not intended for editing, but may
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # be copied
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterCONFIGD = ../configd/svc.configd-native
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterSVCCFG = ../svccfg/svccfg-native
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster.KEEP_STATE:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterall: global.db nonglobal.db miniroot.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(CONFIGD): FRC
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster @cd ../configd; pwd; $(MAKE) $(MFLAGS) native
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(SVCCFG): FRC
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster @cd ../svccfg; pwd; $(MAKE) $(MFLAGS) native
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster../milestone/console-login.xml:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster @cd ../milestone; pwd; $(MAKE) $(MFLAGS) console-login.xml
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fostercommon.db: $(COMMON_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) -f common.db common.db-journal
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster for m in $(COMMON_DESCRIPTIONS); do \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster echo $$m; \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/common.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_CONFIGD_PATH=$(CONFIGD) \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(SVCCFG) import $$m; \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster done
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterglobal.db: common.db $(GLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) -f global.db global.db-journal
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(CP) common.db global.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster for m in $(GLOBAL_ZONE_DESCRIPTIONS); do \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster echo $$m; \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/global.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_CONFIGD_PATH=$(CONFIGD) \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(SVCCFG) import $$m; \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster done
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosternonglobal.db: common.db $(NONGLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) -f nonglobal.db nonglobal.db-journal
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(CP) common.db nonglobal.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster for m in $(NONGLOBAL_ZONE_DESCRIPTIONS); do \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster echo $$m; \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/nonglobal.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_CONFIGD_PATH=$(CONFIGD) \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(SVCCFG) import $$m; \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster done
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterminiroot.db: common.db $(MINIROOT_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) -f miniroot.db miniroot.db-journal
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(CP) common.db miniroot.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster for m in $(MINIROOT_DESCRIPTIONS); do \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster echo $$m; \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_CONFIGD_PATH=$(CONFIGD) \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(SVCCFG) import $$m; \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster done
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster #
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # Make sure the miniroot's syslogd and rpcbind do not respond
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # to packets from outside the machine. Since we cannot set property
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # values by applying a profile yet, we need to set them explicitly
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # with svccfg commands.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster #
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_CONFIGD_PATH=$(CONFIGD) \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(SVCCFG) -s svc:/system/system-log \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setprop config/log_from_remote = false
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster #
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_CONFIGD_PATH=$(CONFIGD) \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(SVCCFG) -s svc:/network/rpc/bind setprop config/local_only = true
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinstall: install_global install_nonglobal install_miniroot
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinstall_global: global.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) $(LIBSVCSEED)/global.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s global.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinstall_nonglobal: nonglobal.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) $(LIBSVCSEED)/nonglobal.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s nonglobal.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinstall_miniroot: $(INSTALLSEED) miniroot.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) $(INSTALLSEED)/miniroot.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(INS) -f $(INSTALLSEED) -m $(SEEDFILEMODE) -s miniroot.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster$(INSTALLSEED):
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(INS.dir)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterclean lint:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) common.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterclobber:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(RM) common.db global.db nonglobal.db miniroot.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterFRC:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster