101 lines
3.3 KiB
Makefile
101 lines
3.3 KiB
Makefile
top ?= $(abspath ../..)
|
|
objutil ?= $(top)/util
|
|
RM ?= rm
|
|
|
|
CONFIG_FMD_GENPARSER ?= n
|
|
|
|
HOSTCC ?= $(CC)
|
|
PREFIX ?= /usr/local
|
|
BINDIR ?= $(PREFIX)/bin
|
|
INSTALL ?= /usr/bin/env install
|
|
OBJCOPY ?= objcopy
|
|
override objutil := ..
|
|
|
|
VBOOT_SOURCE ?= $(top)/3rdparty/vboot
|
|
VBOOT_HOST_BUILD ?= $(abspath $(objutil)/vboot_lib)
|
|
|
|
.PHONY: all
|
|
all: cbfstool ifittool fmaptool rmodtool ifwitool cbfs-compression-tool elogtool cse_fpt cse_serger
|
|
|
|
cbfstool: $(objutil)/cbfstool/cbfstool
|
|
|
|
fmaptool: $(objutil)/cbfstool/fmaptool
|
|
|
|
rmodtool: $(objutil)/cbfstool/rmodtool
|
|
|
|
ifwitool: $(objutil)/cbfstool/ifwitool
|
|
|
|
ifittool: $(objutil)/cbfstool/ifittool
|
|
|
|
cbfs-compression-tool: $(objutil)/cbfstool/cbfs-compression-tool
|
|
|
|
elogtool: $(objutil)/cbfstool/elogtool
|
|
|
|
cse_fpt: $(objutil)/cbfstool/cse_fpt
|
|
|
|
cse_serger: $(objutil)/cbfstool/cse_serger
|
|
|
|
.PHONY: clean cbfstool ifittool fmaptool rmodtool ifwitool cbfs-compression-tool elogtool cse_fpt cse_serger
|
|
clean:
|
|
$(RM) -f fmd_parser.c fmd_parser.h fmd_scanner.c fmd_scanner.h
|
|
$(RM) -f $(objutil)/cbfstool/cbfstool $(cbfsobj)
|
|
$(RM) -f $(objutil)/cbfstool/fmaptool $(fmapobj)
|
|
$(RM) -f $(objutil)/cbfstool/rmodtool $(rmodobj)
|
|
$(RM) -f $(objutil)/cbfstool/ifwitool $(ifwiobj)
|
|
$(RM) -f $(objutil)/cbfstool/ifittool $(ifitobj)
|
|
$(RM) -f $(objutil)/cbfstool/cbfs-compression-tool $(cbfscompobj)
|
|
$(RM) -f $(objutil)/cbfstool/elogtool $(elogobj)
|
|
$(RM) -f $(objutil)/cbfstool/cse_fpt $(cse_fpt_obj)
|
|
$(RM) -f $(objutil)/cbfstool/cse_serger $(cse_serger_obj)
|
|
$(RM) -rf $(VBOOT_HOST_BUILD)
|
|
|
|
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
|
|
echo "/* SPDX-License-Identifier: GPL-2.0-only */" >> trampoline.c
|
|
xxd -c 16 -i trampoline >> trampoline.c
|
|
mv trampoline.c linux_trampoline.c
|
|
rm linux_trampoline trampoline
|
|
|
|
.PHONY: install distclean help
|
|
install: all
|
|
mkdir -p $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) cbfstool $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) fmaptool $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) rmodtool $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) ifwitool $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) ifittool $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) cbfs-compression-tool $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) elogtool $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) cse_fpt $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) cse_serger $(DESTDIR)$(BINDIR)
|
|
|
|
distclean: clean
|
|
|
|
help:
|
|
@echo "cbfstool & associated tools"
|
|
@echo "Targets: all, clean, distclean, help"
|
|
@echo " cbfstool - Manipulate CBFS images"
|
|
@echo " fmaptool - Compile Flashmap descriptor (fmd) files"
|
|
@echo " rmodtool - Create relocatable modules"
|
|
@echo " ifwitool - Manipulate Intel FW Image (IFWI)"
|
|
@echo " ifittool - Manipulate Intel FW Interface Table (FIT)"
|
|
@echo " cbfs-compression-tool - benchmark compression algorithms"
|
|
@echo " elogtool - Display ELOG events"
|
|
@echo " cse_fpt - Manage Intel CSE Flash Partition Table (FPT)"
|
|
@echo " cse_serger - Stitch Intel CSE components"
|
|
|
|
ifneq ($(V),1)
|
|
.SILENT:
|
|
endif
|
|
|
|
include Makefile.mk
|
|
|
|
$(objutil)/cbfstool/cbfstool.o: $(VBOOT_SOURCE)/firmware/include/vb2_sha.h
|
|
$(objutil)/cbfstool/elogtool.o: $(VBOOT_SOURCE)/firmware/include/vb2_sha.h
|
|
|
|
$(VBOOT_SOURCE)/firmware/include/vb2_sha.h:
|
|
cd $(VBOOT_SOURCE) && git submodule update --init .
|