Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/make/linux/makefiles/saproc.make
32284 views
#1# Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.2# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3#4# This code is free software; you can redistribute it and/or modify it5# under the terms of the GNU General Public License version 2 only, as6# published by the Free Software Foundation.7#8# This code is distributed in the hope that it will be useful, but WITHOUT9# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11# version 2 for more details (a copy is included in the LICENSE file that12# accompanied this code).13#14# You should have received a copy of the GNU General Public License version15# 2 along with this work; if not, write to the Free Software Foundation,16# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17#18# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19# or visit www.oracle.com if you need additional information or have any20# questions.21#22#23include $(GAMMADIR)/make/defs.make24include $(GAMMADIR)/make/altsrc.make2526# Rules to build serviceability agent library, used by vm.make2728# libsaproc.so: serviceability agent2930SAPROC = saproc31LIBSAPROC = lib$(SAPROC).so3233LIBSAPROC_DEBUGINFO = lib$(SAPROC).debuginfo34LIBSAPROC_DIZ = lib$(SAPROC).diz3536AGENT_DIR = $(GAMMADIR)/agent3738SASRCDIR = $(AGENT_DIR)/src/os/$(Platform_os_family)3940SASRCFILES = $(SASRCDIR)/salibelf.c \41$(SASRCDIR)/symtab.c \42$(SASRCDIR)/libproc_impl.c \43$(SASRCDIR)/ps_proc.c \44$(SASRCDIR)/ps_core.c \45$(SASRCDIR)/LinuxDebuggerLocal.c \46$(AGENT_DIR)/src/share/native/sadis.c4748-include $(HS_ALT_MAKE)/linux/makefiles/saproc.make4950SAMAPFILE = $(SASRCDIR)/mapfile5152DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC)53DEST_SAPROC_DEBUGINFO = $(JDK_LIBDIR)/$(LIBSAPROC_DEBUGINFO)54DEST_SAPROC_DIZ = $(JDK_LIBDIR)/$(LIBSAPROC_DIZ)5556# DEBUG_BINARIES overrides everything, use full -g debug information57ifeq ($(DEBUG_BINARIES), true)58SA_DEBUG_CFLAGS = -g59endif6061# Optimize saproc lib at level -O3 unless it's a slowdebug build62ifneq ($(BUILD_FLAVOR), debug)63SA_OPT_FLAGS = $(OPT_CFLAGS)64endif6566# if $(AGENT_DIR) does not exist, we don't build SA67# also, we don't build SA on Itanium or zero.6869ifneq ($(wildcard $(AGENT_DIR)),)70ifneq ($(filter-out aarch32 ia64 zero,$(SRCARCH)),)71BUILDLIBSAPROC = $(LIBSAPROC)72endif73endif7475ifneq ($(ALT_SASRCDIR),)76ALT_SAINCDIR=-I$(ALT_SASRCDIR) -DALT_SASRCDIR77else78ALT_SAINCDIR=79endif80SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) \81$(LDFLAGS_NO_EXEC_STACK) $(EXTRA_LDFLAGS)8283SAARCH ?= $(BUILDARCH)8485$(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)86$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \87echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \88exit 1; \89fi90@echo Making SA debugger back-end...91$(QUIETLY) $(CC) -D$(SAARCH) -D_GNU_SOURCE \92-D_FILE_OFFSET_BITS=64 \93$(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \94-I$(SASRCDIR) \95-I$(GENERATED) \96-I$(BOOT_JAVA_HOME)/include \97-I$(BOOT_JAVA_HOME)/include/$(Platform_os_family) \98$(ALT_SAINCDIR) \99$(SASRCFILES) \100$(SA_LFLAGS) \101$(SA_DEBUG_CFLAGS) \102$(SA_OPT_FLAGS) \103$(EXTRA_CFLAGS) \104-o $@ \105-lthread_db -ldl106ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)107ifneq ($(STRIP_POLICY),no_strip)108$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO)109$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@110endif111ifeq ($(STRIP_POLICY),all_strip)112$(QUIETLY) $(STRIP) $@113else114ifeq ($(STRIP_POLICY),min_strip)115$(QUIETLY) $(STRIP) -g $@116endif117# implied else here is no stripping at all118endif119ifneq ($(STRIP_POLICY),no_strip)120ifeq ($(ZIP_DEBUGINFO_FILES),1)121$(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO)122$(RM) $(LIBSAPROC_DEBUGINFO)123endif124endif125endif126127install_saproc: $(BUILDLIBSAPROC)128$(QUIETLY) if [ -e $(LIBSAPROC) ] ; then \129echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)"; \130test -f $(LIBSAPROC_DEBUGINFO) && \131cp -f $(LIBSAPROC_DEBUGINFO) $(DEST_SAPROC_DEBUGINFO); \132test -f $(LIBSAPROC_DIZ) && \133cp -f $(LIBSAPROC_DIZ) $(DEST_SAPROC_DIZ); \134cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done"; \135fi136137.PHONY: install_saproc138139140