X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=gdb%2Fdata-directory%2FMakefile.in;h=888325f974e09539e40303c8c4ccc0aedfa37ae8;hb=8ff8c543b4a6da9abbba7f406f13ba844cfe6d94;hp=c04aea4f20484366bc81295bea87b8aab0ee13ee;hpb=fa3a4f150f6a0ef28e0e56093d17f459244fe22f;p=thirdparty%2Fbinutils-gdb.git
diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
index c04aea4f204..888325f974e 100644
--- a/gdb/data-directory/Makefile.in
+++ b/gdb/data-directory/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2010-2021 Free Software Foundation, Inc.
# Makefile for building a staged copy of the data-directory.
# This file is part of GDB.
@@ -16,10 +16,16 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
+# Please keep lists in this file sorted alphabetically, with one item per line.
+# See gdb/Makefile.in for guidelines on ordering files and directories.
+
srcdir = @srcdir@
SYSCALLS_SRCDIR = $(srcdir)/../syscalls
PYTHON_SRCDIR = $(srcdir)/../python/lib
-VPATH = $(srcdir):$(SYSCALLS_SRCDIR):$(PYTHON_SRCDIR)
+GUILE_SRCDIR = $(srcdir)/../guile/lib
+SYSTEM_GDBINIT_SRCDIR = $(srcdir)/../system-gdbinit
+VPATH = $(srcdir):$(SYSCALLS_SRCDIR):$(PYTHON_SRCDIR):$(GUILE_SRCDIR):$(SYSTEM_GDBINIT_SRCDIR)
+XSLTPROC = @XSLTPROC@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
@@ -42,23 +48,96 @@ GDB_DATADIR = @GDB_DATADIR@
SYSCALLS_DIR = syscalls
SYSCALLS_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(SYSCALLS_DIR)
-SYSCALLS_FILES = \
- gdb-syscalls.dtd \
- ppc-linux.xml ppc64-linux.xml \
- i386-linux.xml amd64-linux.xml \
- sparc-linux.xml sparc64-linux.xml \
- mips-o32-linux.xml mips-n32-linux.xml mips-n64-linux.xml
+GEN_SYSCALLS_FILES = \
+ aarch64-linux.xml \
+ amd64-linux.xml \
+ arm-linux.xml \
+ i386-linux.xml \
+ mips-n32-linux.xml \
+ mips-n64-linux.xml \
+ mips-o32-linux.xml \
+ ppc-linux.xml \
+ ppc64-linux.xml \
+ s390-linux.xml \
+ s390x-linux.xml \
+ sparc-linux.xml \
+ sparc64-linux.xml
+
+SYSCALLS_FILES = gdb-syscalls.dtd freebsd.xml netbsd.xml $(GEN_SYSCALLS_FILES)
PYTHON_DIR = python
PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR)
-PYTHON_FILES = \
+PYTHON_FILE_LIST = \
gdb/__init__.py \
- gdb/types.py \
+ gdb/FrameDecorator.py \
+ gdb/FrameIterator.py \
+ gdb/frames.py \
gdb/printing.py \
gdb/prompt.py \
+ gdb/types.py \
+ gdb/unwinder.py \
+ gdb/xmethod.py \
gdb/command/__init__.py \
+ gdb/command/explore.py \
+ gdb/command/frame_filters.py \
gdb/command/pretty_printers.py \
- gdb/command/prompt.py
+ gdb/command/prompt.py \
+ gdb/command/type_printers.py \
+ gdb/command/unwinders.py \
+ gdb/command/xmethods.py \
+ gdb/function/__init__.py \
+ gdb/function/as_string.py \
+ gdb/function/caller_is.py \
+ gdb/function/strfns.py \
+ gdb/printer/__init__.py \
+ gdb/printer/bound_registers.py
+
+@HAVE_PYTHON_TRUE@PYTHON_FILES = $(PYTHON_FILE_LIST)
+@HAVE_PYTHON_FALSE@PYTHON_FILES =
+
+GUILE_DIR = guile
+GUILE_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(GUILE_DIR)
+
+GUILE_SOURCE_FILES = \
+ ./gdb.scm \
+ gdb/boot.scm \
+ gdb/experimental.scm \
+ gdb/init.scm \
+ gdb/iterator.scm \
+ gdb/printing.scm \
+ gdb/support.scm \
+ gdb/types.scm
+
+GUILE_COMPILED_FILES = \
+ ./gdb.go \
+ gdb/experimental.go \
+ gdb/iterator.go \
+ gdb/printing.go \
+ gdb/support.go \
+ gdb/types.go
+
+@HAVE_GUILE_TRUE@GUILE_FILES = $(GUILE_SOURCE_FILES) $(GUILE_COMPILED_FILES)
+@HAVE_GUILE_FALSE@GUILE_FILES =
+
+GUILD = @GUILD@
+GUILD_TARGET_FLAG = @GUILD_TARGET_FLAG@
+
+# Flags passed to 'guild compile'.
+# Note: We can't use -Wunbound-variable because all the variables
+# defined in C aren't visible when we compile.
+# Note: To work around a guile 2.0.5 issue (it can't find gdb/init.scm even if
+# we pass -L
) we have to compile in the directory containing gdb.scm.
+# We still need to pass "-L ." so that other modules are found.
+GUILD_COMPILE_FLAGS = \
+ $(GUILD_TARGET_FLAG) \
+ -Warity-mismatch -Wformat -Wunused-toplevel \
+ -L .
+
+SYSTEM_GDBINIT_DIR = system-gdbinit
+SYSTEM_GDBINIT_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(SYSTEM_GDBINIT_DIR)
+SYSTEM_GDBINIT_FILES = \
+ elinos.py \
+ wrs-linux.py
FLAGS_TO_PASS = \
"prefix=$(prefix)" \
@@ -93,7 +172,22 @@ FLAGS_TO_PASS = \
"RUNTESTFLAGS=$(RUNTESTFLAGS)"
.PHONY: all
-all: stamp-syscalls stamp-python
+all: stamp-syscalls stamp-python stamp-guile stamp-system-gdbinit
+
+%.xml: @MAINTAINER_MODE_TRUE@ %.xml.in apply-defaults.xsl linux-defaults.xml.in
+ $(XSLTPROC) -o $(SYSCALLS_SRCDIR)/$@ $(SYSCALLS_SRCDIR)/apply-defaults.xsl\
+ $(SYSCALLS_SRCDIR)/$@.in
+
+.PHONY: syscall-xml
+syscall-xml: $(GEN_SYSCALLS_FILES)
+
+.PHONY: clean-syscall-xml
+# Only clean files generated XML files.
+clean-syscall-xml:
+ files='$(GEN_SYSCALLS_FILES)' ; \
+ for file in $$files; do \
+ rm -f "$(SYSCALLS_SRCDIR)/$$file"; \
+ done
# For portability's sake, we need to handle systems that don't have
# symbolic links.
@@ -143,11 +237,13 @@ uninstall-syscalls:
stamp-python: Makefile $(PYTHON_FILES)
rm -rf ./$(PYTHON_DIR)
files='$(PYTHON_FILES)' ; \
- for file in $$files ; do \
- dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
- $(INSTALL_DIR) ./$(PYTHON_DIR)/$$dir ; \
- $(INSTALL_DATA) $(PYTHON_SRCDIR)/$$file ./$(PYTHON_DIR)/$$dir ; \
- done
+ if test "x$$files" != x ; then \
+ for file in $$files ; do \
+ dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+ $(INSTALL_DIR) ./$(PYTHON_DIR)/$$dir ; \
+ $(INSTALL_DATA) $(PYTHON_SRCDIR)/$$file ./$(PYTHON_DIR)/$$dir ; \
+ done ; \
+ fi
touch $@
.PHONY: clean-python
@@ -158,20 +254,115 @@ clean-python:
.PHONY: install-python
install-python:
files='$(PYTHON_FILES)' ; \
- for file in $$files ; do \
- dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
- $(INSTALL_DIR) $(PYTHON_INSTALL_DIR)/$$dir ; \
- $(INSTALL_DATA) ./$(PYTHON_DIR)/$$file $(PYTHON_INSTALL_DIR)/$$dir ; \
- done
+ if test "x$$files" != x ; then \
+ for file in $$files ; do \
+ dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+ $(INSTALL_DIR) $(PYTHON_INSTALL_DIR)/$$dir ; \
+ $(INSTALL_DATA) ./$(PYTHON_DIR)/$$file $(PYTHON_INSTALL_DIR)/$$dir ; \
+ done ; \
+ fi
.PHONY: uninstall-python
uninstall-python:
files='$(PYTHON_FILES)' ; \
+ if test "x$$files" != x ; then \
+ for file in $$files ; do \
+ slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'` ; \
+ rm -f $(PYTHON_INSTALL_DIR)/$$file ; \
+ while test "x$$file" != "x$$slashdir" ; do \
+ rmdir 2>/dev/null "$(PYTHON_INSTALL_DIR)$$slashdir" ; \
+ file="$$slashdir" ; \
+ slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+ done \
+ done ; \
+ fi
+
+stamp-guile: Makefile $(GUILE_SOURCE_FILES)
+ rm -rf ./$(GUILE_DIR)
+ if test "x$(GUILE_FILES)" != x ; then \
+ files='$(GUILE_SOURCE_FILES)' ; \
+ for file in $$files ; do \
+ dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+ $(INSTALL_DIR) ./$(GUILE_DIR)/$$dir ; \
+ $(INSTALL_DATA) $(GUILE_SRCDIR)/$$file ./$(GUILE_DIR)/$$dir ; \
+ done ; \
+ files='$(GUILE_COMPILED_FILES)' ; \
+ cd ./$(GUILE_DIR) ; \
+ for go in $$files ; do \
+ source="`echo $$go | sed 's/\.go$$/.scm/'`" ; \
+ echo $(GUILD) compile $(GUILD_COMPILE_FLAGS) -o "$$go" "$$source" ; \
+ $(GUILD) compile $(GUILD_COMPILE_FLAGS) -o "$$go" "$$source" || exit 1 ; \
+ done ; \
+ fi
+ touch $@
+
+.PHONY: clean-guile
+clean-guile:
+ rm -rf $(GUILE_DIR)
+ rm -f stamp-guile
+
+.PHONY: install-guile
+install-guile:
+ files='$(GUILE_FILES)' ; \
+ if test "x$$files" != x ; then \
+ for file in $$files ; do \
+ dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+ $(INSTALL_DIR) $(GUILE_INSTALL_DIR)/$$dir ; \
+ $(INSTALL_DATA) ./$(GUILE_DIR)/$$file $(GUILE_INSTALL_DIR)/$$dir ; \
+ done ; \
+ fi
+
+.PHONY: uninstall-guile
+uninstall-guile:
+ files='$(GUILE_FILES)' ; \
+ if test "x$$files" != x ; then \
+ for file in $$files ; do \
+ slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'` ; \
+ rm -f $(GUILE_INSTALL_DIR)/$$file ; \
+ while test "x$$file" != "x$$slashdir" ; do \
+ rmdir 2>/dev/null "$(GUILE_INSTALL_DIR)$$slashdir" ; \
+ file="$$slashdir" ; \
+ slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+ done \
+ done ; \
+ fi
+
+stamp-system-gdbinit: Makefile $(SYSTEM_GDBINIT_FILES)
+ rm -rf ./$(SYSTEM_GDBINIT_DIR)
+ mkdir ./$(SYSTEM_GDBINIT_DIR)
+ files='$(SYSTEM_GDBINIT_FILES)' ; \
+ for file in $$files ; do \
+ f=$(SYSTEM_GDBINIT_SRCDIR)/$$file ; \
+ if test -f $$f ; then \
+ $(INSTALL_DATA) $$f ./$(SYSTEM_GDBINIT_DIR) ; \
+ fi ; \
+ done
+ touch $@
+
+.PHONY: clean-system-gdbinit
+clean-system-gdbinit:
+ rm -rf $(SYSTEM_GDBINIT_DIR)
+ rm -f stamp-system-gdbinit
+
+.PHONY: install-system-gdbinit
+install-system-gdbinit:
+ $(INSTALL_DIR) $(SYSTEM_GDBINIT_INSTALL_DIR)
+ files='$(SYSTEM_GDBINIT_FILES)' ; \
+ for file in $$files; do \
+ f=$(SYSTEM_GDBINIT_SRCDIR)/$$file ; \
+ if test -f $$f ; then \
+ $(INSTALL_DATA) $$f $(SYSTEM_GDBINIT_INSTALL_DIR) ; \
+ fi ; \
+ done
+
+.PHONY: uninstall-system-gdbinit
+uninstall-system-gdbinit:
+ files='$(SYSTEM_GDBINIT_FILES)' ; \
for file in $$files ; do \
slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'` ; \
- rm -f $(PYTHON_INSTALL_DIR)/$$file ; \
+ rm -f $(SYSTEM_GDBINIT_INSTALL_DIR)/$$file ; \
while test "x$$file" != "x$$slashdir" ; do \
- rmdir 2>/dev/null "$(PYTHON_INSTALL_DIR)$$slashdir" ; \
+ rmdir 2>/dev/null "$(SYSTEM_GDBINIT_INSTALL_DIR)$$slashdir" ; \
file="$$slashdir" ; \
slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
done \
@@ -187,13 +378,15 @@ install: all
@$(MAKE) $(FLAGS_TO_PASS) install-only
.PHONY: install-only
-install-only: install-syscalls install-python
+install-only: install-syscalls install-python install-guile \
+ install-system-gdbinit
.PHONY: uninstall
-uninstall: uninstall-syscalls uninstall-python
+uninstall: uninstall-syscalls uninstall-python uninstall-guile \
+ uninstall-system-gdbinit
.PHONY: clean
-clean: clean-syscalls clean-python
+clean: clean-syscalls clean-python clean-guile clean-system-gdbinit
.PHONY: maintainer-clean realclean distclean
maintainer-clean realclean distclean: clean
@@ -218,4 +411,7 @@ clean-info:
MAKEOVERRIDES=
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(MAKE) data-directory/Makefile
+ cd .. && $(SHELL) ./config.status data-directory/Makefile
+
+# Disable implicit make rules.
+include $(srcdir)/../disable-implicit-rules.mk