blob: 8ec4e9bb6f42da2668c2e0d52ef98783de7700d3 [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
Martin Rothd5090762021-02-13 22:50:13 -070017CFLAGS=-O2 -Wall -Wextra -Wshadow ${WERROR}
Karthikeyan Ramasubramanian236245e2022-09-06 14:02:41 -060018CFLAGS += -I $(top)/src/commonlib/bsd/include
Zheng Bao9c7ff7b2015-11-17 22:57:39 +080019
Kangheui Won5b84dfd2021-12-21 15:45:06 +110020ifneq ($(PKG_CONFIG),)
21HOSTPKGCONFIG ?= $(PKG_CONFIG)
22else
23HOSTPKGCONFIG ?= pkg-config
24endif
25CFLAGS += $(shell $(HOSTPKGCONFIG) --cflags libcrypto)
26LDFLAGS += $(shell $(HOSTPKGCONFIG) --libs libcrypto)
27
Robert Zieba29bc79f2022-03-14 15:59:12 -060028all: $(TARGETS)
Zheng Bao7698a552020-09-29 17:32:36 +080029
Robert Zieba29bc79f2022-03-14 15:59:12 -060030amdfwread: $(READ_OBJ)
Kangheui Won5b84dfd2021-12-21 15:45:06 +110031 $(HOSTCC) $(READ_OBJ) $(LDFLAGS) -o $@
Robert Zieba29bc79f2022-03-14 15:59:12 -060032
33amdfwtool: $(TOOL_OBJ)
Kangheui Won5b84dfd2021-12-21 15:45:06 +110034 $(HOSTCC) $(TOOL_OBJ) $(LDFLAGS) -o $@
Zheng Bao7698a552020-09-29 17:32:36 +080035
36%.o: %.c $(HEADER)
Kangheui Won5b84dfd2021-12-21 15:45:06 +110037 $(HOSTCC) $(CFLAGS) -c -o $@ $<
Zheng Bao9c7ff7b2015-11-17 22:57:39 +080038
39clean:
Robert Zieba29bc79f2022-03-14 15:59:12 -060040 @rm -f $(TARGETS) $(READ_OBJ) $(TOOL_OBJ)
Felix Helde862a002021-01-07 18:52:55 +010041
42distclean: clean
Martin Rothd5090762021-02-13 22:50:13 -070043
44help:
Robert Zieba29bc79f2022-03-14 15:59:12 -060045 @echo "${TARGETS}: Tools to create and read from AMD firmware combinations"
Martin Rothd5090762021-02-13 22:50:13 -070046 @echo "Targets: all, clean, distclean, help"
47 @echo "To disable warnings as errors, run make as:"
48 @echo " make all WERROR=\"\""
49
50.PHONY: all clean distclean help