xref: /aosp_15_r20/external/elfutils/Makefile.am (revision 7304104da70ce23c86437a01be71edd1a2d7f37e)
1*7304104dSAndroid Build Coastguard Worker## Process this file with automake to create Makefile.in
2*7304104dSAndroid Build Coastguard Worker## Configure input file for elfutils.
3*7304104dSAndroid Build Coastguard Worker##
4*7304104dSAndroid Build Coastguard Worker## Copyright (C) 1996-2006, 2008, 2009, 2015 Red Hat, Inc.
5*7304104dSAndroid Build Coastguard Worker##
6*7304104dSAndroid Build Coastguard Worker## This file is part of elfutils.
7*7304104dSAndroid Build Coastguard Worker##
8*7304104dSAndroid Build Coastguard Worker## This file is free software; you can redistribute it and/or modify
9*7304104dSAndroid Build Coastguard Worker## it under the terms of the GNU General Public License as published by
10*7304104dSAndroid Build Coastguard Worker## the Free Software Foundation; either version 3 of the License, or
11*7304104dSAndroid Build Coastguard Worker## (at your option) any later version.
12*7304104dSAndroid Build Coastguard Worker##
13*7304104dSAndroid Build Coastguard Worker## elfutils is distributed in the hope that it will be useful, but
14*7304104dSAndroid Build Coastguard Worker## WITHOUT ANY WARRANTY; without even the implied warranty of
15*7304104dSAndroid Build Coastguard Worker## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16*7304104dSAndroid Build Coastguard Worker## GNU General Public License for more details.
17*7304104dSAndroid Build Coastguard Worker##
18*7304104dSAndroid Build Coastguard Worker## You should have received a copy of the GNU General Public License
19*7304104dSAndroid Build Coastguard Worker## along with this program.  If not, see <http://www.gnu.org/licenses/>.
20*7304104dSAndroid Build Coastguard Worker##
21*7304104dSAndroid Build Coastguard WorkerACLOCAL_AMFLAGS = -I m4
22*7304104dSAndroid Build Coastguard Worker
23*7304104dSAndroid Build Coastguard Worker# automake already tells which subdir is being entered.
24*7304104dSAndroid Build Coastguard Worker# Don't make make repeat.
25*7304104dSAndroid Build Coastguard WorkerAM_MAKEFLAGS = --no-print-directory
26*7304104dSAndroid Build Coastguard Worker
27*7304104dSAndroid Build Coastguard Workerpkginclude_HEADERS = version.h
28*7304104dSAndroid Build Coastguard Worker
29*7304104dSAndroid Build Coastguard WorkerSUBDIRS = config lib libelf libcpu backends libebl libdwelf libdwfl libdw \
30*7304104dSAndroid Build Coastguard Worker	  libasm debuginfod src po doc tests
31*7304104dSAndroid Build Coastguard Worker
32*7304104dSAndroid Build Coastguard WorkerEXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING SECURITY \
33*7304104dSAndroid Build Coastguard Worker	     COPYING COPYING-GPLV2 COPYING-LGPLV3
34*7304104dSAndroid Build Coastguard Worker
35*7304104dSAndroid Build Coastguard Worker# Make sure the test install uses lib64 when $LIB will yield lib64.
36*7304104dSAndroid Build Coastguard Worker# Make sure the test build uses the same compiler, which on e.g. ppc64
37*7304104dSAndroid Build Coastguard Worker# determines which platform we are actually testing.
38*7304104dSAndroid Build Coastguard Worker# Run all tests under valgrind.
39*7304104dSAndroid Build Coastguard WorkerAM_DISTCHECK_CONFIGURE_FLAGS = \
40*7304104dSAndroid Build Coastguard Worker	--libdir=`echo $(libdir) | sed "s,^$(exec_prefix),$$dc_install_base,"`\
41*7304104dSAndroid Build Coastguard Worker	CC="$(CC)"
42*7304104dSAndroid Build Coastguard Worker
43*7304104dSAndroid Build Coastguard Workerdistcheck-hook:
44*7304104dSAndroid Build Coastguard Worker	chmod -R u+w $(distdir)
45*7304104dSAndroid Build Coastguard Worker
46*7304104dSAndroid Build Coastguard Workerrpm: dist
47*7304104dSAndroid Build Coastguard Worker	rpmbuild -ts elfutils-@PACKAGE_VERSION@.tar.bz2
48*7304104dSAndroid Build Coastguard Worker
49*7304104dSAndroid Build Coastguard Workerrpmbuild: dist
50*7304104dSAndroid Build Coastguard Worker	mkdir -p rpmbuild
51*7304104dSAndroid Build Coastguard Worker	rpmbuild -ta elfutils-@PACKAGE_VERSION@.tar.bz2 \
52*7304104dSAndroid Build Coastguard Worker		--define "_topdir $(shell pwd)/rpmbuild"
53*7304104dSAndroid Build Coastguard Worker
54*7304104dSAndroid Build Coastguard Workerif GCOV
55*7304104dSAndroid Build Coastguard Worker
56*7304104dSAndroid Build Coastguard WorkerCOVERAGE_OUTPUT_FILE = $(PACKAGE_NAME).lcov
57*7304104dSAndroid Build Coastguard WorkerCOVERAGE_OUTPUT_DIRECTORY = coverage
58*7304104dSAndroid Build Coastguard WorkerCOVERAGE_OUTPUT_INDEX_HTML = $(COVERAGE_OUTPUT_DIRECTORY)/index.html
59*7304104dSAndroid Build Coastguard WorkerCOVERAGE_TITLE = $(PACKAGE_NAME)-$(PACKAGE_VERSION)
60*7304104dSAndroid Build Coastguard Worker
61*7304104dSAndroid Build Coastguard WorkerCOVERAGE_DIRS = $(filter-out tests,$(SUBDIRS))
62*7304104dSAndroid Build Coastguard Workersrc_COVERAGE_DIRS = $(patsubst %,$(srcdir)/%,$(COVERAGE_DIRS))
63*7304104dSAndroid Build Coastguard Workerbuild_COVERAGE_DIRS = $(patsubst %,$(builddir)/%,$(COVERAGE_DIRS))
64*7304104dSAndroid Build Coastguard Workerall_COVERAGE_DIRS = $(sort $(src_COVERAGE_DIRS) $(build_COVERAGE_DIRS))
65*7304104dSAndroid Build Coastguard WorkerLCOV_DIRS_ARGS = $(patsubst %,--directory=%,$(all_COVERAGE_DIRS))
66*7304104dSAndroid Build Coastguard Worker
67*7304104dSAndroid Build Coastguard WorkerCLEANFILES = $(COVERAGE_OUTPUT_FILE)
68*7304104dSAndroid Build Coastguard Worker
69*7304104dSAndroid Build Coastguard Worker.PHONY: coverage coverage-clean
70*7304104dSAndroid Build Coastguard Worker
71*7304104dSAndroid Build Coastguard Workerclean-local: coverage-clean
72*7304104dSAndroid Build Coastguard Workerdistclean-local: coverage-clean
73*7304104dSAndroid Build Coastguard Worker
74*7304104dSAndroid Build Coastguard Workercoverage-clean:
75*7304104dSAndroid Build Coastguard Worker	-rm -rf $(COVERAGE_OUTPUT_DIRECTORY)
76*7304104dSAndroid Build Coastguard Worker
77*7304104dSAndroid Build Coastguard Workercoverage: $(COVERAGE_OUTPUT_INDEX_HTML)
78*7304104dSAndroid Build Coastguard Worker	@echo 'file://$(abs_builddir)/$(COVERAGE_OUTPUT_INDEX_HTML)'
79*7304104dSAndroid Build Coastguard Worker
80*7304104dSAndroid Build Coastguard Worker$(COVERAGE_OUTPUT_INDEX_HTML): $(COVERAGE_OUTPUT_FILE)
81*7304104dSAndroid Build Coastguard Worker	LC_ALL=C $(GENHTML) \
82*7304104dSAndroid Build Coastguard Worker		--legend \
83*7304104dSAndroid Build Coastguard Worker		--show-details \
84*7304104dSAndroid Build Coastguard Worker		--rc=genhtml_branch_coverage=1 \
85*7304104dSAndroid Build Coastguard Worker		--title='$(COVERAGE_TITLE)' \
86*7304104dSAndroid Build Coastguard Worker		--prefix='$(abspath $(abs_srcdir))' \
87*7304104dSAndroid Build Coastguard Worker		--prefix='$(realpath $(abs_srcdir))' \
88*7304104dSAndroid Build Coastguard Worker		--prefix='$(abspath $(abs_builddir)/..)' \
89*7304104dSAndroid Build Coastguard Worker		--prefix='$(realpath $(abs_builddir)/..)' \
90*7304104dSAndroid Build Coastguard Worker		--output-directory='$(COVERAGE_OUTPUT_DIRECTORY)' \
91*7304104dSAndroid Build Coastguard Worker		$<
92*7304104dSAndroid Build Coastguard Worker
93*7304104dSAndroid Build Coastguard Worker$(COVERAGE_OUTPUT_FILE):
94*7304104dSAndroid Build Coastguard Worker	$(LCOV) \
95*7304104dSAndroid Build Coastguard Worker		--capture \
96*7304104dSAndroid Build Coastguard Worker		--no-external \
97*7304104dSAndroid Build Coastguard Worker		--no-checksum \
98*7304104dSAndroid Build Coastguard Worker		--rc=lcov_branch_coverage=1 \
99*7304104dSAndroid Build Coastguard Worker		--gcov-tool='$(GCOV)' \
100*7304104dSAndroid Build Coastguard Worker		--output-file='$@' \
101*7304104dSAndroid Build Coastguard Worker		$(LCOV_DIRS_ARGS)
102*7304104dSAndroid Build Coastguard Worker
103*7304104dSAndroid Build Coastguard Workerendif
104*7304104dSAndroid Build Coastguard Worker
105*7304104dSAndroid Build Coastguard Worker# Tell version 3.79 and up of GNU make to not build goals in this
106*7304104dSAndroid Build Coastguard Worker# directory in parallel.
107*7304104dSAndroid Build Coastguard Worker.NOTPARALLEL:
108