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 .