Home | History | Annotate | Line # | Download | only in libctf
      1 ## Process this file with automake to produce Makefile.in.
      2 #
      3 #   Copyright (C) 2019-2025 Free Software Foundation, Inc.
      4 #
      5 # This file is free software; you can redistribute it and/or modify
      6 # it under the terms of the GNU General Public License as published by
      7 # the Free Software Foundation; either version 2 of the License, or
      8 # (at your option) any later version.
      9 #
     10 # This program is distributed in the hope that it will be useful,
     11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
     12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13 # GNU General Public License for more details.
     14 #
     15 # You should have received a copy of the GNU General Public License
     16 # along with this program; see the file COPYING.  If not see
     17 # <http://www.gnu.org/licenses/>.
     18 #
     19 
     20 ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
     21 
     22 AUTOMAKE_OPTIONS = dejagnu foreign info-in-builddir no-texinfo.tex
     23 
     24 # Suppress 'configure.ac: error: AM_GNU_GETTEXT used but SUBDIRS not defined'
     25 # from Automake, as libctf uses AM_GNU_GETTEXT (through
     26 # ZW_GNU_GETTEXT_SISTER_DIR) but has no po/ subdir (currently).
     27 SUBDIRS =
     28 
     29 # Variables that we might accumulate conditionally or in subdirs.
     30 info_TEXINFOS =
     31 DISTCLEANFILES =
     32 MAINTAINERCLEANFILES =
     33 
     34 # This is where we get zlib from.  zlibdir is -L../zlib and zlibinc is
     35 # -I../zlib, unless we were configured with --with-system-zlib, in which
     36 # case both are empty.
     37 ZLIB = @zlibdir@ -lz
     38 ZLIBINC = @zlibinc@
     39 
     40 BASEDIR = $(srcdir)/..
     41 BFDDIR = $(BASEDIR)/bfd
     42 INCDIR = $(srcdir)/../include
     43 AM_CPPFLAGS = -D_GNU_SOURCE -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../bfd -I../bfd @INCINTL@
     44 AM_CFLAGS = -std=gnu99 @ac_libctf_warn_cflags@ @warn@ @c_warn@ @WARN_PEDANTIC@ @WERROR@ $(ZLIBINC)
     45 
     46 if INSTALL_LIBBFD
     47 lib_LTLIBRARIES = libctf.la libctf-nobfd.la
     48 include_HEADERS = $(INCDIR)/ctf.h $(INCDIR)/ctf-api.h
     49 else
     50 include_HEADERS =
     51 noinst_LTLIBRARIES = libctf.la libctf-nobfd.la
     52 endif
     53 
     54 libctf_nobfd_la_LIBADD = @CTF_LIBADD@ $(ZLIB)
     55 libctf_ldflags_nover = -version-info 0:0:0 @SHARED_LDFLAGS@
     56 libctf_nobfd_la_LDFLAGS = $(libctf_ldflags_nover) @VERSION_FLAGS_NOBFD@
     57 libctf_nobfd_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=1
     58 libctf_nobfd_la_SOURCES = ctf-archive.c ctf-dump.c ctf-create.c ctf-decl.c ctf-error.c \
     59 			  ctf-hash.c ctf-labels.c ctf-dedup.c ctf-link.c ctf-lookup.c \
     60 			  ctf-open.c ctf-serialize.c ctf-sha1.c ctf-string.c ctf-subr.c \
     61 			  ctf-types.c ctf-util.c
     62 if NEED_CTF_QSORT_R
     63 libctf_nobfd_la_SOURCES += ctf-qsort_r.c
     64 endif
     65 
     66 # @CTF_LIBADD@ appears here twice: once, to force libiberty to get searched before
     67 # install-time libbfd adds a -L to the install dir (possibly pointing at an
     68 # incompatible libiberty), and once via lictf_nobfd_la_LIBADD so that the
     69 # references in there get picked up.
     70 libctf_la_LIBADD =  @CTF_LIBADD@ ../bfd/libbfd.la $(libctf_nobfd_la_LIBADD)
     71 libctf_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=0
     72 libctf_la_LDFLAGS = $(libctf_ldflags_nover) @VERSION_FLAGS@
     73 libctf_la_SOURCES = $(libctf_nobfd_la_SOURCES) ctf-open-bfd.c
     74 
     75 # Setup the testing framework, if you have one
     76 EXPECT = expect
     77 RUNTEST = runtest
     78 RUNTESTFLAGS =
     79 
     80 CC_FOR_TARGET = ` \
     81   if [ -f $$r/../gcc/xgcc ] ; then \
     82     if [ -f $$r/../newlib/Makefile ] ; then \
     83       echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
     84     else \
     85       echo $$r/../gcc/xgcc -B$$r/../gcc/; \
     86     fi; \
     87   else \
     88     if [ "@host@" = "@target@" ] ; then \
     89       echo $(CC); \
     90     else \
     91       echo gcc | sed '$(transform)'; \
     92     fi; \
     93   fi`
     94 
     95 check-DEJAGNU: site.exp development.exp
     96 	srcroot=`cd $(srcdir) && pwd`; export srcroot; \
     97 	r=`pwd`; export r; \
     98 	LC_ALL=C; export LC_ALL; \
     99 	EXPECT=$(EXPECT); export EXPECT; \
    100 	if [ "@host@" = "@target@" ] ; then \
    101 	  TEST_CROSS=no; \
    102 	else \
    103 	  TEST_CROSS=yes; \
    104 	fi; \
    105 	runtest=$(RUNTEST); \
    106 	if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
    107 	  $$runtest --tool $(DEJATOOL) --srcdir $${srcroot}/testsuite \
    108 		CC="$(CC)" CC_FOR_TARGET="$(CC_FOR_TARGET)" TEST_CROSS="$${TEST_CROSS}" \
    109 		CFLAGS="$(CFLAGS) -I$(INCDIR) -I$(srcdir) -I$(builddir) -I$(builddir)/../bfd $(ZLIBINC)" \
    110 		LIBS="$(libctf_nobfd_la_LIBADD) $(LIBS)" $(RUNTESTFLAGS); \
    111 	else echo "WARNING: could not find \`runtest'" 1>&2; :;\
    112 	fi
    113 
    114 development.exp: $(BFDDIR)/development.sh
    115 	$(AM_V_GEN)$(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh  \
    116 	  | $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@
    117 	echo "set have_tcl_try @HAVE_TCL_TRY@" >> $@
    118 
    119 # development.sh is used to determine -Werror default.
    120 CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
    121 
    122 EXTRA_DEJAGNU_SITE_CONFIG = development.exp
    123 
    124 DISTCLEANFILES += site.exp development.exp
    125 
    126 include doc/local.mk
    127