blob: d5767826d21ca68c9c4e961250c6861fd753afd1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
include ../../../../../tools/d2c/d2c.mk
D2C_BIN = ../../../../../tools/d2c/d2c
D2C_OUTDIR = $(PWD)/..
D2C_ARCH = armv7
D2C_HEADER = _ARCH_ARM_V7
D2C_ENCODINGS = \
-e a= \
-e t=thumb_
D2C_MACROS = \
-M SetFlags=g_armv7_instruction_define_setflags \
-M Condition=g_arm_instruction_set_cond \
-M Register=translate_armv7_register \
-M "ExpandImmC32=g_imm_operand_new_from_value(MDS_32_BITS_UNSIGNED, " \
-M SignExtend=sign_extend_armv7_imm
ARMV7_DEFS = \
bl_A8825.d \
mov_A88104.d \
subs_B9320.d
all: $(ARMV7_DEFS:.d=.g) untabify_disass fix_includes_in_c finish_disass
fix_includes_in_c:
@for f in `find ../opcodes -name '*c'`; do \
if grep -q '##INCLUDES##' $$f; then \
$(fix_verbose)sed -i 's/##INCLUDES##/\n#include "..\/instruction.h"\n#include "..\/..\/instruction.h"\n#include "..\/helpers.h"\n#include "..\/..\/..\/..\/common\/bconst.h"\n\n/' $$f; \
fi; \
done
finish_disass: $(D2C_OUTDIR)/opcodes/opcodes.h
@if grep -q '##INCLUDES##' $<; then \
$(fix2_verbose)sed -i 's/##INCLUDES##/#include\ <stdint.h>\n\n#include "..\/..\/..\/instruction.h"/' $< ; \
fi
@if ! grep -q 'endif' $<; then \
$(fix2_verbose)echo -en "\n\n#endif /* _ARCH_ARM_V7_OPCODES_OPCODES_H */\n" >> $< ; \
fi
clean:
rm -f $(ARMV7_DEFS:.d=.g) $(D2C_OUTDIR)/opcodes/*c $(D2C_OUTDIR)/opcodes/opcodes.h
|