1 #
   2 # Copyright (c) 2014, 2015, 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 
  25 include $(GAMMADIR)/make/altsrc.make
  26 
  27 ifeq ($(INCLUDE_JVMTI), false)
  28       CXXFLAGS += -DINCLUDE_JVMTI=0
  29       CFLAGS += -DINCLUDE_JVMTI=0
  30 
  31       Src_Files_EXCLUDE += jvmtiGetLoadedClasses.cpp jvmtiThreadState.cpp jvmtiExtensions.cpp \
  32         jvmtiImpl.cpp jvmtiManageCapabilities.cpp jvmtiRawMonitor.cpp jvmtiUtil.cpp jvmtiTrace.cpp \
  33         jvmtiCodeBlobEvents.cpp jvmtiEnv.cpp jvmtiRedefineClasses.cpp jvmtiEnvBase.cpp jvmtiEnvThreadState.cpp \
  34         jvmtiTagMap.cpp jvmtiEventController.cpp evmCompat.cpp jvmtiEnter.xsl jvmtiExport.cpp \
  35         jvmtiClassFileReconstituter.cpp
  36 endif
  37 
  38 ifeq ($(INCLUDE_FPROF), false)
  39       CXXFLAGS += -DINCLUDE_FPROF=0
  40       CFLAGS += -DINCLUDE_FPROF=0
  41 
  42       Src_Files_EXCLUDE += fprofiler.cpp
  43 endif
  44 
  45 ifeq ($(INCLUDE_VM_STRUCTS), false)
  46       CXXFLAGS += -DINCLUDE_VM_STRUCTS=0
  47       CFLAGS += -DINCLUDE_VM_STRUCTS=0
  48 
  49       Src_Files_EXCLUDE += vmStructs.cpp
  50 endif
  51 
  52 ifeq ($(INCLUDE_JNI_CHECK), false)
  53       CXXFLAGS += -DINCLUDE_JNI_CHECK=0
  54       CFLAGS += -DINCLUDE_JNI_CHECK=0
  55 
  56       Src_Files_EXCLUDE += jniCheck.cpp
  57 endif
  58 
  59 ifeq ($(INCLUDE_SERVICES), false)
  60       CXXFLAGS += -DINCLUDE_SERVICES=0
  61       CFLAGS += -DINCLUDE_SERVICES=0
  62 
  63       Src_Files_EXCLUDE += heapDumper.cpp heapInspection.cpp \
  64         attachListener_linux.cpp attachListener.cpp
  65 endif
  66 
  67 ifeq ($(INCLUDE_MANAGEMENT), false)
  68       CXXFLAGS += -DINCLUDE_MANAGEMENT=0
  69       CFLAGS += -DINCLUDE_MANAGEMENT=0
  70 endif
  71 
  72 ifeq ($(INCLUDE_CDS), false)
  73       CXXFLAGS += -DINCLUDE_CDS=0
  74       CFLAGS += -DINCLUDE_CDS=0
  75 
  76       Src_Files_EXCLUDE += filemap.cpp metaspaceShared*.cpp sharedPathsMiscInfo.cpp \
  77         systemDictionaryShared.cpp classLoaderExt.cpp sharedClassUtil.cpp
  78 endif
  79 
  80 ifeq ($(INCLUDE_ALL_GCS), false)
  81       CXXFLAGS += -DINCLUDE_ALL_GCS=0
  82       CFLAGS += -DINCLUDE_ALL_GCS=0
  83 
  84       gc_dir := $(HS_COMMON_SRC)/share/vm/gc
  85       gc_dir_alt := $(HS_ALT_SRC)/share/vm/gc
  86       gc_subdirs := cms g1 parallel
  87       gc_exclude := $(foreach gc,$(gc_subdirs),                         \
  88                      $(notdir $(wildcard $(gc_dir)/$(gc)/*.cpp))        \
  89                      $(notdir $(wildcard $(gc_dir_alt)/$(gc)/*.cpp)))
  90       Src_Files_EXCLUDE += $(gc_exclude)
  91 
  92       # Exclude everything in $(gc_dir)/shared except the files listed
  93       # in $(gc_shared_keep).
  94       gc_shared_all := $(notdir $(wildcard $(gc_dir)/shared/*.cpp))
  95       gc_shared_keep :=                                                 \
  96         adaptiveSizePolicy.cpp                                          \
  97         ageTable.cpp                                                    \
  98         allocTracer.cpp                                                 \
  99         barrierSet.cpp                                                  \
 100         blockOffsetTable.cpp                                            \
 101         cardGeneration.cpp                                              \
 102         cardTableModRefBS.cpp                                           \
 103         cardTableRS.cpp                                                 \
 104         collectedHeap.cpp                                               \
 105         collectorCounters.cpp                                           \
 106         collectorPolicy.cpp                                             \
 107         cSpaceCounters.cpp                                              \
 108         gcCause.cpp                                                     \
 109         gcId.cpp                                                        \
 110         gcLocker.cpp                                                    \
 111         gcPolicyCounters.cpp                                            \
 112         gcStats.cpp                                                     \
 113         gcTimer.cpp                                                     \
 114         gcTrace.cpp                                                     \
 115         gcTraceSend.cpp                                                 \
 116         gcTraceTime.cpp                                                 \
 117         gcUtil.cpp                                                      \
 118         genCollectedHeap.cpp                                            \
 119         generation.cpp                                                  \
 120         generationCounters.cpp                                          \
 121         generationSpec.cpp                                              \
 122         genOopClosures.cpp                                              \
 123         genRemSet.cpp                                                   \
 124         objectCountEventSender.cpp                                      \
 125         referencePolicy.cpp                                             \
 126         referenceProcessor.cpp                                          \
 127         referenceProcessorStats.cpp                                     \
 128         space.cpp                                                       \
 129         spaceDecorator.cpp                                              \
 130         strongRootsScope.cpp                                            \
 131         taskqueue.cpp                                                   \
 132         threadLocalAllocBuffer.cpp                                      \
 133         vmGCOperations.cpp                                              \
 134         workgroup.cpp
 135       Src_Files_EXCLUDE += $(filter-out $(gc_shared_keep),$(gc_shared_all))
 136 
 137       # src/share/vm/services
 138       Src_Files_EXCLUDE +=                                              \
 139         g1MemoryPool.cpp                                                \
 140         psMemoryPool.cpp
 141 endif
 142 
 143 ifeq ($(INCLUDE_NMT), false)
 144       CXXFLAGS += -DINCLUDE_NMT=0
 145       CFLAGS += -DINCLUDE_NMT=0
 146 
 147       Src_Files_EXCLUDE += \
 148          memBaseline.cpp memReporter.cpp mallocTracker.cpp virtualMemoryTracker.cpp nmtCommon.cpp \
 149          memTracker.cpp nmtDCmd.cpp mallocSiteTable.cpp
 150 endif
 151 
 152 -include $(HS_ALT_MAKE)/excludeSrc.make
 153 
 154 .PHONY: $(HS_ALT_MAKE)/excludeSrc.make