1*7304104dSAndroid Build Coastguard Worker## Process this file with automake to create Makefile.in 2*7304104dSAndroid Build Coastguard Worker## 3*7304104dSAndroid Build Coastguard Worker## Copyright (C) 2002-2012 Red Hat, Inc. 4*7304104dSAndroid Build Coastguard Worker## This file is part of elfutils. 5*7304104dSAndroid Build Coastguard Worker## 6*7304104dSAndroid Build Coastguard Worker## This file is free software; you can redistribute it and/or modify 7*7304104dSAndroid Build Coastguard Worker## it under the terms of either 8*7304104dSAndroid Build Coastguard Worker## 9*7304104dSAndroid Build Coastguard Worker## * the GNU Lesser General Public License as published by the Free 10*7304104dSAndroid Build Coastguard Worker## Software Foundation; either version 3 of the License, or (at 11*7304104dSAndroid Build Coastguard Worker## your option) any later version 12*7304104dSAndroid Build Coastguard Worker## 13*7304104dSAndroid Build Coastguard Worker## or 14*7304104dSAndroid Build Coastguard Worker## 15*7304104dSAndroid Build Coastguard Worker## * the GNU General Public License as published by the Free 16*7304104dSAndroid Build Coastguard Worker## Software Foundation; either version 2 of the License, or (at 17*7304104dSAndroid Build Coastguard Worker## your option) any later version 18*7304104dSAndroid Build Coastguard Worker## 19*7304104dSAndroid Build Coastguard Worker## or both in parallel, as here. 20*7304104dSAndroid Build Coastguard Worker## 21*7304104dSAndroid Build Coastguard Worker## elfutils is distributed in the hope that it will be useful, but 22*7304104dSAndroid Build Coastguard Worker## WITHOUT ANY WARRANTY; without even the implied warranty of 23*7304104dSAndroid Build Coastguard Worker## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 24*7304104dSAndroid Build Coastguard Worker## General Public License for more details. 25*7304104dSAndroid Build Coastguard Worker## 26*7304104dSAndroid Build Coastguard Worker## You should have received copies of the GNU General Public License and 27*7304104dSAndroid Build Coastguard Worker## the GNU Lesser General Public License along with this program. If 28*7304104dSAndroid Build Coastguard Worker## not, see <http://www.gnu.org/licenses/>. 29*7304104dSAndroid Build Coastguard Worker## 30*7304104dSAndroid Build Coastguard Workerinclude $(top_srcdir)/config/eu.am 31*7304104dSAndroid Build Coastguard WorkerAM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \ 32*7304104dSAndroid Build Coastguard Worker -I$(srcdir)/../libdw -I$(srcdir)/../libasm 33*7304104dSAndroid Build Coastguard Workerif BUILD_STATIC 34*7304104dSAndroid Build Coastguard WorkerAM_CFLAGS += $(fpic_CFLAGS) 35*7304104dSAndroid Build Coastguard Workerendif 36*7304104dSAndroid Build Coastguard WorkerAM_CFLAGS += -fdollars-in-identifiers 37*7304104dSAndroid Build Coastguard WorkerLEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) -P$(<F:lex.l=) 38*7304104dSAndroid Build Coastguard WorkerLEX_OUTPUT_ROOT = lex.$(<F:lex.l=) 39*7304104dSAndroid Build Coastguard WorkerAM_YFLAGS = -p$(<F:parse.y=) 40*7304104dSAndroid Build Coastguard Worker 41*7304104dSAndroid Build Coastguard Workernoinst_LIBRARIES = libcpu.a libcpu_pic.a 42*7304104dSAndroid Build Coastguard Worker 43*7304104dSAndroid Build Coastguard Workernoinst_HEADERS = i386_dis.h i386_mne.h x86_64_dis.h 44*7304104dSAndroid Build Coastguard Worker 45*7304104dSAndroid Build Coastguard Workerlibcpu_a_SOURCES = i386_disasm.c x86_64_disasm.c bpf_disasm.c riscv_disasm.c 46*7304104dSAndroid Build Coastguard Worker 47*7304104dSAndroid Build Coastguard Workerlibcpu_pic_a_SOURCES = 48*7304104dSAndroid Build Coastguard Workeram_libcpu_pic_a_OBJECTS = $(libcpu_a_SOURCES:.c=.os) 49*7304104dSAndroid Build Coastguard Worker 50*7304104dSAndroid Build Coastguard Workeri386_gendis_SOURCES = i386_gendis.c i386_lex.l i386_parse.y 51*7304104dSAndroid Build Coastguard Worker 52*7304104dSAndroid Build Coastguard Workeri386_disasm.o: i386.mnemonics $(srcdir)/i386_dis.h 53*7304104dSAndroid Build Coastguard Workerx86_64_disasm.o: x86_64.mnemonics $(srcdir)/x86_64_dis.h 54*7304104dSAndroid Build Coastguard Worker 55*7304104dSAndroid Build Coastguard Worker%_defs: $(srcdir)/defs/i386 56*7304104dSAndroid Build Coastguard Worker $(AM_V_GEN)m4 -D$* -DDISASSEMBLER $< > $@T 57*7304104dSAndroid Build Coastguard Worker $(AM_V_at)mv -f $@T $@ 58*7304104dSAndroid Build Coastguard Worker 59*7304104dSAndroid Build Coastguard Workerif MAINTAINER_MODE 60*7304104dSAndroid Build Coastguard Workernoinst_HEADERS += memory-access.h i386_parse.h i386_data.h 61*7304104dSAndroid Build Coastguard Worker 62*7304104dSAndroid Build Coastguard Workernoinst_PROGRAMS = i386_gendis$(EXEEXT) 63*7304104dSAndroid Build Coastguard Worker 64*7304104dSAndroid Build Coastguard Worker# i386_gendis doesn't clean up, ignore leaks. 65*7304104dSAndroid Build Coastguard Worker# It is just a build tool to generate source in maintainer mode. 66*7304104dSAndroid Build Coastguard Workerif USE_ADDRESS_SANITIZER 67*7304104dSAndroid Build Coastguard WorkerGENDIS_ENV=env ASAN_OPTIONS=detect_leaks=0 68*7304104dSAndroid Build Coastguard Workerelse 69*7304104dSAndroid Build Coastguard WorkerGENDIS_ENV= 70*7304104dSAndroid Build Coastguard Workerendif 71*7304104dSAndroid Build Coastguard Worker 72*7304104dSAndroid Build Coastguard Worker$(srcdir)/%_dis.h: %_defs i386_gendis$(EXEEXT) 73*7304104dSAndroid Build Coastguard Worker $(AM_V_GEN) $(GENDIS_ENV) ./i386_gendis$(EXEEXT) $< > $@T 74*7304104dSAndroid Build Coastguard Worker $(AM_V_at)mv -f $@T $@ 75*7304104dSAndroid Build Coastguard Worker 76*7304104dSAndroid Build Coastguard Workerelse 77*7304104dSAndroid Build Coastguard Worker 78*7304104dSAndroid Build Coastguard Worker$(srcdir)/%_dis.h: 79*7304104dSAndroid Build Coastguard Worker @echo '*** missing $@; configure with --enable-maintainer-mode' 80*7304104dSAndroid Build Coastguard Worker @false 81*7304104dSAndroid Build Coastguard Worker 82*7304104dSAndroid Build Coastguard Workerendif 83*7304104dSAndroid Build Coastguard Worker 84*7304104dSAndroid Build Coastguard Worker%.mnemonics: %_defs 85*7304104dSAndroid Build Coastguard Worker $(AM_V_GEN)sed '1,/^%%/d;/^#/d;/^[[:space:]]*$$/d;s/[^:]*:\([^[:space:]]*\).*/MNE(\1)/;s/{[^}]*}//g;/INVALID/d' \ 86*7304104dSAndroid Build Coastguard Worker $< | sort -u > $@ 87*7304104dSAndroid Build Coastguard Worker 88*7304104dSAndroid Build Coastguard Workeri386_lex_no_Werror = yes 89*7304104dSAndroid Build Coastguard Worker 90*7304104dSAndroid Build Coastguard Workerlibeu = ../lib/libeu.a 91*7304104dSAndroid Build Coastguard Worker 92*7304104dSAndroid Build Coastguard Workeri386_lex_CFLAGS = -Wno-unused-label -Wno-unused-function -Wno-sign-compare \ 93*7304104dSAndroid Build Coastguard Worker -Wno-implicit-fallthrough 94*7304104dSAndroid Build Coastguard Workeri386_parse.o: i386_parse.c i386.mnemonics 95*7304104dSAndroid Build Coastguard Workeri386_lex.o: i386_parse.h 96*7304104dSAndroid Build Coastguard Workeri386_gendis_LDADD = $(libeu) -lm $(obstack_LIBS) 97*7304104dSAndroid Build Coastguard Worker 98*7304104dSAndroid Build Coastguard Workeri386_parse.h: i386_parse.c ; 99*7304104dSAndroid Build Coastguard Worker 100*7304104dSAndroid Build Coastguard Workerbpf_disasm_CFLAGS = -Wno-format-nonliteral 101*7304104dSAndroid Build Coastguard Worker 102*7304104dSAndroid Build Coastguard WorkerEXTRA_DIST = defs/i386 103*7304104dSAndroid Build Coastguard Worker 104*7304104dSAndroid Build Coastguard WorkerMOSTLYCLEANFILES = $(am_libcpu_pic_a_OBJECTS) 105*7304104dSAndroid Build Coastguard WorkerCLEANFILES += $(foreach P,i386 x86_64,$P_defs $P.mnemonics) 106*7304104dSAndroid Build Coastguard WorkerMAINTAINERCLEANFILES = $(foreach P,i386 x86_64, $P_dis.h) 107