From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7850) id 227CF3948024; Tue, 15 Nov 2022 23:57:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 227CF3948024 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1668556662; bh=+mBo8WvMvNF2PeNx5YXaLXAw2Ws/aW2295pk5L8mKWI=; h=From:To:Subject:Date:From; b=vNssDBMWqF/lDhcBjOmEYHu5ik9HGku65WfHa5V14oca46BitPwtUjanaYKXP2j+H sSSo0vVikq86QbQCzKzdDR+5Cp+bdn7ioz0ccGNz8dGbYCWK8nWFMRCbZrKfsewjx9 oCyfH6HdXIxYPUlGdXiaAFm3b7TjNodQwggF5u/c= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Indu Bhagat To: bfd-cvs@sourceware.org, gdb-cvs@sourceware.org Subject: [binutils-gdb] libsframe: add the SFrame library X-Act-Checkin: binutils-gdb X-Git-Author: Weimin Pan X-Git-Refname: refs/heads/master X-Git-Oldrev: dc56ee029e7e02666b81101e169333f7edfa76f9 X-Git-Newrev: 19e559f1c91bfaedbd2f91d85ee161f3f03fda3c Message-Id: <20221115235742.227CF3948024@sourceware.org> Date: Tue, 15 Nov 2022 23:57:42 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D19e559f1c91b= faedbd2f91d85ee161f3f03fda3c commit 19e559f1c91bfaedbd2f91d85ee161f3f03fda3c Author: Weimin Pan Date: Tue Nov 15 15:06:59 2022 -0800 libsframe: add the SFrame library =20 libsframe is a library that allows you to: - decode a .sframe section - probe and inspect a .sframe section - encode (and eventually write) a .sframe section. =20 This library is currently being used by the linker, readelf, objdump. This library will also be used by the SFrame unwinder which is still to be upstream'd. =20 The file include/sframe-api.h defines the user-facing APIs for decoding, encoding and probing .sframe sections. A set of error codes together with their error message strings are also defined. =20 Endian flipping is performed automatically at read and write time, if cross-endianness is detected. =20 ChangeLog: =20 * Makefile.def: Add libsframe as new module with its dependencies. * Makefile.in: Regenerated. * binutils/Makefile.am: Add libsframe. * binutils/Makefile.in: Regenerated. * configure: Regenerated * configure.ac: Add libsframe to host_libs. * libsframe/Makefile.am: New file. * libsframe/Makefile.in: New file. * libsframe/aclocal.m4: New file. * libsframe/config.h.in: New file. * libsframe/configure: New file. * libsframe/configure.ac: New file. * libsframe/sframe-error.c: New file. * libsframe/sframe-impl.h: New file. * libsframe/sframe.c: New file. =20 include/ChangeLog: =20 * sframe-api.h: New file. =20 testsuite/ChangeLog: =20 * libsframe/testsuite/Makefile.am: New file. * libsframe/testsuite/Makefile.in: Regenerated. * libsframe/testsuite/libsframe.decode/Makefile.am: New file. * libsframe/testsuite/libsframe.decode/Makefile.in: Regenerated. * libsframe/testsuite/libsframe.decode/decode.exp: New file. * libsframe/testsuite/libsframe.encode/Makefile.am: Likewise. * libsframe/testsuite/libsframe.encode/Makefile.in: Regenerated. * libsframe/testsuite/libsframe.encode/encode.exp: New file. * libsframe/testsuite/libsframe.encode/encode-1.c: Likewise. * libsframe/testsuite/libsframe.decode/be-flipping.c: Likewise. * libsframe/testsuite/libsframe.decode/frecnt-1.c: Likewise. * libsframe/testsuite/libsframe.decode/frecnt-2.c: Likewise. * libsframe/testsuite/libsframe.decode/DATA-BE: New file. * libsframe/testsuite/libsframe.decode/DATA1: Likewise. * libsframe/testsuite/libsframe.decode/DATA2: Likewise. Diff: --- Makefile.def | 2 + Makefile.in | 1288 +- binutils/Makefile.am | 2 + binutils/Makefile.in | 1 + config/dejagnu.m4 | 22 + configure | 2 +- configure.ac | 2 +- include/sframe-api.h | 231 + libsframe/Makefile.am | 39 + libsframe/Makefile.in | 1158 ++ libsframe/aclocal.m4 | 1242 ++ libsframe/config.h.in | 132 + libsframe/configure | 14943 +++++++++++++++= ++++ libsframe/configure.ac | 75 + libsframe/sframe-error.c | 49 + libsframe/sframe-impl.h | 55 + libsframe/sframe.c | 1658 ++ libsframe/testsuite/config/default.exp | 54 + libsframe/testsuite/libsframe.decode/DATA-BE | Bin 0 -> 64 bytes libsframe/testsuite/libsframe.decode/DATA1 | Bin 0 -> 60 bytes libsframe/testsuite/libsframe.decode/DATA2 | Bin 0 -> 92 bytes libsframe/testsuite/libsframe.decode/be-flipping.c | 115 + libsframe/testsuite/libsframe.decode/decode.exp | 50 + libsframe/testsuite/libsframe.decode/frecnt-1.c | 99 + libsframe/testsuite/libsframe.decode/frecnt-2.c | 104 + libsframe/testsuite/libsframe.decode/local.mk | 16 + libsframe/testsuite/libsframe.encode/encode-1.c | 177 + libsframe/testsuite/libsframe.encode/encode.exp | 37 + libsframe/testsuite/libsframe.encode/local.mk | 7 + libsframe/testsuite/local.mk | 24 + 30 files changed, 21577 insertions(+), 7 deletions(-) diff --git a/Makefile.def b/Makefile.def index acdcd625ed6..1b39c910447 100644 --- a/Makefile.def +++ b/Makefile.def @@ -149,6 +149,7 @@ host_modules=3D { module=3D lto-plugin; bootstrap=3Dtru= e; host_modules=3D { module=3D libcc1; extra_configure_flags=3D--enable-share= d; }; host_modules=3D { module=3D gotools; }; host_modules=3D { module=3D libctf; bootstrap=3Dtrue; }; +host_modules=3D { module=3D libsframe; bootstrap=3Dtrue; }; =20 target_modules =3D { module=3D libstdc++-v3; bootstrap=3Dtrue; @@ -478,6 +479,7 @@ dependencies =3D { module=3Dall-binutils; on=3Dall-intl= ; }; dependencies =3D { module=3Dall-binutils; on=3Dall-gas; }; dependencies =3D { module=3Dall-binutils; on=3Dall-libctf; }; dependencies =3D { module=3Dall-ld; on=3Dall-libctf; }; +dependencies =3D { module=3Dall-binutils; on=3Dall-libsframe; }; =20 // We put install-opcodes before install-binutils because the installed // binutils might be on PATH, and they might need the shared opcodes diff --git a/Makefile.in b/Makefile.in index cb39e4790d6..b26f778a94a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1109,7 +1109,8 @@ configure-host: \ maybe-configure-lto-plugin \ maybe-configure-libcc1 \ maybe-configure-gotools \ - maybe-configure-libctf + maybe-configure-libctf \ + maybe-configure-libsframe .PHONY: configure-target configure-target: \ maybe-configure-target-libstdc++-v3 \ @@ -1290,6 +1291,9 @@ all-host: maybe-all-gotools @if libctf-no-bootstrap all-host: maybe-all-libctf @endif libctf-no-bootstrap +@if libsframe-no-bootstrap +all-host: maybe-all-libsframe +@endif libsframe-no-bootstrap =20 .PHONY: all-target =20 @@ -1396,6 +1400,7 @@ info-host: maybe-info-lto-plugin info-host: maybe-info-libcc1 info-host: maybe-info-gotools info-host: maybe-info-libctf +info-host: maybe-info-libsframe =20 .PHONY: info-target =20 @@ -1487,6 +1492,7 @@ dvi-host: maybe-dvi-lto-plugin dvi-host: maybe-dvi-libcc1 dvi-host: maybe-dvi-gotools dvi-host: maybe-dvi-libctf +dvi-host: maybe-dvi-libsframe =20 .PHONY: dvi-target =20 @@ -1578,6 +1584,7 @@ pdf-host: maybe-pdf-lto-plugin pdf-host: maybe-pdf-libcc1 pdf-host: maybe-pdf-gotools pdf-host: maybe-pdf-libctf +pdf-host: maybe-pdf-libsframe =20 .PHONY: pdf-target =20 @@ -1669,6 +1676,7 @@ html-host: maybe-html-lto-plugin html-host: maybe-html-libcc1 html-host: maybe-html-gotools html-host: maybe-html-libctf +html-host: maybe-html-libsframe =20 .PHONY: html-target =20 @@ -1760,6 +1768,7 @@ TAGS-host: maybe-TAGS-lto-plugin TAGS-host: maybe-TAGS-libcc1 TAGS-host: maybe-TAGS-gotools TAGS-host: maybe-TAGS-libctf +TAGS-host: maybe-TAGS-libsframe =20 .PHONY: TAGS-target =20 @@ -1851,6 +1860,7 @@ install-info-host: maybe-install-info-lto-plugin install-info-host: maybe-install-info-libcc1 install-info-host: maybe-install-info-gotools install-info-host: maybe-install-info-libctf +install-info-host: maybe-install-info-libsframe =20 .PHONY: install-info-target =20 @@ -1942,6 +1952,7 @@ install-dvi-host: maybe-install-dvi-lto-plugin install-dvi-host: maybe-install-dvi-libcc1 install-dvi-host: maybe-install-dvi-gotools install-dvi-host: maybe-install-dvi-libctf +install-dvi-host: maybe-install-dvi-libsframe =20 .PHONY: install-dvi-target =20 @@ -2033,6 +2044,7 @@ install-pdf-host: maybe-install-pdf-lto-plugin install-pdf-host: maybe-install-pdf-libcc1 install-pdf-host: maybe-install-pdf-gotools install-pdf-host: maybe-install-pdf-libctf +install-pdf-host: maybe-install-pdf-libsframe =20 .PHONY: install-pdf-target =20 @@ -2124,6 +2136,7 @@ install-html-host: maybe-install-html-lto-plugin install-html-host: maybe-install-html-libcc1 install-html-host: maybe-install-html-gotools install-html-host: maybe-install-html-libctf +install-html-host: maybe-install-html-libsframe =20 .PHONY: install-html-target =20 @@ -2215,6 +2228,7 @@ installcheck-host: maybe-installcheck-lto-plugin installcheck-host: maybe-installcheck-libcc1 installcheck-host: maybe-installcheck-gotools installcheck-host: maybe-installcheck-libctf +installcheck-host: maybe-installcheck-libsframe =20 .PHONY: installcheck-target =20 @@ -2306,6 +2320,7 @@ mostlyclean-host: maybe-mostlyclean-lto-plugin mostlyclean-host: maybe-mostlyclean-libcc1 mostlyclean-host: maybe-mostlyclean-gotools mostlyclean-host: maybe-mostlyclean-libctf +mostlyclean-host: maybe-mostlyclean-libsframe =20 .PHONY: mostlyclean-target =20 @@ -2397,6 +2412,7 @@ clean-host: maybe-clean-lto-plugin clean-host: maybe-clean-libcc1 clean-host: maybe-clean-gotools clean-host: maybe-clean-libctf +clean-host: maybe-clean-libsframe =20 .PHONY: clean-target =20 @@ -2488,6 +2504,7 @@ distclean-host: maybe-distclean-lto-plugin distclean-host: maybe-distclean-libcc1 distclean-host: maybe-distclean-gotools distclean-host: maybe-distclean-libctf +distclean-host: maybe-distclean-libsframe =20 .PHONY: distclean-target =20 @@ -2579,6 +2596,7 @@ maintainer-clean-host: maybe-maintainer-clean-lto-plu= gin maintainer-clean-host: maybe-maintainer-clean-libcc1 maintainer-clean-host: maybe-maintainer-clean-gotools maintainer-clean-host: maybe-maintainer-clean-libctf +maintainer-clean-host: maybe-maintainer-clean-libsframe =20 .PHONY: maintainer-clean-target =20 @@ -2727,7 +2745,8 @@ check-host: \ maybe-check-lto-plugin \ maybe-check-libcc1 \ maybe-check-gotools \ - maybe-check-libctf + maybe-check-libctf \ + maybe-check-libsframe =20 .PHONY: check-target check-target: \ @@ -2865,7 +2884,8 @@ install-host-nogcc: \ maybe-install-lto-plugin \ maybe-install-libcc1 \ maybe-install-gotools \ - maybe-install-libctf + maybe-install-libctf \ + maybe-install-libsframe =20 .PHONY: install-host install-host: \ @@ -2921,7 +2941,8 @@ install-host: \ maybe-install-lto-plugin \ maybe-install-libcc1 \ maybe-install-gotools \ - maybe-install-libctf + maybe-install-libctf \ + maybe-install-libsframe =20 .PHONY: install-target install-target: \ @@ -3032,7 +3053,8 @@ install-strip-host: \ maybe-install-strip-lto-plugin \ maybe-install-strip-libcc1 \ maybe-install-strip-gotools \ - maybe-install-strip-libctf + maybe-install-strip-libctf \ + maybe-install-strip-libsframe =20 .PHONY: install-strip-target install-strip-target: \ @@ -44044,6 +44066,1146 @@ maintainer-clean-libctf: =20 =20 =20 +.PHONY: configure-libsframe maybe-configure-libsframe +maybe-configure-libsframe: +@if gcc-bootstrap +configure-libsframe: stage_current +@endif gcc-bootstrap +@if libsframe +maybe-configure-libsframe: configure-libsframe +configure-libsframe:=20 + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + $(HOST_EXPORTS) \ + echo Configuring in $(HOST_SUBDIR)/libsframe; \ + cd "$(HOST_SUBDIR)/libsframe" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) \ + $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + || exit 1 +@endif libsframe + + + +.PHONY: configure-stage1-libsframe maybe-configure-stage1-libsframe +maybe-configure-stage1-libsframe: +@if libsframe-bootstrap +maybe-configure-stage1-libsframe: configure-stage1-libsframe +configure-stage1-libsframe: + @[ $(current_stage) =3D stage1 ] || $(MAKE) stage1-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGE1_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + CFLAGS=3D"$(STAGE1_CFLAGS)"; export CFLAGS; \ + CXXFLAGS=3D"$(STAGE1_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS=3D"$(LIBCFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 1 in $(HOST_SUBDIR)/libsframe; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + cd $(HOST_SUBDIR)/libsframe || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + \ + $(STAGE1_CONFIGURE_FLAGS) +@endif libsframe-bootstrap + +.PHONY: configure-stage2-libsframe maybe-configure-stage2-libsframe +maybe-configure-stage2-libsframe: +@if libsframe-bootstrap +maybe-configure-stage2-libsframe: configure-stage2-libsframe +configure-stage2-libsframe: + @[ $(current_stage) =3D stage2 ] || $(MAKE) stage2-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGE2_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS=3D"$(STAGE2_CFLAGS)"; export CFLAGS; \ + CXXFLAGS=3D"$(STAGE2_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS=3D"$(STAGE2_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 2 in $(HOST_SUBDIR)/libsframe; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + cd $(HOST_SUBDIR)/libsframe || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + --with-build-libsubdir=3D$(HOST_SUBDIR) \ + $(STAGE2_CONFIGURE_FLAGS) +@endif libsframe-bootstrap + +.PHONY: configure-stage3-libsframe maybe-configure-stage3-libsframe +maybe-configure-stage3-libsframe: +@if libsframe-bootstrap +maybe-configure-stage3-libsframe: configure-stage3-libsframe +configure-stage3-libsframe: + @[ $(current_stage) =3D stage3 ] || $(MAKE) stage3-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGE3_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS=3D"$(STAGE3_CFLAGS)"; export CFLAGS; \ + CXXFLAGS=3D"$(STAGE3_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS=3D"$(STAGE3_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 3 in $(HOST_SUBDIR)/libsframe; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + cd $(HOST_SUBDIR)/libsframe || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + --with-build-libsubdir=3D$(HOST_SUBDIR) \ + $(STAGE3_CONFIGURE_FLAGS) +@endif libsframe-bootstrap + +.PHONY: configure-stage4-libsframe maybe-configure-stage4-libsframe +maybe-configure-stage4-libsframe: +@if libsframe-bootstrap +maybe-configure-stage4-libsframe: configure-stage4-libsframe +configure-stage4-libsframe: + @[ $(current_stage) =3D stage4 ] || $(MAKE) stage4-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGE4_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS=3D"$(STAGE4_CFLAGS)"; export CFLAGS; \ + CXXFLAGS=3D"$(STAGE4_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS=3D"$(STAGE4_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 4 in $(HOST_SUBDIR)/libsframe; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + cd $(HOST_SUBDIR)/libsframe || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + --with-build-libsubdir=3D$(HOST_SUBDIR) \ + $(STAGE4_CONFIGURE_FLAGS) +@endif libsframe-bootstrap + +.PHONY: configure-stageprofile-libsframe maybe-configure-stageprofile-libs= frame +maybe-configure-stageprofile-libsframe: +@if libsframe-bootstrap +maybe-configure-stageprofile-libsframe: configure-stageprofile-libsframe +configure-stageprofile-libsframe: + @[ $(current_stage) =3D stageprofile ] || $(MAKE) stageprofile-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEprofile_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS=3D"$(STAGEprofile_CFLAGS)"; export CFLAGS; \ + CXXFLAGS=3D"$(STAGEprofile_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS=3D"$(STAGEprofile_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage profile in $(HOST_SUBDIR)/libsframe; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + cd $(HOST_SUBDIR)/libsframe || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + --with-build-libsubdir=3D$(HOST_SUBDIR) \ + $(STAGEprofile_CONFIGURE_FLAGS) +@endif libsframe-bootstrap + +.PHONY: configure-stagetrain-libsframe maybe-configure-stagetrain-libsframe +maybe-configure-stagetrain-libsframe: +@if libsframe-bootstrap +maybe-configure-stagetrain-libsframe: configure-stagetrain-libsframe +configure-stagetrain-libsframe: + @[ $(current_stage) =3D stagetrain ] || $(MAKE) stagetrain-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEtrain_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS=3D"$(STAGEtrain_CFLAGS)"; export CFLAGS; \ + CXXFLAGS=3D"$(STAGEtrain_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS=3D"$(STAGEtrain_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage train in $(HOST_SUBDIR)/libsframe; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + cd $(HOST_SUBDIR)/libsframe || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + --with-build-libsubdir=3D$(HOST_SUBDIR) \ + $(STAGEtrain_CONFIGURE_FLAGS) +@endif libsframe-bootstrap + +.PHONY: configure-stagefeedback-libsframe maybe-configure-stagefeedback-li= bsframe +maybe-configure-stagefeedback-libsframe: +@if libsframe-bootstrap +maybe-configure-stagefeedback-libsframe: configure-stagefeedback-libsframe +configure-stagefeedback-libsframe: + @[ $(current_stage) =3D stagefeedback ] || $(MAKE) stagefeedback-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEfeedback_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS=3D"$(STAGEfeedback_CFLAGS)"; export CFLAGS; \ + CXXFLAGS=3D"$(STAGEfeedback_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS=3D"$(STAGEfeedback_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage feedback in $(HOST_SUBDIR)/libsframe; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + cd $(HOST_SUBDIR)/libsframe || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + --with-build-libsubdir=3D$(HOST_SUBDIR) \ + $(STAGEfeedback_CONFIGURE_FLAGS) +@endif libsframe-bootstrap + +.PHONY: configure-stageautoprofile-libsframe maybe-configure-stageautoprof= ile-libsframe +maybe-configure-stageautoprofile-libsframe: +@if libsframe-bootstrap +maybe-configure-stageautoprofile-libsframe: configure-stageautoprofile-lib= sframe +configure-stageautoprofile-libsframe: + @[ $(current_stage) =3D stageautoprofile ] || $(MAKE) stageautoprofile-st= art + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEautoprofile_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS=3D"$(STAGEautoprofile_CFLAGS)"; export CFLAGS; \ + CXXFLAGS=3D"$(STAGEautoprofile_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS=3D"$(STAGEautoprofile_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage autoprofile in $(HOST_SUBDIR)/libsframe; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + cd $(HOST_SUBDIR)/libsframe || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + --with-build-libsubdir=3D$(HOST_SUBDIR) \ + $(STAGEautoprofile_CONFIGURE_FLAGS) +@endif libsframe-bootstrap + +.PHONY: configure-stageautofeedback-libsframe maybe-configure-stageautofee= dback-libsframe +maybe-configure-stageautofeedback-libsframe: +@if libsframe-bootstrap +maybe-configure-stageautofeedback-libsframe: configure-stageautofeedback-l= ibsframe +configure-stageautofeedback-libsframe: + @[ $(current_stage) =3D stageautofeedback ] || $(MAKE) stageautofeedback-= start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEautofeedback_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libsframe/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS=3D"$(STAGEautofeedback_CFLAGS)"; export CFLAGS; \ + CXXFLAGS=3D"$(STAGEautofeedback_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS=3D"$(STAGEautofeedback_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage autofeedback in $(HOST_SUBDIR)/libsframe; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libsframe; \ + cd $(HOST_SUBDIR)/libsframe || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ + *) topdir=3D`echo $(HOST_SUBDIR)/libsframe/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=3Dlibsframe; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=3D$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_alias} \ + --target=3D${target_alias} \ + --with-build-libsubdir=3D$(HOST_SUBDIR) \ + $(STAGEautofeedback_CONFIGURE_FLAGS) +@endif libsframe-bootstrap + + + + + +.PHONY: all-libsframe maybe-all-libsframe +maybe-all-libsframe: +@if gcc-bootstrap +all-libsframe: stage_current +@endif gcc-bootstrap +@if libsframe +TARGET-libsframe=3Dall +maybe-all-libsframe: all-libsframe +all-libsframe: configure-libsframe + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(STAGE1_FLAGS_TO_PAS= S) \ + $(TARGET-libsframe)) +@endif libsframe + + + +.PHONY: all-stage1-libsframe maybe-all-stage1-libsframe +.PHONY: clean-stage1-libsframe maybe-clean-stage1-libsframe +maybe-all-stage1-libsframe: +maybe-clean-stage1-libsframe: +@if libsframe-bootstrap +maybe-all-stage1-libsframe: all-stage1-libsframe +all-stage1: all-stage1-libsframe +TARGET-stage1-libsframe =3D $(TARGET-libsframe) +all-stage1-libsframe: configure-stage1-libsframe + @[ $(current_stage) =3D stage1 ] || $(MAKE) stage1-start + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGE1_TFLAGS)"; \ + $(HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libsframe && \ + \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS=3D"$(STAGE1_CFLAGS)" \ + GENERATOR_CFLAGS=3D"$(STAGE1_GENERATOR_CFLAGS)" \ + CXXFLAGS=3D"$(STAGE1_CXXFLAGS)" \ + LIBCFLAGS=3D"$(LIBCFLAGS)" \ + CFLAGS_FOR_TARGET=3D"$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET=3D"$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET=3D"$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) \ + $(STAGE1_FLAGS_TO_PASS) \ + TFLAGS=3D"$(STAGE1_TFLAGS)" \ + $(TARGET-stage1-libsframe) + +maybe-clean-stage1-libsframe: clean-stage1-libsframe +clean-stage1: clean-stage1-libsframe +clean-stage1-libsframe: + @if [ $(current_stage) =3D stage1 ]; then \ + [ -f $(HOST_SUBDIR)/libsframe/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage1-libsframe/Makefile ] || exit 0; \ + $(MAKE) stage1-start; \ + fi; \ + cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(EXTRA_HOST_FLAGS) \ + $(STAGE1_FLAGS_TO_PASS) clean +@endif libsframe-bootstrap + + +.PHONY: all-stage2-libsframe maybe-all-stage2-libsframe +.PHONY: clean-stage2-libsframe maybe-clean-stage2-libsframe +maybe-all-stage2-libsframe: +maybe-clean-stage2-libsframe: +@if libsframe-bootstrap +maybe-all-stage2-libsframe: all-stage2-libsframe +all-stage2: all-stage2-libsframe +TARGET-stage2-libsframe =3D $(TARGET-libsframe) +all-stage2-libsframe: configure-stage2-libsframe + @[ $(current_stage) =3D stage2 ] || $(MAKE) stage2-start + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGE2_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libsframe && \ + \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS=3D"$(STAGE2_CFLAGS)" \ + GENERATOR_CFLAGS=3D"$(STAGE2_GENERATOR_CFLAGS)" \ + CXXFLAGS=3D"$(STAGE2_CXXFLAGS)" \ + LIBCFLAGS=3D"$(STAGE2_CFLAGS)" \ + CFLAGS_FOR_TARGET=3D"$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET=3D"$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET=3D"$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS=3D"$(STAGE2_TFLAGS)" \ + $(TARGET-stage2-libsframe) + +maybe-clean-stage2-libsframe: clean-stage2-libsframe +clean-stage2: clean-stage2-libsframe +clean-stage2-libsframe: + @if [ $(current_stage) =3D stage2 ]; then \ + [ -f $(HOST_SUBDIR)/libsframe/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage2-libsframe/Makefile ] || exit 0; \ + $(MAKE) stage2-start; \ + fi; \ + cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libsframe-bootstrap + + +.PHONY: all-stage3-libsframe maybe-all-stage3-libsframe +.PHONY: clean-stage3-libsframe maybe-clean-stage3-libsframe +maybe-all-stage3-libsframe: +maybe-clean-stage3-libsframe: +@if libsframe-bootstrap +maybe-all-stage3-libsframe: all-stage3-libsframe +all-stage3: all-stage3-libsframe +TARGET-stage3-libsframe =3D $(TARGET-libsframe) +all-stage3-libsframe: configure-stage3-libsframe + @[ $(current_stage) =3D stage3 ] || $(MAKE) stage3-start + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGE3_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libsframe && \ + \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS=3D"$(STAGE3_CFLAGS)" \ + GENERATOR_CFLAGS=3D"$(STAGE3_GENERATOR_CFLAGS)" \ + CXXFLAGS=3D"$(STAGE3_CXXFLAGS)" \ + LIBCFLAGS=3D"$(STAGE3_CFLAGS)" \ + CFLAGS_FOR_TARGET=3D"$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET=3D"$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET=3D"$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS=3D"$(STAGE3_TFLAGS)" \ + $(TARGET-stage3-libsframe) + +maybe-clean-stage3-libsframe: clean-stage3-libsframe +clean-stage3: clean-stage3-libsframe +clean-stage3-libsframe: + @if [ $(current_stage) =3D stage3 ]; then \ + [ -f $(HOST_SUBDIR)/libsframe/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage3-libsframe/Makefile ] || exit 0; \ + $(MAKE) stage3-start; \ + fi; \ + cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libsframe-bootstrap + + +.PHONY: all-stage4-libsframe maybe-all-stage4-libsframe +.PHONY: clean-stage4-libsframe maybe-clean-stage4-libsframe +maybe-all-stage4-libsframe: +maybe-clean-stage4-libsframe: +@if libsframe-bootstrap +maybe-all-stage4-libsframe: all-stage4-libsframe +all-stage4: all-stage4-libsframe +TARGET-stage4-libsframe =3D $(TARGET-libsframe) +all-stage4-libsframe: configure-stage4-libsframe + @[ $(current_stage) =3D stage4 ] || $(MAKE) stage4-start + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGE4_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libsframe && \ + \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS=3D"$(STAGE4_CFLAGS)" \ + GENERATOR_CFLAGS=3D"$(STAGE4_GENERATOR_CFLAGS)" \ + CXXFLAGS=3D"$(STAGE4_CXXFLAGS)" \ + LIBCFLAGS=3D"$(STAGE4_CFLAGS)" \ + CFLAGS_FOR_TARGET=3D"$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET=3D"$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET=3D"$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS=3D"$(STAGE4_TFLAGS)" \ + $(TARGET-stage4-libsframe) + +maybe-clean-stage4-libsframe: clean-stage4-libsframe +clean-stage4: clean-stage4-libsframe +clean-stage4-libsframe: + @if [ $(current_stage) =3D stage4 ]; then \ + [ -f $(HOST_SUBDIR)/libsframe/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage4-libsframe/Makefile ] || exit 0; \ + $(MAKE) stage4-start; \ + fi; \ + cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libsframe-bootstrap + + +.PHONY: all-stageprofile-libsframe maybe-all-stageprofile-libsframe +.PHONY: clean-stageprofile-libsframe maybe-clean-stageprofile-libsframe +maybe-all-stageprofile-libsframe: +maybe-clean-stageprofile-libsframe: +@if libsframe-bootstrap +maybe-all-stageprofile-libsframe: all-stageprofile-libsframe +all-stageprofile: all-stageprofile-libsframe +TARGET-stageprofile-libsframe =3D $(TARGET-libsframe) +all-stageprofile-libsframe: configure-stageprofile-libsframe + @[ $(current_stage) =3D stageprofile ] || $(MAKE) stageprofile-start + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEprofile_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libsframe && \ + \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS=3D"$(STAGEprofile_CFLAGS)" \ + GENERATOR_CFLAGS=3D"$(STAGEprofile_GENERATOR_CFLAGS)" \ + CXXFLAGS=3D"$(STAGEprofile_CXXFLAGS)" \ + LIBCFLAGS=3D"$(STAGEprofile_CFLAGS)" \ + CFLAGS_FOR_TARGET=3D"$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET=3D"$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET=3D"$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS=3D"$(STAGEprofile_TFLAGS)" \ + $(TARGET-stageprofile-libsframe) + +maybe-clean-stageprofile-libsframe: clean-stageprofile-libsframe +clean-stageprofile: clean-stageprofile-libsframe +clean-stageprofile-libsframe: + @if [ $(current_stage) =3D stageprofile ]; then \ + [ -f $(HOST_SUBDIR)/libsframe/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stageprofile-libsframe/Makefile ] || exit 0; \ + $(MAKE) stageprofile-start; \ + fi; \ + cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libsframe-bootstrap + + +.PHONY: all-stagetrain-libsframe maybe-all-stagetrain-libsframe +.PHONY: clean-stagetrain-libsframe maybe-clean-stagetrain-libsframe +maybe-all-stagetrain-libsframe: +maybe-clean-stagetrain-libsframe: +@if libsframe-bootstrap +maybe-all-stagetrain-libsframe: all-stagetrain-libsframe +all-stagetrain: all-stagetrain-libsframe +TARGET-stagetrain-libsframe =3D $(TARGET-libsframe) +all-stagetrain-libsframe: configure-stagetrain-libsframe + @[ $(current_stage) =3D stagetrain ] || $(MAKE) stagetrain-start + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEtrain_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libsframe && \ + \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS=3D"$(STAGEtrain_CFLAGS)" \ + GENERATOR_CFLAGS=3D"$(STAGEtrain_GENERATOR_CFLAGS)" \ + CXXFLAGS=3D"$(STAGEtrain_CXXFLAGS)" \ + LIBCFLAGS=3D"$(STAGEtrain_CFLAGS)" \ + CFLAGS_FOR_TARGET=3D"$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET=3D"$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET=3D"$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS=3D"$(STAGEtrain_TFLAGS)" \ + $(TARGET-stagetrain-libsframe) + +maybe-clean-stagetrain-libsframe: clean-stagetrain-libsframe +clean-stagetrain: clean-stagetrain-libsframe +clean-stagetrain-libsframe: + @if [ $(current_stage) =3D stagetrain ]; then \ + [ -f $(HOST_SUBDIR)/libsframe/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stagetrain-libsframe/Makefile ] || exit 0; \ + $(MAKE) stagetrain-start; \ + fi; \ + cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libsframe-bootstrap + + +.PHONY: all-stagefeedback-libsframe maybe-all-stagefeedback-libsframe +.PHONY: clean-stagefeedback-libsframe maybe-clean-stagefeedback-libsframe +maybe-all-stagefeedback-libsframe: +maybe-clean-stagefeedback-libsframe: +@if libsframe-bootstrap +maybe-all-stagefeedback-libsframe: all-stagefeedback-libsframe +all-stagefeedback: all-stagefeedback-libsframe +TARGET-stagefeedback-libsframe =3D $(TARGET-libsframe) +all-stagefeedback-libsframe: configure-stagefeedback-libsframe + @[ $(current_stage) =3D stagefeedback ] || $(MAKE) stagefeedback-start + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEfeedback_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libsframe && \ + \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS=3D"$(STAGEfeedback_CFLAGS)" \ + GENERATOR_CFLAGS=3D"$(STAGEfeedback_GENERATOR_CFLAGS)" \ + CXXFLAGS=3D"$(STAGEfeedback_CXXFLAGS)" \ + LIBCFLAGS=3D"$(STAGEfeedback_CFLAGS)" \ + CFLAGS_FOR_TARGET=3D"$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET=3D"$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET=3D"$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS=3D"$(STAGEfeedback_TFLAGS)" \ + $(TARGET-stagefeedback-libsframe) + +maybe-clean-stagefeedback-libsframe: clean-stagefeedback-libsframe +clean-stagefeedback: clean-stagefeedback-libsframe +clean-stagefeedback-libsframe: + @if [ $(current_stage) =3D stagefeedback ]; then \ + [ -f $(HOST_SUBDIR)/libsframe/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stagefeedback-libsframe/Makefile ] || exit 0; \ + $(MAKE) stagefeedback-start; \ + fi; \ + cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libsframe-bootstrap + + +.PHONY: all-stageautoprofile-libsframe maybe-all-stageautoprofile-libsframe +.PHONY: clean-stageautoprofile-libsframe maybe-clean-stageautoprofile-libs= frame +maybe-all-stageautoprofile-libsframe: +maybe-clean-stageautoprofile-libsframe: +@if libsframe-bootstrap +maybe-all-stageautoprofile-libsframe: all-stageautoprofile-libsframe +all-stageautoprofile: all-stageautoprofile-libsframe +TARGET-stageautoprofile-libsframe =3D $(TARGET-libsframe) +all-stageautoprofile-libsframe: configure-stageautoprofile-libsframe + @[ $(current_stage) =3D stageautoprofile ] || $(MAKE) stageautoprofile-st= art + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEautoprofile_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libsframe && \ + $$s/gcc/config/i386/$(AUTO_PROFILE) \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS=3D"$(STAGEautoprofile_CFLAGS)" \ + GENERATOR_CFLAGS=3D"$(STAGEautoprofile_GENERATOR_CFLAGS)" \ + CXXFLAGS=3D"$(STAGEautoprofile_CXXFLAGS)" \ + LIBCFLAGS=3D"$(STAGEautoprofile_CFLAGS)" \ + CFLAGS_FOR_TARGET=3D"$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET=3D"$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET=3D"$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS=3D"$(STAGEautoprofile_TFLAGS)" \ + $(TARGET-stageautoprofile-libsframe) + +maybe-clean-stageautoprofile-libsframe: clean-stageautoprofile-libsframe +clean-stageautoprofile: clean-stageautoprofile-libsframe +clean-stageautoprofile-libsframe: + @if [ $(current_stage) =3D stageautoprofile ]; then \ + [ -f $(HOST_SUBDIR)/libsframe/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stageautoprofile-libsframe/Makefile ] || exit 0; \ + $(MAKE) stageautoprofile-start; \ + fi; \ + cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libsframe-bootstrap + + +.PHONY: all-stageautofeedback-libsframe maybe-all-stageautofeedback-libsfr= ame +.PHONY: clean-stageautofeedback-libsframe maybe-clean-stageautofeedback-li= bsframe +maybe-all-stageautofeedback-libsframe: +maybe-clean-stageautofeedback-libsframe: +@if libsframe-bootstrap +maybe-all-stageautofeedback-libsframe: all-stageautofeedback-libsframe +all-stageautofeedback: all-stageautofeedback-libsframe +TARGET-stageautofeedback-libsframe =3D $(TARGET-libsframe) +all-stageautofeedback-libsframe: configure-stageautofeedback-libsframe + @[ $(current_stage) =3D stageautofeedback ] || $(MAKE) stageautofeedback-= start + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS=3D"$(STAGEautofeedback_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libsframe && \ + \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS=3D"$(STAGEautofeedback_CFLAGS)" \ + GENERATOR_CFLAGS=3D"$(STAGEautofeedback_GENERATOR_CFLAGS)" \ + CXXFLAGS=3D"$(STAGEautofeedback_CXXFLAGS)" \ + LIBCFLAGS=3D"$(STAGEautofeedback_CFLAGS)" \ + CFLAGS_FOR_TARGET=3D"$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET=3D"$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET=3D"$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS=3D"$(STAGEautofeedback_TFLAGS)" PERF_DATA=3Dperf.data \ + $(TARGET-stageautofeedback-libsframe) + +maybe-clean-stageautofeedback-libsframe: clean-stageautofeedback-libsframe +clean-stageautofeedback: clean-stageautofeedback-libsframe +clean-stageautofeedback-libsframe: + @if [ $(current_stage) =3D stageautofeedback ]; then \ + [ -f $(HOST_SUBDIR)/libsframe/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stageautofeedback-libsframe/Makefile ] || exit 0; \ + $(MAKE) stageautofeedback-start; \ + fi; \ + cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libsframe-bootstrap + + + + + +.PHONY: check-libsframe maybe-check-libsframe +maybe-check-libsframe: +@if libsframe +maybe-check-libsframe: check-libsframe + +check-libsframe: + @: $(MAKE); $(unstage) + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check) + +@endif libsframe + +.PHONY: install-libsframe maybe-install-libsframe +maybe-install-libsframe: +@if libsframe +maybe-install-libsframe: install-libsframe + +install-libsframe: installdirs + @: $(MAKE); $(unstage) + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(FLAGS_TO_PASS) install) + +@endif libsframe + +.PHONY: install-strip-libsframe maybe-install-strip-libsframe +maybe-install-strip-libsframe: +@if libsframe +maybe-install-strip-libsframe: install-strip-libsframe + +install-strip-libsframe: installdirs + @: $(MAKE); $(unstage) + @r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(FLAGS_TO_PASS) install-strip) + +@endif libsframe + +# Other targets (info, dvi, pdf, etc.) + +.PHONY: maybe-info-libsframe info-libsframe +maybe-info-libsframe: +@if libsframe +maybe-info-libsframe: info-libsframe + +info-libsframe: \ + configure-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing info in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + info) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-dvi-libsframe dvi-libsframe +maybe-dvi-libsframe: +@if libsframe +maybe-dvi-libsframe: dvi-libsframe + +dvi-libsframe: \ + configure-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing dvi in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + dvi) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-pdf-libsframe pdf-libsframe +maybe-pdf-libsframe: +@if libsframe +maybe-pdf-libsframe: pdf-libsframe + +pdf-libsframe: \ + configure-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing pdf in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + pdf) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-html-libsframe html-libsframe +maybe-html-libsframe: +@if libsframe +maybe-html-libsframe: html-libsframe + +html-libsframe: \ + configure-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing html in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + html) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-TAGS-libsframe TAGS-libsframe +maybe-TAGS-libsframe: +@if libsframe +maybe-TAGS-libsframe: TAGS-libsframe + +TAGS-libsframe: \ + configure-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing TAGS in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + TAGS) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-install-info-libsframe install-info-libsframe +maybe-install-info-libsframe: +@if libsframe +maybe-install-info-libsframe: install-info-libsframe + +install-info-libsframe: \ + configure-libsframe \ + info-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing install-info in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + install-info) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-install-dvi-libsframe install-dvi-libsframe +maybe-install-dvi-libsframe: +@if libsframe +maybe-install-dvi-libsframe: install-dvi-libsframe + +install-dvi-libsframe: \ + configure-libsframe \ + dvi-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing install-dvi in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + install-dvi) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-install-pdf-libsframe install-pdf-libsframe +maybe-install-pdf-libsframe: +@if libsframe +maybe-install-pdf-libsframe: install-pdf-libsframe + +install-pdf-libsframe: \ + configure-libsframe \ + pdf-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing install-pdf in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + install-pdf) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-install-html-libsframe install-html-libsframe +maybe-install-html-libsframe: +@if libsframe +maybe-install-html-libsframe: install-html-libsframe + +install-html-libsframe: \ + configure-libsframe \ + html-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing install-html in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + install-html) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-installcheck-libsframe installcheck-libsframe +maybe-installcheck-libsframe: +@if libsframe +maybe-installcheck-libsframe: installcheck-libsframe + +installcheck-libsframe: \ + configure-libsframe=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing installcheck in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + installcheck) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-mostlyclean-libsframe mostlyclean-libsframe +maybe-mostlyclean-libsframe: +@if libsframe +maybe-mostlyclean-libsframe: mostlyclean-libsframe + +mostlyclean-libsframe:=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing mostlyclean in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + mostlyclean) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-clean-libsframe clean-libsframe +maybe-clean-libsframe: +@if libsframe +maybe-clean-libsframe: clean-libsframe + +clean-libsframe:=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing clean in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + clean) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-distclean-libsframe distclean-libsframe +maybe-distclean-libsframe: +@if libsframe +maybe-distclean-libsframe: distclean-libsframe + +distclean-libsframe:=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing distclean in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + distclean) \ + || exit 1 + +@endif libsframe + +.PHONY: maybe-maintainer-clean-libsframe maintainer-clean-libsframe +maybe-maintainer-clean-libsframe: +@if libsframe +maybe-maintainer-clean-libsframe: maintainer-clean-libsframe + +maintainer-clean-libsframe:=20 + @[ -f ./libsframe/Makefile ] || exit 0; \ + r=3D`${PWD_COMMAND}`; export r; \ + s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=3D]*\)=3D\(.*\)|\1=3D'\2'; export= \1|"`; \ + done; \ + echo "Doing maintainer-clean in libsframe"; \ + (cd $(HOST_SUBDIR)/libsframe && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=3D$${AR}" "AS=3D$${AS}" \ + "CC=3D$${CC}" "CXX=3D$${CXX}" "LD=3D$${LD}" "NM=3D$${NM}" \ + "RANLIB=3D$${RANLIB}" \ + "DLLTOOL=3D$${DLLTOOL}" "WINDRES=3D$${WINDRES}" "WINDMC=3D$${WI= NDMC}" \ + maintainer-clean) \ + || exit 1 + +@endif libsframe + + + # --------------------------------------- # Modules which run on the target machine # --------------------------------------- @@ -59280,6 +60442,11 @@ stage1-start:: mkdir stage1-libctf; \ mv stage1-libctf libctf @endif libctf +@if libsframe + @cd $(HOST_SUBDIR); [ -d stage1-libsframe ] || \ + mkdir stage1-libsframe; \ + mv stage1-libsframe libsframe +@endif libsframe @[ -d stage1-$(TARGET_SUBDIR) ] || \ mkdir stage1-$(TARGET_SUBDIR); \ mv stage1-$(TARGET_SUBDIR) $(TARGET_SUBDIR) @@ -59405,6 +60572,11 @@ stage1-end:: cd $(HOST_SUBDIR); mv libctf stage1-libctf; \ fi @endif libctf +@if libsframe + @if test -d $(HOST_SUBDIR)/libsframe; then \ + cd $(HOST_SUBDIR); mv libsframe stage1-libsframe; \ + fi +@endif libsframe @if test -d $(TARGET_SUBDIR); then \ mv $(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR); \ fi @@ -59597,6 +60769,12 @@ stage2-start:: mv stage2-libctf libctf; \ mv stage1-libctf prev-libctf || test -f stage1-lean=20 @endif libctf +@if libsframe + @cd $(HOST_SUBDIR); [ -d stage2-libsframe ] || \ + mkdir stage2-libsframe; \ + mv stage2-libsframe libsframe; \ + mv stage1-libsframe prev-libsframe || test -f stage1-lean=20 +@endif libsframe @[ -d stage2-$(TARGET_SUBDIR) ] || \ mkdir stage2-$(TARGET_SUBDIR); \ mv stage2-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \ @@ -59747,6 +60925,12 @@ stage2-end:: mv prev-libctf stage1-libctf; : ; \ fi @endif libctf +@if libsframe + @if test -d $(HOST_SUBDIR)/libsframe; then \ + cd $(HOST_SUBDIR); mv libsframe stage2-libsframe; \ + mv prev-libsframe stage1-libsframe; : ; \ + fi +@endif libsframe @if test -d $(TARGET_SUBDIR); then \ mv $(TARGET_SUBDIR) stage2-$(TARGET_SUBDIR); \ mv prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR); : ; \ @@ -59963,6 +61147,12 @@ stage3-start:: mv stage3-libctf libctf; \ mv stage2-libctf prev-libctf || test -f stage2-lean=20 @endif libctf +@if libsframe + @cd $(HOST_SUBDIR); [ -d stage3-libsframe ] || \ + mkdir stage3-libsframe; \ + mv stage3-libsframe libsframe; \ + mv stage2-libsframe prev-libsframe || test -f stage2-lean=20 +@endif libsframe @[ -d stage3-$(TARGET_SUBDIR) ] || \ mkdir stage3-$(TARGET_SUBDIR); \ mv stage3-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \ @@ -60113,6 +61303,12 @@ stage3-end:: mv prev-libctf stage2-libctf; : ; \ fi @endif libctf +@if libsframe + @if test -d $(HOST_SUBDIR)/libsframe; then \ + cd $(HOST_SUBDIR); mv libsframe stage3-libsframe; \ + mv prev-libsframe stage2-libsframe; : ; \ + fi +@endif libsframe @if test -d $(TARGET_SUBDIR); then \ mv $(TARGET_SUBDIR) stage3-$(TARGET_SUBDIR); \ mv prev-$(TARGET_SUBDIR) stage2-$(TARGET_SUBDIR); : ; \ @@ -60385,6 +61581,12 @@ stage4-start:: mv stage4-libctf libctf; \ mv stage3-libctf prev-libctf || test -f stage3-lean=20 @endif libctf +@if libsframe + @cd $(HOST_SUBDIR); [ -d stage4-libsframe ] || \ + mkdir stage4-libsframe; \ + mv stage4-libsframe libsframe; \ + mv stage3-libsframe prev-libsframe || test -f stage3-lean=20 +@endif libsframe @[ -d stage4-$(TARGET_SUBDIR) ] || \ mkdir stage4-$(TARGET_SUBDIR); \ mv stage4-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \ @@ -60535,6 +61737,12 @@ stage4-end:: mv prev-libctf stage3-libctf; : ; \ fi @endif libctf +@if libsframe + @if test -d $(HOST_SUBDIR)/libsframe; then \ + cd $(HOST_SUBDIR); mv libsframe stage4-libsframe; \ + mv prev-libsframe stage3-libsframe; : ; \ + fi +@endif libsframe @if test -d $(TARGET_SUBDIR); then \ mv $(TARGET_SUBDIR) stage4-$(TARGET_SUBDIR); \ mv prev-$(TARGET_SUBDIR) stage3-$(TARGET_SUBDIR); : ; \ @@ -60795,6 +62003,12 @@ stageprofile-start:: mv stageprofile-libctf libctf; \ mv stage1-libctf prev-libctf || test -f stage1-lean=20 @endif libctf +@if libsframe + @cd $(HOST_SUBDIR); [ -d stageprofile-libsframe ] || \ + mkdir stageprofile-libsframe; \ + mv stageprofile-libsframe libsframe; \ + mv stage1-libsframe prev-libsframe || test -f stage1-lean=20 +@endif libsframe @[ -d stageprofile-$(TARGET_SUBDIR) ] || \ mkdir stageprofile-$(TARGET_SUBDIR); \ mv stageprofile-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \ @@ -60945,6 +62159,12 @@ stageprofile-end:: mv prev-libctf stage1-libctf; : ; \ fi @endif libctf +@if libsframe + @if test -d $(HOST_SUBDIR)/libsframe; then \ + cd $(HOST_SUBDIR); mv libsframe stageprofile-libsframe; \ + mv prev-libsframe stage1-libsframe; : ; \ + fi +@endif libsframe @if test -d $(TARGET_SUBDIR); then \ mv $(TARGET_SUBDIR) stageprofile-$(TARGET_SUBDIR); \ mv prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR); : ; \ @@ -61138,6 +62358,12 @@ stagetrain-start:: mv stagetrain-libctf libctf; \ mv stageprofile-libctf prev-libctf || test -f stageprofile-lean=20 @endif libctf +@if libsframe + @cd $(HOST_SUBDIR); [ -d stagetrain-libsframe ] || \ + mkdir stagetrain-libsframe; \ + mv stagetrain-libsframe libsframe; \ + mv stageprofile-libsframe prev-libsframe || test -f stageprofile-lean=20 +@endif libsframe @[ -d stagetrain-$(TARGET_SUBDIR) ] || \ mkdir stagetrain-$(TARGET_SUBDIR); \ mv stagetrain-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \ @@ -61288,6 +62514,12 @@ stagetrain-end:: mv prev-libctf stageprofile-libctf; : ; \ fi @endif libctf +@if libsframe + @if test -d $(HOST_SUBDIR)/libsframe; then \ + cd $(HOST_SUBDIR); mv libsframe stagetrain-libsframe; \ + mv prev-libsframe stageprofile-libsframe; : ; \ + fi +@endif libsframe @if test -d $(TARGET_SUBDIR); then \ mv $(TARGET_SUBDIR) stagetrain-$(TARGET_SUBDIR); \ mv prev-$(TARGET_SUBDIR) stageprofile-$(TARGET_SUBDIR); : ; \ @@ -61481,6 +62713,12 @@ stagefeedback-start:: mv stagefeedback-libctf libctf; \ mv stagetrain-libctf prev-libctf || test -f stagetrain-lean=20 @endif libctf +@if libsframe + @cd $(HOST_SUBDIR); [ -d stagefeedback-libsframe ] || \ + mkdir stagefeedback-libsframe; \ + mv stagefeedback-libsframe libsframe; \ + mv stagetrain-libsframe prev-libsframe || test -f stagetrain-lean=20 +@endif libsframe @[ -d stagefeedback-$(TARGET_SUBDIR) ] || \ mkdir stagefeedback-$(TARGET_SUBDIR); \ mv stagefeedback-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \ @@ -61631,6 +62869,12 @@ stagefeedback-end:: mv prev-libctf stagetrain-libctf; : ; \ fi @endif libctf +@if libsframe + @if test -d $(HOST_SUBDIR)/libsframe; then \ + cd $(HOST_SUBDIR); mv libsframe stagefeedback-libsframe; \ + mv prev-libsframe stagetrain-libsframe; : ; \ + fi +@endif libsframe @if test -d $(TARGET_SUBDIR); then \ mv $(TARGET_SUBDIR) stagefeedback-$(TARGET_SUBDIR); \ mv prev-$(TARGET_SUBDIR) stagetrain-$(TARGET_SUBDIR); : ; \ @@ -61847,6 +63091,12 @@ stageautoprofile-start:: mv stageautoprofile-libctf libctf; \ mv stage1-libctf prev-libctf || test -f stage1-lean=20 @endif libctf +@if libsframe + @cd $(HOST_SUBDIR); [ -d stageautoprofile-libsframe ] || \ + mkdir stageautoprofile-libsframe; \ + mv stageautoprofile-libsframe libsframe; \ + mv stage1-libsframe prev-libsframe || test -f stage1-lean=20 +@endif libsframe @[ -d stageautoprofile-$(TARGET_SUBDIR) ] || \ mkdir stageautoprofile-$(TARGET_SUBDIR); \ mv stageautoprofile-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \ @@ -61997,6 +63247,12 @@ stageautoprofile-end:: mv prev-libctf stage1-libctf; : ; \ fi @endif libctf +@if libsframe + @if test -d $(HOST_SUBDIR)/libsframe; then \ + cd $(HOST_SUBDIR); mv libsframe stageautoprofile-libsframe; \ + mv prev-libsframe stage1-libsframe; : ; \ + fi +@endif libsframe @if test -d $(TARGET_SUBDIR); then \ mv $(TARGET_SUBDIR) stageautoprofile-$(TARGET_SUBDIR); \ mv prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR); : ; \ @@ -62190,6 +63446,12 @@ stageautofeedback-start:: mv stageautofeedback-libctf libctf; \ mv stageautoprofile-libctf prev-libctf || test -f stageautoprofile-lean=20 @endif libctf +@if libsframe + @cd $(HOST_SUBDIR); [ -d stageautofeedback-libsframe ] || \ + mkdir stageautofeedback-libsframe; \ + mv stageautofeedback-libsframe libsframe; \ + mv stageautoprofile-libsframe prev-libsframe || test -f stageautoprofile-= lean=20 +@endif libsframe @[ -d stageautofeedback-$(TARGET_SUBDIR) ] || \ mkdir stageautofeedback-$(TARGET_SUBDIR); \ mv stageautofeedback-$(TARGET_SUBDIR) $(TARGET_SUBDIR); \ @@ -62340,6 +63602,12 @@ stageautofeedback-end:: mv prev-libctf stageautoprofile-libctf; : ; \ fi @endif libctf +@if libsframe + @if test -d $(HOST_SUBDIR)/libsframe; then \ + cd $(HOST_SUBDIR); mv libsframe stageautofeedback-libsframe; \ + mv prev-libsframe stageautoprofile-libsframe; : ; \ + fi +@endif libsframe @if test -d $(TARGET_SUBDIR); then \ mv $(TARGET_SUBDIR) stageautofeedback-$(TARGET_SUBDIR); \ mv prev-$(TARGET_SUBDIR) stageautoprofile-$(TARGET_SUBDIR); : ; \ @@ -63259,6 +64527,16 @@ all-stagetrain-ld: maybe-all-stagetrain-libctf all-stagefeedback-ld: maybe-all-stagefeedback-libctf all-stageautoprofile-ld: maybe-all-stageautoprofile-libctf all-stageautofeedback-ld: maybe-all-stageautofeedback-libctf +all-binutils: maybe-all-libsframe +all-stage1-binutils: maybe-all-stage1-libsframe +all-stage2-binutils: maybe-all-stage2-libsframe +all-stage3-binutils: maybe-all-stage3-libsframe +all-stage4-binutils: maybe-all-stage4-libsframe +all-stageprofile-binutils: maybe-all-stageprofile-libsframe +all-stagetrain-binutils: maybe-all-stagetrain-libsframe +all-stagefeedback-binutils: maybe-all-stagefeedback-libsframe +all-stageautoprofile-binutils: maybe-all-stageautoprofile-libsframe +all-stageautofeedback-binutils: maybe-all-stageautofeedback-libsframe install-binutils: maybe-install-opcodes install-strip-binutils: maybe-install-strip-opcodes install-libctf: maybe-install-bfd diff --git a/binutils/Makefile.am b/binutils/Makefile.am index b249af721ae..6d974fd3f8a 100644 --- a/binutils/Makefile.am +++ b/binutils/Makefile.am @@ -176,6 +176,8 @@ LIBCTF =3D LIBCTF_NOBFD =3D endif =20 +LIBSFRAME =3D ../libsframe/libsframe.la + LIBIBERTY =3D ../libiberty/libiberty.a =20 POTFILES =3D $(CFILES) $(DEBUG_SRCS) $(HFILES) diff --git a/binutils/Makefile.in b/binutils/Makefile.in index 51d504ad241..05aca3d3965 100644 --- a/binutils/Makefile.in +++ b/binutils/Makefile.in @@ -741,6 +741,7 @@ OPCODES =3D ../opcodes/libopcodes.la @ENABLE_LIBCTF_TRUE@LIBCTF =3D ../libctf/libctf.la @ENABLE_LIBCTF_FALSE@LIBCTF_NOBFD =3D=20 @ENABLE_LIBCTF_TRUE@LIBCTF_NOBFD =3D ../libctf/libctf-nobfd.la +LIBSFRAME =3D ../libsframe/libsframe.la LIBIBERTY =3D ../libiberty/libiberty.a POTFILES =3D $(CFILES) $(DEBUG_SRCS) $(HFILES) EXPECT =3D expect diff --git a/config/dejagnu.m4 b/config/dejagnu.m4 new file mode 100644 index 00000000000..0606e42cb53 --- /dev/null +++ b/config/dejagnu.m4 @@ -0,0 +1,22 @@ +# DEJAGNU_CHECK_VERSION DEJAGNU_CHECK_VERSION +# -------------------------------------------------------------- +# Test whether there is an incompatibility between DejaGnu and GCC version= s. +# Older versions ( <=3D 1.5.1 ) of dejagnu.h use GNU inline semantics impr= operly. +# The issue presents itself as link-time errors complaining about undefined +# references to 'pass' and 'fail'. +AC_DEFUN([DEJAGNU_CHECK_VERSION], +[ + AC_MSG_CHECKING([for incompatibility between DejaGnu and GCC]) + AC_MSG_RESULT([$ac_cv_dejagnu_compat]) + + AC_TRY_LINK([#include ], + [pass ("test foo"); + return 0;], + [ac_cv_dejagnu_compat=3Dyes], + [ac_cv_dejagnu_compat=3Dno]) + AC_MSG_RESULT([$ac_cv_dejagnu_compat]) + + if test "$ac_cv_dejagnu_compat}" =3D no ; then + AC_MSG_RESULT([detected incompatibility between dejagnu version and gc= c]) + fi +]) diff --git a/configure b/configure index 7bcb894d1fe..80b2b02fe7e 100755 --- a/configure +++ b/configure @@ -2821,7 +2821,7 @@ build_tools=3D"build-texinfo build-flex build-bison b= uild-m4 build-fixincludes" =20 # these libraries are used by various programs built for the host environm= ent #f -host_libs=3D"intl libiberty opcodes bfd readline tcl tk itcl libgui zlib l= ibbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf" +host_libs=3D"intl libiberty opcodes bfd readline tcl tk itcl libgui zlib l= ibbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf li= bsframe" =20 # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in orde= r to diff --git a/configure.ac b/configure.ac index aab451467bd..36267d85785 100644 --- a/configure.ac +++ b/configure.ac @@ -133,7 +133,7 @@ build_tools=3D"build-texinfo build-flex build-bison bui= ld-m4 build-fixincludes" =20 # these libraries are used by various programs built for the host environm= ent #f -host_libs=3D"intl libiberty opcodes bfd readline tcl tk itcl libgui zlib l= ibbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf" +host_libs=3D"intl libiberty opcodes bfd readline tcl tk itcl libgui zlib l= ibbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf li= bsframe" =20 # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in orde= r to diff --git a/include/sframe-api.h b/include/sframe-api.h new file mode 100644 index 00000000000..f0924dc91e3 --- /dev/null +++ b/include/sframe-api.h @@ -0,0 +1,231 @@ +/* Public API to SFrame. + + Copyright (C) 2022 Free Software Foundation, Inc. + + This file is part of libsframe. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . = */ + +#ifndef _SFRAME_API_H +#define _SFRAME_API_H + +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct sframe_decoder_ctx sframe_decoder_ctx; +typedef struct sframe_encoder_ctx sframe_encoder_ctx; + +#define MAX_OFFSET_BYTES (SFRAME_FRE_OFFSET_4B * 2 * 3) + +/* User interfacing SFrame Row Entry. + An abstraction provided by libsframe so the consumer is decoupled from + the binary format representation of the same. */ + +typedef struct sframe_frame_row_entry +{ + uint32_t fre_start_addr; + unsigned char fre_info; + unsigned char fre_offsets[MAX_OFFSET_BYTES]; +} sframe_frame_row_entry; + +#define SFRAME_ERR ((int) -1) + +/* This macro holds information about all the available SFrame + errors. It is used to form both an enum holding all the error + constants, and also the error strings themselves. To use, define + _SFRAME_FIRST and _SFRAME_ITEM to expand as you like, then + mention the macro name. See the enum after this for an example. */ +#define _SFRAME_ERRORS \ + _SFRAME_FIRST (SFRAME_ERR_VERSION_INVAL, "SFrame version not supported."= ) \ + _SFRAME_ITEM (SFRAME_ERR_NOMEM, "Out of Memory.") \ + _SFRAME_ITEM (SFRAME_ERR_INVAL, "Corrupt SFrame.") \ + _SFRAME_ITEM (SFRAME_ERR_BUF_INVAL, "Buffer does not contain SFrame data= .") \ + _SFRAME_ITEM (SFRAME_ERR_DCTX_INVAL, "Corrupt SFrame decoder.") \ + _SFRAME_ITEM (SFRAME_ERR_ECTX_INVAL, "Corrupt SFrame encoder.") \ + _SFRAME_ITEM (SFRAME_ERR_FDE_INVAL, "Corrput FDE.") \ + _SFRAME_ITEM (SFRAME_ERR_FRE_INVAL, "Corrupt FRE.") \ + _SFRAME_ITEM (SFRAME_ERR_FDE_NOTFOUND,"FDE not found.") \ + _SFRAME_ITEM (SFRAME_ERR_FDE_NOTSORTED, "FDEs not sorted.") \ + _SFRAME_ITEM (SFRAME_ERR_FRE_NOTFOUND,"FRE not found.") \ + _SFRAME_ITEM (SFRAME_ERR_FREOFFSET_NOPRESENT,"FRE offset not present.") + +#define SFRAME_ERR_BASE 2000 /* Base value for libsframe errnos. */ + +enum + { +#define _SFRAME_FIRST(NAME, STR) NAME =3D SFRAME_ERR_BASE +#define _SFRAME_ITEM(NAME, STR) , NAME +_SFRAME_ERRORS +#undef _SFRAME_ITEM +#undef _SFRAME_FIRST + }; + +/* Count of SFrame errors. */ +#define SFRAME_ERR_NERR (SFRAME_ERR_FREOFFSET_NOPRESENT - SFRAME_ERR_BASE = + 1) + +/* Get the error message string. */ + +extern const char * +sframe_errmsg (int error); + +/* Get FDE function info given a FRE_TYPE. */ + +extern unsigned char +sframe_fde_func_info (unsigned int fre_type, unsigned int fde_type); + +/* Gather the FRE type given the function size. */ + +extern unsigned int +sframe_calc_fre_type (unsigned int func_size); + +/* The SFrame Decoder. */ + +/* Decode the specified SFrame buffer CF_BUF of size CF_SIZE and return the + new SFrame decoder context. Sets ERRP for the caller if any error. */ +extern sframe_decoder_ctx * +sframe_decode (const char *cf_buf, size_t cf_size, int *errp); + +/* Free the decoder context. */ +extern void +sframe_decoder_free (sframe_decoder_ctx **dctx); + +/* Get the size of the SFrame header from the decoder context DCTX. */ +extern unsigned int +sframe_decoder_get_hdr_size (sframe_decoder_ctx *dctx); + +/* Get the SFrame's abi/arch info. */ +extern unsigned char +sframe_decoder_get_abi_arch (sframe_decoder_ctx *dctx); + +/* Return the number of function descriptor entries in the SFrame decoder + DCTX. */ +unsigned int +sframe_decoder_get_num_fidx (sframe_decoder_ctx *dctx); + +/* Get the fixed FP offset from the decoder context DCTX. */ +extern int8_t +sframe_decoder_get_fixed_fp_offset (sframe_decoder_ctx *dctx); + +/* Get the fixed RA offset from the decoder context DCTX. */ +extern int8_t +sframe_decoder_get_fixed_ra_offset (sframe_decoder_ctx *dctx); + +/* Find the function descriptor entry which contains the specified address= . */ +extern sframe_func_desc_entry * +sframe_get_funcdesc_with_addr (sframe_decoder_ctx *dctx, + int32_t addr, int *errp); + +/* Find the SFrame Frame Row Entry which contains the PC. Returns + SFRAME_ERR if failure. */ + +extern int +sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc, + sframe_frame_row_entry *frep); + +/* Get the FRE_IDX'th FRE of the function at FUNC_IDX'th function + index entry in the SFrame decoder CTX. Returns error code as + applicable. */ +extern int +sframe_decoder_get_fre (sframe_decoder_ctx *ctx, + unsigned int func_idx, + unsigned int fre_idx, + sframe_frame_row_entry *fre); + +/* Get the data (NUM_FRES, FUNC_START_ADDRESS) from the function + descriptor entry at index I'th in the decoder CTX. If failed, + return error code. */ +extern int +sframe_decoder_get_funcdesc (sframe_decoder_ctx *ctx, + unsigned int i, + uint32_t *num_fres, + uint32_t *func_size, + int32_t *func_start_address, + unsigned char *func_info); + + +/* Get the base reg id from the FRE info. Sets errp if fails. */ +extern unsigned int +sframe_fre_get_base_reg_id (sframe_frame_row_entry *fre, int *errp); + +/* Get the CFA offset from the FRE. If the offset is invalid, sets errp. = */ +extern int32_t +sframe_fre_get_cfa_offset (sframe_decoder_ctx *dtcx, + sframe_frame_row_entry *fre, int *errp); + +/* Get the FP offset from the FRE. If the offset is invalid, sets errp. = */ +extern int32_t +sframe_fre_get_fp_offset (sframe_decoder_ctx *dctx, + sframe_frame_row_entry *fre, int *errp); + +/* Get the RA offset from the FRE. If the offset is invalid, sets errp. = */ +extern int32_t +sframe_fre_get_ra_offset (sframe_decoder_ctx *dctx, + sframe_frame_row_entry *fre, int *errp); + +/* The SFrame Encoder. */ + +/* Create an encoder context with the given SFrame format version VER, FLA= GS + and ABI information. Sets errp if failure. */ +extern sframe_encoder_ctx * +sframe_encode (unsigned char ver, unsigned char flags, int abi, + int8_t fixed_fp_offset, int8_t fixed_ra_offset, int *errp); + +/* Free the encoder context. */ +extern void +sframe_free_encoder (sframe_encoder_ctx *encoder); + +/* Get the size of the SFrame header from the encoder ctx ENCODER. */ +extern unsigned int +sframe_encoder_get_hdr_size (sframe_encoder_ctx *encoder); + +/* Get the abi/arch info from the SFrame encoder context CTX. */ +extern unsigned char +sframe_encoder_get_abi_arch (sframe_encoder_ctx *encoder); + +/* Return the number of function descriptor entries in the SFrame encoder + ENCODER. */ +extern unsigned int +sframe_encoder_get_num_fidx (sframe_encoder_ctx *encoder); + +/* Add an FRE to function at FUNC_IDX'th function descriptor index entry in + the encoder context. */ +extern int +sframe_encoder_add_fre (sframe_encoder_ctx *encoder, + unsigned int func_idx, + sframe_frame_row_entry *frep); + +/* Add a new function descriptor entry with START_ADDR, FUNC_SIZE and NUM_= FRES + to the encoder. */ +extern int +sframe_encoder_add_funcdesc (sframe_encoder_ctx *encoder, + int32_t start_addr, + uint32_t func_size, + unsigned char func_info, + uint32_t num_fres); + +/* Serialize the contents of the encoder and return the buffer. ENCODED_S= IZE + is updated to the size of the buffer. Sets ERRP if failure. */ +extern char * +sframe_encoder_write (sframe_encoder_ctx *encoder, + size_t *encoded_size, int *errp); + +#ifdef __cplusplus +} +#endif + +#endif /* _SFRAME_API_H */ diff --git a/libsframe/Makefile.am b/libsframe/Makefile.am new file mode 100644 index 00000000000..940494dba1e --- /dev/null +++ b/libsframe/Makefile.am @@ -0,0 +1,39 @@ +## Process this file with automake to produce Makefile.in. +# +# Copyright (C) 2022 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not see +# . +# +ACLOCAL_AMFLAGS =3D -I .. -I ../config -I ../bfd + +AUTOMAKE_OPTIONS =3D dejagnu foreign no-texinfo.tex subdir-objects + +INCDIR =3D $(srcdir)/../include +# include libctf for swap.h +AM_CPPFLAGS =3D -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../libctf +AM_CFLAGS =3D @ac_libsframe_warn_cflags@ + +if INSTALL_LIBBFD +lib_LTLIBRARIES =3D libsframe.la +include_HEADERS =3D $(INCDIR)/sframe.h $(INCDIR)/sframe-api.h +else +include_HEADERS =3D +noinst_LTLIBRARIES =3D libsframe.la +endif + +libsframe_la_SOURCES =3D sframe.c sframe-error.c +libsframe_la_CPPFLAGS =3D $(AM_CPPFLAGS) + +include testsuite/local.mk diff --git a/libsframe/Makefile.in b/libsframe/Makefile.in new file mode 100644 index 00000000000..2d1ea896471 --- /dev/null +++ b/libsframe/Makefile.in @@ -0,0 +1,1158 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH =3D @srcdir@ +am__is_gnu_make =3D { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option =3D \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=3Dno; \ + sane_makeflags=3D$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=3D$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=3D\\; \ + sane_makeflags=3D`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=3Dno; \ + strip_trailopt () \ + { \ + flg=3D`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next =3D yes && { skip_next=3Dno; continue; }; \ + case $$flg in \ + *=3D*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=3Dyes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=3Dyes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=3Dyes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=3Dyes;; \ + -[JT]) skip_next=3Dyes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=3Dyes; break;; \ + esac; \ + done; \ + test $$has_opt =3D yes +am__make_dryrun =3D (target_option=3Dn; $(am__make_running_with_option)) +am__make_keepgoing =3D (target_option=3Dk; $(am__make_running_with_option)) +pkgdatadir =3D $(datadir)/@PACKAGE@ +pkgincludedir =3D $(includedir)/@PACKAGE@ +pkglibdir =3D $(libdir)/@PACKAGE@ +pkglibexecdir =3D $(libexecdir)/@PACKAGE@ +am__cd =3D CDPATH=3D"$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA =3D $(install_sh) -c -m 644 +install_sh_PROGRAM =3D $(install_sh) -c +install_sh_SCRIPT =3D $(install_sh) -c +INSTALL_HEADER =3D $(INSTALL_DATA) +transform =3D $(program_transform_name) +NORMAL_INSTALL =3D : +PRE_INSTALL =3D : +POST_INSTALL =3D : +NORMAL_UNINSTALL =3D : +PRE_UNINSTALL =3D : +POST_UNINSTALL =3D : +build_triplet =3D @build@ +host_triplet =3D @host@ +check_PROGRAMS =3D $(am__EXEEXT_1) +@HAVE_COMPAT_DEJAGNU_TRUE@am__append_1 =3D testsuite/libsframe.decode/be-f= lipping \ +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.decode/frecnt-1 \ +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.decode/frecnt-2 \ +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.encode/encode-1 +subdir =3D . +ACLOCAL_M4 =3D $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps =3D $(top_srcdir)/../bfd/acinclude.m4 \ + $(top_srcdir)/../config/acx.m4 \ + $(top_srcdir)/../config/dejagnu.m4 \ + $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/../config/jobserver.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ + $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/warnings.m4 \ + $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ + $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ + $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.ac +am__configure_deps =3D $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON =3D $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__include_HEADERS_DIST) \ + $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES =3D config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs =3D $(SHELL) $(top_srcdir)/../mkinstalldirs +CONFIG_HEADER =3D config.h +CONFIG_CLEAN_FILES =3D +CONFIG_CLEAN_VPATH_FILES =3D +am__vpath_adj_setup =3D srcdirstrip=3D`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj =3D case $$p in \ + $(srcdir)/*) f=3D`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=3D$$p;; \ + esac; +am__strip_dir =3D f=3D`echo $$p | sed -e 's|^.*/||'`; +am__install_max =3D 40 +am__nobase_strip_setup =3D \ + srcdirstrip=3D`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip =3D \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list =3D $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' |= \ + $(AWK) 'BEGIN { files["."] =3D "" } { files[$$2] =3D files[$$2] " " $$1;= \ + if (++n[$$2] =3D=3D $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] =3D 0; files[$$2] =3D "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list =3D \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir =3D { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs =3D "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" +LTLIBRARIES =3D $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) +libsframe_la_LIBADD =3D +am_libsframe_la_OBJECTS =3D libsframe_la-sframe.lo \ + libsframe_la-sframe-error.lo +libsframe_la_OBJECTS =3D $(am_libsframe_la_OBJECTS) +AM_V_lt =3D $(am__v_lt_@AM_V@) +am__v_lt_ =3D $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 =3D --silent +am__v_lt_1 =3D=20 +@INSTALL_LIBBFD_FALSE@am_libsframe_la_rpath =3D +@INSTALL_LIBBFD_TRUE@am_libsframe_la_rpath =3D -rpath $(libdir) +@HAVE_COMPAT_DEJAGNU_TRUE@am__EXEEXT_1 =3D testsuite/libsframe.decode/be-f= lipping$(EXEEXT) \ +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.decode/frecnt-1$(EXEEXT) \ +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.decode/frecnt-2$(EXEEXT) \ +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.encode/encode-1$(EXEEXT) +am__dirstamp =3D $(am__leading_dot)dirstamp +am_testsuite_libsframe_decode_be_flipping_OBJECTS =3D testsuite/libsframe.= decode/testsuite_libsframe_decode_be_flipping-be-flipping.$(OBJEXT) +testsuite_libsframe_decode_be_flipping_OBJECTS =3D \ + $(am_testsuite_libsframe_decode_be_flipping_OBJECTS) +testsuite_libsframe_decode_be_flipping_DEPENDENCIES =3D \ + ${top_builddir}/libsframe.la +am_testsuite_libsframe_decode_frecnt_1_OBJECTS =3D testsuite/libsframe.dec= ode/testsuite_libsframe_decode_frecnt_1-frecnt-1.$(OBJEXT) +testsuite_libsframe_decode_frecnt_1_OBJECTS =3D \ + $(am_testsuite_libsframe_decode_frecnt_1_OBJECTS) +testsuite_libsframe_decode_frecnt_1_DEPENDENCIES =3D \ + ${top_builddir}/libsframe.la +am_testsuite_libsframe_decode_frecnt_2_OBJECTS =3D testsuite/libsframe.dec= ode/testsuite_libsframe_decode_frecnt_2-frecnt-2.$(OBJEXT) +testsuite_libsframe_decode_frecnt_2_OBJECTS =3D \ + $(am_testsuite_libsframe_decode_frecnt_2_OBJECTS) +testsuite_libsframe_decode_frecnt_2_DEPENDENCIES =3D \ + ${top_builddir}/libsframe.la +am_testsuite_libsframe_encode_encode_1_OBJECTS =3D testsuite/libsframe.enc= ode/testsuite_libsframe_encode_encode_1-encode-1.$(OBJEXT) +testsuite_libsframe_encode_encode_1_OBJECTS =3D \ + $(am_testsuite_libsframe_encode_encode_1_OBJECTS) +testsuite_libsframe_encode_encode_1_DEPENDENCIES =3D \ + ${top_builddir}/libsframe.la +AM_V_P =3D $(am__v_P_@AM_V@) +am__v_P_ =3D $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 =3D false +am__v_P_1 =3D : +AM_V_GEN =3D $(am__v_GEN_@AM_V@) +am__v_GEN_ =3D $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 =3D @echo " GEN " $@; +am__v_GEN_1 =3D=20 +AM_V_at =3D $(am__v_at_@AM_V@) +am__v_at_ =3D $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 =3D @ +am__v_at_1 =3D=20 +DEFAULT_INCLUDES =3D -I.@am__isrc@ +depcomp =3D $(SHELL) $(top_srcdir)/../depcomp +am__depfiles_maybe =3D depfiles +am__mv =3D mv -f +COMPILE =3D $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE =3D $(LIBTOOL) $(AM_V_lt) --tag=3DCC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=3Dcompile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC =3D $(am__v_CC_@AM_V@) +am__v_CC_ =3D $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 =3D @echo " CC " $@; +am__v_CC_1 =3D=20 +CCLD =3D $(CC) +LINK =3D $(LIBTOOL) $(AM_V_lt) --tag=3DCC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=3Dlink $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD =3D $(am__v_CCLD_@AM_V@) +am__v_CCLD_ =3D $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 =3D @echo " CCLD " $@; +am__v_CCLD_1 =3D=20 +SOURCES =3D $(libsframe_la_SOURCES) \ + $(testsuite_libsframe_decode_be_flipping_SOURCES) \ + $(testsuite_libsframe_decode_frecnt_1_SOURCES) \ + $(testsuite_libsframe_decode_frecnt_2_SOURCES) \ + $(testsuite_libsframe_encode_encode_1_SOURCES) +DIST_SOURCES =3D $(libsframe_la_SOURCES) \ + $(testsuite_libsframe_decode_be_flipping_SOURCES) \ + $(testsuite_libsframe_decode_frecnt_1_SOURCES) \ + $(testsuite_libsframe_decode_frecnt_2_SOURCES) \ + $(testsuite_libsframe_encode_encode_1_SOURCES) +am__can_run_installinfo =3D \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__include_HEADERS_DIST =3D $(INCDIR)/sframe.h $(INCDIR)/sframe-api.h +HEADERS =3D $(include_HEADERS) +am__tagged_files =3D $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input =3D $(AWK) '\ + BEGIN { nonempty =3D 0; } \ + { items[$$0] =3D 1; nonempty =3D 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files =3D \ + list=3D'$(am__tagged_files)'; \ + unique=3D`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS =3D etags +CTAGS =3D ctags +CSCOPE =3D cscope +AM_RECURSIVE_TARGETS =3D cscope +DEJATOOL =3D $(PACKAGE) +RUNTESTDEFAULTFLAGS =3D --tool $$tool --srcdir $$srcdir +am__DIST_COMMON =3D $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/testsuite/libsframe.decode/local.mk \ + $(srcdir)/testsuite/libsframe.encode/local.mk \ + $(srcdir)/testsuite/local.mk $(top_srcdir)/../ar-lib \ + $(top_srcdir)/../compile $(top_srcdir)/../config.guess \ + $(top_srcdir)/../config.sub $(top_srcdir)/../depcomp \ + $(top_srcdir)/../install-sh $(top_srcdir)/../ltmain.sh \ + $(top_srcdir)/../missing $(top_srcdir)/../mkinstalldirs +DISTFILES =3D $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir =3D $(PACKAGE)-$(VERSION) +top_distdir =3D $(distdir) +am__remove_distdir =3D \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir =3D $(am__remove_distdir) +DIST_ARCHIVES =3D $(distdir).tar.gz +GZIP_ENV =3D --best +DIST_TARGETS =3D dist-gzip +distuninstallcheck_listfiles =3D find . -type f -print +am__distuninstallcheck_listfiles =3D $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles =3D find . -type f -print +ACLOCAL =3D @ACLOCAL@ +AMTAR =3D @AMTAR@ +AM_DEFAULT_VERBOSITY =3D @AM_DEFAULT_VERBOSITY@ +AR =3D @AR@ +AUTOCONF =3D @AUTOCONF@ +AUTOHEADER =3D @AUTOHEADER@ +AUTOMAKE =3D @AUTOMAKE@ +AWK =3D @AWK@ +CC =3D @CC@ +CCDEPMODE =3D @CCDEPMODE@ +CFLAGS =3D @CFLAGS@ +COMPAT_DEJAGNU =3D @COMPAT_DEJAGNU@ +CPP =3D @CPP@ +CPPFLAGS =3D @CPPFLAGS@ +CYGPATH_W =3D @CYGPATH_W@ +DEFS =3D @DEFS@ +DEPDIR =3D @DEPDIR@ +DSYMUTIL =3D @DSYMUTIL@ +DUMPBIN =3D @DUMPBIN@ +ECHO_C =3D @ECHO_C@ +ECHO_N =3D @ECHO_N@ +ECHO_T =3D @ECHO_T@ +EGREP =3D @EGREP@ +EXEEXT =3D @EXEEXT@ +FGREP =3D @FGREP@ +GREP =3D @GREP@ +INSTALL =3D @INSTALL@ +INSTALL_DATA =3D @INSTALL_DATA@ +INSTALL_PROGRAM =3D @INSTALL_PROGRAM@ +INSTALL_SCRIPT =3D @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM =3D @INSTALL_STRIP_PROGRAM@ +LD =3D @LD@ +LDFLAGS =3D @LDFLAGS@ +LIBOBJS =3D @LIBOBJS@ +LIBS =3D @LIBS@ +LIBTOOL =3D @LIBTOOL@ +LIPO =3D @LIPO@ +LN_S =3D @LN_S@ +LTLIBOBJS =3D @LTLIBOBJS@ +MAINT =3D @MAINT@ +MAKEINFO =3D @MAKEINFO@ +MKDIR_P =3D @MKDIR_P@ +NM =3D @NM@ +NMEDIT =3D @NMEDIT@ +OBJDUMP =3D @OBJDUMP@ +OBJEXT =3D @OBJEXT@ +OTOOL =3D @OTOOL@ +OTOOL64 =3D @OTOOL64@ +PACKAGE =3D @PACKAGE@ +PACKAGE_BUGREPORT =3D @PACKAGE_BUGREPORT@ +PACKAGE_NAME =3D @PACKAGE_NAME@ +PACKAGE_STRING =3D @PACKAGE_STRING@ +PACKAGE_TARNAME =3D @PACKAGE_TARNAME@ +PACKAGE_URL =3D @PACKAGE_URL@ +PACKAGE_VERSION =3D @PACKAGE_VERSION@ +PATH_SEPARATOR =3D @PATH_SEPARATOR@ +RANLIB =3D @RANLIB@ +SED =3D @SED@ +SET_MAKE =3D @SET_MAKE@ +SHELL =3D @SHELL@ +STRIP =3D @STRIP@ +VERSION =3D @VERSION@ +abs_builddir =3D @abs_builddir@ +abs_srcdir =3D @abs_srcdir@ +abs_top_builddir =3D @abs_top_builddir@ +abs_top_srcdir =3D @abs_top_srcdir@ +ac_ct_AR =3D @ac_ct_AR@ +ac_ct_CC =3D @ac_ct_CC@ +ac_ct_DUMPBIN =3D @ac_ct_DUMPBIN@ +ac_libsframe_warn_cflags =3D @ac_libsframe_warn_cflags@ +am__include =3D @am__include@ +am__leading_dot =3D @am__leading_dot@ +am__quote =3D @am__quote@ +am__tar =3D @am__tar@ +am__untar =3D @am__untar@ +bindir =3D @bindir@ +build =3D @build@ +build_alias =3D @build_alias@ +build_cpu =3D @build_cpu@ +build_os =3D @build_os@ +build_vendor =3D @build_vendor@ +builddir =3D @builddir@ +datadir =3D @datadir@ +datarootdir =3D @datarootdir@ +docdir =3D @docdir@ +dvidir =3D @dvidir@ +exec_prefix =3D @exec_prefix@ +host =3D @host@ +host_alias =3D @host_alias@ +host_cpu =3D @host_cpu@ +host_noncanonical =3D @host_noncanonical@ +host_os =3D @host_os@ +host_vendor =3D @host_vendor@ +htmldir =3D @htmldir@ +includedir =3D @includedir@ +infodir =3D @infodir@ +install_sh =3D @install_sh@ +libdir =3D @libdir@ +libexecdir =3D @libexecdir@ +localedir =3D @localedir@ +localstatedir =3D @localstatedir@ +mandir =3D @mandir@ +mkdir_p =3D @mkdir_p@ +oldincludedir =3D @oldincludedir@ +pdfdir =3D @pdfdir@ +prefix =3D @prefix@ +program_transform_name =3D @program_transform_name@ +psdir =3D @psdir@ +sbindir =3D @sbindir@ +sharedstatedir =3D @sharedstatedir@ +srcdir =3D @srcdir@ +sysconfdir =3D @sysconfdir@ +target_alias =3D @target_alias@ +target_noncanonical =3D @target_noncanonical@ +top_build_prefix =3D @top_build_prefix@ +top_builddir =3D @top_builddir@ +top_srcdir =3D @top_srcdir@ + +# +# Copyright (C) 2022 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not see +# . +# +ACLOCAL_AMFLAGS =3D -I .. -I ../config -I ../bfd +AUTOMAKE_OPTIONS =3D dejagnu foreign no-texinfo.tex subdir-objects +INCDIR =3D $(srcdir)/../include +# include libctf for swap.h +AM_CPPFLAGS =3D -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../libctf +AM_CFLAGS =3D @ac_libsframe_warn_cflags@ +@INSTALL_LIBBFD_TRUE@lib_LTLIBRARIES =3D libsframe.la +@INSTALL_LIBBFD_FALSE@include_HEADERS =3D=20 +@INSTALL_LIBBFD_TRUE@include_HEADERS =3D $(INCDIR)/sframe.h $(INCDIR)/sfra= me-api.h +@INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES =3D libsframe.la +libsframe_la_SOURCES =3D sframe.c sframe-error.c +libsframe_la_CPPFLAGS =3D $(AM_CPPFLAGS) + +# Setup the testing framework +EXPECT =3D expect +RUNTEST =3D runtest +RUNTESTFLAGS =3D=20 +testsuite_libsframe_decode_be_flipping_SOURCES =3D testsuite/libsframe.dec= ode/be-flipping.c +testsuite_libsframe_decode_be_flipping_LDADD =3D ${top_builddir}/libsframe= .la +testsuite_libsframe_decode_be_flipping_CPPFLAGS =3D -I${top_srcdir}/../inc= lude -Wall +testsuite_libsframe_decode_frecnt_1_SOURCES =3D testsuite/libsframe.decode= /frecnt-1.c +testsuite_libsframe_decode_frecnt_1_LDADD =3D ${top_builddir}/libsframe.la +testsuite_libsframe_decode_frecnt_1_CPPFLAGS =3D -I${top_srcdir}/../includ= e -Wall +testsuite_libsframe_decode_frecnt_2_SOURCES =3D testsuite/libsframe.decode= /frecnt-2.c +testsuite_libsframe_decode_frecnt_2_LDADD =3D ${top_builddir}/libsframe.la= =20 +testsuite_libsframe_decode_frecnt_2_CPPFLAGS =3D -I${top_srcdir}/../includ= e -Wall +testsuite_libsframe_encode_encode_1_SOURCES =3D testsuite/libsframe.encode= /encode-1.c +testsuite_libsframe_encode_encode_1_LDADD =3D ${top_builddir}/libsframe.la +testsuite_libsframe_encode_encode_1_CPPFLAGS =3D -I${top_srcdir}/../includ= e -Wall +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcd= ir)/testsuite/local.mk $(srcdir)/testsuite/libsframe.decode/local.mk $(srcd= ir)/testsuite/libsframe.encode/local.mk $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfil= es_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_mayb= e);; \ + esac; +$(srcdir)/testsuite/local.mk $(srcdir)/testsuite/libsframe.decode/local.mk= $(srcdir)/testsuite/libsframe.encode/local.mk $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEP= ENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)=20 + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list=3D'$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=3D; \ + list2=3D; for p in $$list; do \ + if test -f $$p; then \ + list2=3D"$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=3Dinstall $= (INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=3Dinstall $(INSTAL= L) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list=3D'$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=3D; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=3Duninstall= rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=3Duninstall rm -f = "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list=3D'$(lib_LTLIBRARIES)'; \ + locs=3D`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list=3D'$(noinst_LTLIBRARIES)'; \ + locs=3D`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libsframe.la: $(libsframe_la_OBJECTS) $(libsframe_la_DEPENDENCIES) $(EXTRA= _libsframe_la_DEPENDENCIES)=20 + $(AM_V_CCLD)$(LINK) $(am_libsframe_la_rpath) $(libsframe_la_OBJECTS) $(li= bsframe_la_LIBADD) $(LIBS) + +clean-checkPROGRAMS: + @list=3D'$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=3D`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +testsuite/libsframe.decode/$(am__dirstamp): + @$(MKDIR_P) testsuite/libsframe.decode + @: > testsuite/libsframe.decode/$(am__dirstamp) +testsuite/libsframe.decode/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) testsuite/libsframe.decode/$(DEPDIR) + @: > testsuite/libsframe.decode/$(DEPDIR)/$(am__dirstamp) +testsuite/libsframe.decode/testsuite_libsframe_decode_be_flipping-be-flipp= ing.$(OBJEXT): \ + testsuite/libsframe.decode/$(am__dirstamp) \ + testsuite/libsframe.decode/$(DEPDIR)/$(am__dirstamp) + +testsuite/libsframe.decode/be-flipping$(EXEEXT): $(testsuite_libsframe_dec= ode_be_flipping_OBJECTS) $(testsuite_libsframe_decode_be_flipping_DEPENDENC= IES) $(EXTRA_testsuite_libsframe_decode_be_flipping_DEPENDENCIES) testsuite= /libsframe.decode/$(am__dirstamp) + @rm -f testsuite/libsframe.decode/be-flipping$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(testsuite_libsframe_decode_be_flipping_OBJECTS) $(t= estsuite_libsframe_decode_be_flipping_LDADD) $(LIBS) +testsuite/libsframe.decode/testsuite_libsframe_decode_frecnt_1-frecnt-1.$(= OBJEXT): \ + testsuite/libsframe.decode/$(am__dirstamp) \ + testsuite/libsframe.decode/$(DEPDIR)/$(am__dirstamp) + +testsuite/libsframe.decode/frecnt-1$(EXEEXT): $(testsuite_libsframe_decode= _frecnt_1_OBJECTS) $(testsuite_libsframe_decode_frecnt_1_DEPENDENCIES) $(EX= TRA_testsuite_libsframe_decode_frecnt_1_DEPENDENCIES) testsuite/libsframe.d= ecode/$(am__dirstamp) + @rm -f testsuite/libsframe.decode/frecnt-1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(testsuite_libsframe_decode_frecnt_1_OBJECTS) $(test= suite_libsframe_decode_frecnt_1_LDADD) $(LIBS) +testsuite/libsframe.decode/testsuite_libsframe_decode_frecnt_2-frecnt-2.$(= OBJEXT): \ + testsuite/libsframe.decode/$(am__dirstamp) \ + testsuite/libsframe.decode/$(DEPDIR)/$(am__dirstamp) + +testsuite/libsframe.decode/frecnt-2$(EXEEXT): $(testsuite_libsframe_decode= _frecnt_2_OBJECTS) $(testsuite_libsframe_decode_frecnt_2_DEPENDENCIES) $(EX= TRA_testsuite_libsframe_decode_frecnt_2_DEPENDENCIES) testsuite/libsframe.d= ecode/$(am__dirstamp) + @rm -f testsuite/libsframe.decode/frecnt-2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(testsuite_libsframe_decode_frecnt_2_OBJECTS) $(test= suite_libsframe_decode_frecnt_2_LDADD) $(LIBS) +testsuite/libsframe.encode/$(am__dirstamp): + @$(MKDIR_P) testsuite/libsframe.encode + @: > testsuite/libsframe.encode/$(am__dirstamp) +testsuite/libsframe.encode/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) testsuite/libsframe.encode/$(DEPDIR) + @: > testsuite/libsframe.encode/$(DEPDIR)/$(am__dirstamp) +testsuite/libsframe.encode/testsuite_libsframe_encode_encode_1-encode-1.$(= OBJEXT): \ + testsuite/libsframe.encode/$(am__dirstamp) \ + testsuite/libsframe.encode/$(DEPDIR)/$(am__dirstamp) + +testsuite/libsframe.encode/encode-1$(EXEEXT): $(testsuite_libsframe_encode= _encode_1_OBJECTS) $(testsuite_libsframe_encode_encode_1_DEPENDENCIES) $(EX= TRA_testsuite_libsframe_encode_encode_1_DEPENDENCIES) testsuite/libsframe.e= ncode/$(am__dirstamp) + @rm -f testsuite/libsframe.encode/encode-1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(testsuite_libsframe_encode_encode_1_OBJECTS) $(test= suite_libsframe_encode_encode_1_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f testsuite/libsframe.decode/*.$(OBJEXT) + -rm -f testsuite/libsframe.encode/*.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsframe_la-sframe-error= .Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsframe_la-sframe.Plo@a= m__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.decode/$(DEPDIR)/= testsuite_libsframe_decode_be_flipping-be-flipping.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.decode/$(DEPDIR)/= testsuite_libsframe_decode_frecnt_1-frecnt-1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.decode/$(DEPDIR)/= testsuite_libsframe_decode_frecnt_2-frecnt-2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.encode/$(DEPDIR)/= testsuite_libsframe_encode_encode_1-encode-1.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=3D`echo $@ | sed 's|[^/]*$$|$(DEPDI= R)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ = $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source=3D'$<' object=3D'$@' li= btool=3Dno @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=3D$(DEPDIR) $(CCDEPMODE) $(depcom= p) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=3D`echo $@ | sed 's|[^/]*$$|$(DEPDI= R)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ = `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source=3D'$<' object=3D'$@' li= btool=3Dno @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=3D$(DEPDIR) $(CCDEPMODE) $(depcom= p) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_= W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=3D`echo $@ |[...] [diff truncated at 100000 bytes]