blob: 9392f02fed0757b9f4d2b778e09c9ad770344de8 [file] [log] [blame]
Patrick Georgi70517072020-05-10 18:47:05 +02001# SPDX-License-Identifier: BSD-3-Clause
2
Karthikeyan Ramasubramanian236245e2022-09-06 14:02:41 -06003top ?= $(abspath ../..)
Kangheui Won5b84dfd2021-12-21 15:45:06 +11004ifneq ($(CC),)
5HOSTCC ?= $(CC)
6else
Zheng Bao9c7ff7b2015-11-17 22:57:39 +08007HOSTCC ?= cc
Kangheui Won5b84dfd2021-12-21 15:45:06 +11008endif
Zheng Bao9c7ff7b2015-11-17 22:57:39 +08009
Robert Zieba29bc79f2022-03-14 15:59:12 -060010READ_SRC = amdfwread.c
11READ_OBJ = $(READ_SRC:%.c=%.o)
Zheng Baof080cd52023-03-22 12:50:36 +080012TOOL_SRC = amdfwtool.c data_parse.c signed_psp.c handle_file.c
Robert Zieba29bc79f2022-03-14 15:59:12 -060013TOOL_OBJ = $(TOOL_SRC:%.c=%.o)
14HEADER=amdfwtool.h
15TARGETS = amdfwread amdfwtool
Zheng Baofdd47ef2021-09-17 13:30:08 +080016WERROR=-Werror
Karthikeyan Ramasubramanianff631062023-09-29 17:35:22 +000017CFLAGS :=-O2 -Wall -Wextra -Wshadow ${WERROR}
Karthikeyan Ramasubramanian236245e2022-09-06 14:02:41 -060018CFLAGS += -I $(top)/src/commonlib/bsd/include
Karthikeyan Ramasubramanianabaca2a2023-07-13 17:24:13 -060019CFLAGS += -D_GNU_SOURCE # memmem() from string.h
Zheng Bao9c7ff7b2015-11-17 22:57:39 +080020
Kangheui Won5b84dfd2021-12-21 15:45:06 +110021ifneq ($(PKG_CONFIG),)
22HOSTPKGCONFIG ?= $(PKG_CONFIG)
23else
24HOSTPKGCONFIG ?= pkg-config
25endif
26CFLAGS += $(shell $(HOSTPKGCONFIG) --cflags libcrypto)
Karthikeyan Ramasubramanianff631062023-09-29 17:35:22 +000027ifneq ($(.SHELLSTATUS),0)
28$(error "Ensure that pkg-config is installed.")
29endif
Kangheui Won5b84dfd2021-12-21 15:45:06 +110030LDFLAGS += $(shell $(HOSTPKGCONFIG) --libs libcrypto)
31
Robert Zieba29bc79f2022-03-14 15:59:12 -060032all: $(TARGETS)
Zheng Bao7698a552020-09-29 17:32:36 +080033
Robert Zieba29bc79f2022-03-14 15:59:12 -060034amdfwread: $(READ_OBJ)
Kangheui Won5b84dfd2021-12-21 15:45:06 +110035 $(HOSTCC) $(READ_OBJ) $(LDFLAGS) -o $@
Robert Zieba29bc79f2022-03-14 15:59:12 -060036
37amdfwtool: $(TOOL_OBJ)
Kangheui Won5b84dfd2021-12-21 15:45:06 +110038 $(HOSTCC) $(TOOL_OBJ) $(LDFLAGS) -o $@
Zheng Bao7698a552020-09-29 17:32:36 +080039
40%.o: %.c $(HEADER)
Kangheui Won5b84dfd2021-12-21 15:45:06 +110041 $(HOSTCC) $(CFLAGS) -c -o $@ $<
Zheng Bao9c7ff7b2015-11-17 22:57:39 +080042
43clean:
Robert Zieba29bc79f2022-03-14 15:59:12 -060044 @rm -f $(TARGETS) $(READ_OBJ) $(TOOL_OBJ)
Felix Helde862a002021-01-07 18:52:55 +010045
46distclean: clean
Martin Rothd5090762021-02-13 22:50:13 -070047
48help:
Robert Zieba29bc79f2022-03-14 15:59:12 -060049 @echo "${TARGETS}: Tools to create and read from AMD firmware combinations"
Martin Rothd5090762021-02-13 22:50:13 -070050 @echo "Targets: all, clean, distclean, help"
51 @echo "To disable warnings as errors, run make as:"
52 @echo " make all WERROR=\"\""
53
54.PHONY: all clean distclean help