diff -r fd16c54261b3 -r 90ce3da70b43 jdk/make/common/Rules-SCCS.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/common/Rules-SCCS.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,70 @@ +# +# Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +# +# Only get these rules if SCCS is available +# + +ifdef SCCS + +# SCCS command to extract out latest source +SCCS_GET=$(SCCS) get -s + +# +# Make sure all files in workspace are fresh +# +TEMP_ALL_FILES=$(JDK_TOPDIR)/temp_filelist +$(TEMP_ALL_FILES): $(JDK_TOPDIR)/Codemgr_wsdata/nametable + $(prep-target) + @$(CUT) -d' ' -f1 $< \ + | $(GREP) -v '^VERSION' \ + | $(GREP) -v '^deleted_files' \ + | $(GREP) -v '^Codemgr_wsdata' > $@ + +sccs_get: $(TEMP_ALL_FILES) + @$(PRINTF) "Workspace has %d files\n" `$(CAT) $< | $(WC) -l` + @count=0; \ + for i in `$(CAT) $<` ; do \ + f=$(JDK_TOPDIR)/$$i; \ + count=`$(EXPR) $$count '+' 1`; \ + if [ `$(EXPR) $$count '%' 100` = 0 ] ; then \ + $(PRINTF) "\rChecked $$count files"; \ + fi; \ + if [ ! -f $$f ] ; then \ + $(PRINTF) "\r$(SCCS_GET) $$f\n"; \ + (cd `$(DIRNAME) $$f` && $(SCCS_GET) `$(BASENAME) $$f`); \ + elif /usr/bin/test $$f -ot `$(DIRNAME) $$f`/SCCS/s.`$(BASENAME) $$f` ; then \ + $(PRINTF) "\r$(SCCS_GET) $$f\n"; \ + (cd `$(DIRNAME) $$f` && $(SCCS_GET) `$(BASENAME) $$f`); \ + fi; \ + done; \ + $(PRINTF) "\rChecked $$count files\n" + +# +# Phonies to avoid accidents. +# +.PHONY: sccs_get + +endif