coreboot-kgpe-d16/util/cbfstool/Makefile
Martin Roth 1f30b244b2 util: Rename Makefiles from .inc to .mk
The .inc suffix is confusing to various tools as it's not specific to
Makefiles. This means that editors don't recognize the files, and don't
open them with highlighting and any other specific editor functionality.

This issue is also seen in the release notes generation script where
Makefiles get renamed before running cloc.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I434940ebb46853980596f7ad55d27a62c90280fa
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80123
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2024-01-26 12:43:18 +00:00

100 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 .