blob: b595297c8dc91b4b6f2abfb3bf861ae513e44fad (
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
|
top ?= $(abspath ../..)
objutil ?= $(top)/util
CONFIG_FMD_GENPARSER := y
HOSTCC ?= $(CC)
OBJCOPY ?= objcopy
.PHONY: all
all: $(objutil)/cbfstool/cbfstool \
$(objutil)/cbfstool/fmaptool \
$(objutil)/cbfstool/rmodtool \
.PHONY: clean
clean:
$(RM) fmd_parser.c fmd_parser.h fmd_scanner.c fmd_scanner.h
$(RM) $(objutil)/cbfstool/cbfstool $(cbfsobj)
$(RM) $(objutil)/cbfstool/fmaptool $(fmapobj)
$(RM) $(objutil)/cbfstool/rmodtool $(rmodobj)
linux_trampoline.c: linux_trampoline.S
rm -f linux_trampoline.c
$(CC) -m32 -o linux_trampoline linux_trampoline.S -ffreestanding -nostdlib -nostdinc -Wl,--defsym=_start=0
$(OBJCOPY) -Obinary -j .data linux_trampoline trampoline
echo "/* This file is automatically generated. Do not manually change */" > trampoline.c
xxd -c 16 -i trampoline >> trampoline.c
perl -pi -e 's,unsigned int.*$$,,g;s,unsigned char,const unsigned char,g' trampoline.c
echo "const void * const trampoline_start = &trampoline;" >> trampoline.c
echo "const unsigned long trampoline_size = sizeof trampoline;" >> trampoline.c
mv trampoline.c linux_trampoline.c
rm linux_trampoline trampoline
.SILENT:
include Makefile.inc
|