Tue, 20 May 2014 10:04:03 -0700
8042255: make gc src file exclusion more automatic
Reviewed-by: brutisso, stefank, dholmes, rdurbin
1 #
2 # Copyright (c) 2014, 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 #
24 ifeq ($(INCLUDE_JVMTI), false)
25 CXXFLAGS += -DINCLUDE_JVMTI=0
26 CFLAGS += -DINCLUDE_JVMTI=0
28 Src_Files_EXCLUDE += jvmtiGetLoadedClasses.cpp jvmtiThreadState.cpp jvmtiExtensions.cpp \
29 jvmtiImpl.cpp jvmtiManageCapabilities.cpp jvmtiRawMonitor.cpp jvmtiUtil.cpp jvmtiTrace.cpp \
30 jvmtiCodeBlobEvents.cpp jvmtiEnv.cpp jvmtiRedefineClasses.cpp jvmtiEnvBase.cpp jvmtiEnvThreadState.cpp \
31 jvmtiTagMap.cpp jvmtiEventController.cpp evmCompat.cpp jvmtiEnter.xsl jvmtiExport.cpp \
32 jvmtiClassFileReconstituter.cpp
33 endif
35 ifeq ($(INCLUDE_FPROF), false)
36 CXXFLAGS += -DINCLUDE_FPROF=0
37 CFLAGS += -DINCLUDE_FPROF=0
39 Src_Files_EXCLUDE += fprofiler.cpp
40 endif
42 ifeq ($(INCLUDE_VM_STRUCTS), false)
43 CXXFLAGS += -DINCLUDE_VM_STRUCTS=0
44 CFLAGS += -DINCLUDE_VM_STRUCTS=0
46 Src_Files_EXCLUDE += vmStructs.cpp
47 endif
49 ifeq ($(INCLUDE_JNI_CHECK), false)
50 CXXFLAGS += -DINCLUDE_JNI_CHECK=0
51 CFLAGS += -DINCLUDE_JNI_CHECK=0
53 Src_Files_EXCLUDE += jniCheck.cpp
54 endif
56 ifeq ($(INCLUDE_SERVICES), false)
57 CXXFLAGS += -DINCLUDE_SERVICES=0
58 CFLAGS += -DINCLUDE_SERVICES=0
60 Src_Files_EXCLUDE += heapDumper.cpp heapInspection.cpp \
61 attachListener_linux.cpp attachListener.cpp
62 endif
64 ifeq ($(INCLUDE_MANAGEMENT), false)
65 CXXFLAGS += -DINCLUDE_MANAGEMENT=0
66 CFLAGS += -DINCLUDE_MANAGEMENT=0
67 endif
69 ifeq ($(INCLUDE_CDS), false)
70 CXXFLAGS += -DINCLUDE_CDS=0
71 CFLAGS += -DINCLUDE_CDS=0
73 Src_Files_EXCLUDE += filemap.cpp metaspaceShared.cpp
74 endif
76 ifeq ($(INCLUDE_ALL_GCS), false)
77 CXXFLAGS += -DINCLUDE_ALL_GCS=0
78 CFLAGS += -DINCLUDE_ALL_GCS=0
80 gc_impl := $(GAMMADIR)/src/share/vm/gc_implementation
81 gc_exclude := \
82 $(notdir $(wildcard $(gc_impl)/concurrentMarkSweep/*.cpp)) \
83 $(notdir $(wildcard $(gc_impl)/g1/*.cpp)) \
84 $(notdir $(wildcard $(gc_impl)/parallelScavenge/*.cpp)) \
85 $(notdir $(wildcard $(gc_impl)/parNew/*.cpp))
86 Src_Files_EXCLUDE += $(gc_exclude)
88 # Exclude everything in $(gc_impl)/shared except the files listed
89 # in $(gc_shared_keep).
90 gc_shared_all := $(notdir $(wildcard $(gc_impl)/shared/*.cpp))
91 gc_shared_keep := \
92 adaptiveSizePolicy.cpp \
93 ageTable.cpp \
94 collectorCounters.cpp \
95 cSpaceCounters.cpp \
96 gcPolicyCounters.cpp \
97 gcStats.cpp \
98 gcTimer.cpp \
99 gcTrace.cpp \
100 gcTraceSend.cpp \
101 gcTraceTime.cpp \
102 gcUtil.cpp \
103 generationCounters.cpp \
104 markSweep.cpp \
105 objectCountEventSender.cpp \
106 spaceDecorator.cpp \
107 vmGCOperations.cpp
108 Src_Files_EXCLUDE += $(filter-out $(gc_shared_keep),$(gc_shared_all))
110 # src/share/vm/services
111 Src_Files_EXCLUDE += \
112 g1MemoryPool.cpp \
113 psMemoryPool.cpp
114 endif
116 ifeq ($(INCLUDE_NMT), false)
117 CXXFLAGS += -DINCLUDE_NMT=0
118 CFLAGS += -DINCLUDE_NMT=0
120 Src_Files_EXCLUDE += \
121 memBaseline.cpp memPtr.cpp memRecorder.cpp memReporter.cpp memSnapshot.cpp memTrackWorker.cpp \
122 memTracker.cpp nmtDCmd.cpp
123 endif
125 -include $(HS_ALT_MAKE)/excludeSrc.make
127 .PHONY: $(HS_ALT_MAKE)/excludeSrc.make