make/cscope.make

Mon, 28 Jul 2014 15:06:38 -0700

author
fzhinkin
date
Mon, 28 Jul 2014 15:06:38 -0700
changeset 6997
dbb05f6d93c4
parent 3156
f08d439fab8c
child 6876
710a3c8b516e
permissions
-rw-r--r--

8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on
Summary: call rtm_deopt() only if there were no compilation bailouts before.
Reviewed-by: kvn

     1 #
     2 # Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     5 # This code is free software; you can redistribute it and/or modify it
     6 # under the terms of the GNU General Public License version 2 only, as
     7 # published by the Free Software Foundation.
     8 #
     9 # This code is distributed in the hope that it will be useful, but WITHOUT
    10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12 # version 2 for more details (a copy is included in the LICENSE file that
    13 # accompanied this code).
    14 #
    15 # You should have received a copy of the GNU General Public License version
    16 # 2 along with this work; if not, write to the Free Software Foundation,
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 #
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20 # or visit www.oracle.com if you need additional information or have any
    21 # questions.
    22 #  
    23 #
    25 # The cscope.out file is generated in the current directory.  The old cscope.out
    26 # file is *not* removed because cscope is smart enough to only build what has
    27 # changed.  cscope can be confused if files are renamed or removed, so it may be
    28 # necessary to remove cscope.out (gmake cscope.clean) if a lot of reorganization
    29 # has occurred.
    31 include $(GAMMADIR)/make/scm.make
    33 RM	= rm -f
    34 HG	= hg
    35 CS_TOP	= $(GAMMADIR)
    37 CSDIRS	= $(CS_TOP)/src $(CS_TOP)/make
    38 CSINCS	= $(CSDIRS:%=-I%)
    40 CSCOPE		= cscope
    41 CSCOPE_OUT	= cscope.out
    42 CSCOPE_FLAGS	= -b
    44 # Allow .java files to be added from the environment (CSCLASSES=yes).
    45 ifdef	CSCLASSES
    46 ADDCLASSES=	-o -name '*.java'
    47 endif
    49 # Adding CClassHeaders also pushes the file count of a full workspace up about
    50 # 200 files (these files also don't exist in a new workspace, and thus will
    51 # cause the recreation of the database as they get created, which might seem
    52 # a little confusing).  Thus allow these files to be added from the environment
    53 # (CSHEADERS=yes).
    54 ifndef	CSHEADERS
    55 RMCCHEADERS=	-o -name CClassHeaders
    56 endif
    58 # Ignore build products.
    59 CS_PRUNE_GENERATED	= -o -name '${OSNAME}_*_core' -o \
    60 			     -name '${OSNAME}_*_compiler?'
    62 # O/S-specific files for all systems are included by default.  Set CS_OS to a
    63 # space-separated list of identifiers to include only those systems.
    64 ifdef	CS_OS
    65 CS_PRUNE_OS	= $(patsubst %,-o -name '*%*',\
    66 		    $(filter-out ${CS_OS},bsd linux macos solaris windows))
    67 endif
    69 # CPU-specific files for all processors are included by default.  Set CS_CPU 
    70 # space-separated list identifiers to include only those CPUs.
    71 ifdef	CS_CPU
    72 CS_PRUNE_CPU	= $(patsubst %,-o -name '*%*',\
    73 		    $(filter-out ${CS_CPU},arm ppc sparc x86 zero))
    74 endif
    76 # What files should we include?  A simple rule might be just those files under
    77 # SCCS control, however this would miss files we create like the opcodes and
    78 # CClassHeaders.  The following attempts to find everything that is *useful*.
    79 # (.del files are created by sccsrm, demo directories contain many .java files
    80 # that probably aren't useful for development, and the pkgarchive may contain
    81 # duplicates of files within the source hierarchy).
    83 # Directories to exclude.
    84 CS_PRUNE_STD	= $(SCM_DIRS) \
    85 		  -o -name '.del-*' \
    86 		  -o -name '*demo' \
    87 		  -o -name pkgarchive
    89 # Placeholder for user-defined excludes.
    90 CS_PRUNE_EX	=
    92 CS_PRUNE	= $(CS_PRUNE_STD) \
    93 		  $(CS_PRUNE_OS) \
    94 		  $(CS_PRUNE_CPU) \
    95 		  $(CS_PRUNE_GENERATED) \
    96 		  $(CS_PRUNE_EX) \
    97 		  $(RMCCHEADERS)
    99 # File names to include.
   100 CSFILENAMES	= -name '*.[ch]pp' \
   101 		  -o -name '*.[Ccshlxy]' \
   102 		  $(CS_ADD_GENERATED) \
   103 		  -o -name '*.d' \
   104 		  -o -name '*.il' \
   105 		  -o -name '*.cc' \
   106 		  -o -name '*[Mm]akefile*' \
   107 		  -o -name '*.gmk' \
   108 		  -o -name '*.make' \
   109 		  -o -name '*.ad' \
   110 		  $(ADDCLASSES)
   112 .PHONY:		cscope cscope.clean cscope.scratch TAGS.clean FORCE
   113 .PRECIOUS:	cscope.out
   115 cscope $(CSCOPE_OUT): cscope.files FORCE
   116 	$(CSCOPE) -f $(CSCOPE_OUT) $(CSCOPE_FLAGS)
   118 cscope.clean:
   119 	$(QUIETLY) $(RM) $(CSCOPE_OUT) cscope.files
   121 cscope.scratch:  cscope.clean cscope
   123 # The raw list is reordered so cscope displays the most relevant files first.
   124 cscope.files:
   125 	$(QUIETLY)						\
   126 	raw=cscope.$$$$;					\
   127 	find $(CSDIRS) -type d \( $(CS_PRUNE) \) -prune -o	\
   128 	    -type f \( $(CSFILENAMES) \) -print > $$raw;	\
   129 	{							\
   130 	echo "$(CSINCS)";					\
   131 	egrep -v "\.java|/make/" $$raw;				\
   132 	fgrep ".java" $$raw;					\
   133 	fgrep "/make/" $$raw;					\
   134 	} > $@;							\
   135 	rm -f $$raw
   137 TAGS:  cscope.files FORCE
   138 	egrep -v '^-|^$$' $< | etags --members -
   140 TAGS.clean:
   141 	$(RM) TAGS

mercurial