Sergii Dmytruk | 04bd965 | 2023-11-17 19:31:20 +0200 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-or-later |
| 2 | |
| 3 | PRG := smmstoretool |
| 4 | TOP ?= $(abspath ../..) |
| 5 | ROOT := $(TOP)/src |
| 6 | MDE := $(ROOT)/vendorcode/intel/edk2/UDK2017/MdePkg/Include/ |
| 7 | |
| 8 | CC ?= $(CROSS_COMPILE)gcc |
| 9 | HOSTCC ?= $(CC) |
| 10 | INSTALL ?= /usr/bin/env install |
| 11 | PREFIX ?= /usr/local |
| 12 | |
| 13 | HOSTCFLAGS ?= $(CFLAGS) |
| 14 | HOSTCFLAGS += -Wall -Wextra -MMD -MP -O3 |
| 15 | HOSTCFLAGS += -I $(ROOT)/commonlib/bsd/include |
| 16 | HOSTCFLAGS += -I $(ROOT)/vendorcode/intel/edk2/ |
Sergii Dmytruk | 89e056b | 2024-03-02 17:02:00 +0200 | [diff] [blame] | 17 | HOSTCFLAGS += -I $(TOP)/util/cbfstool/flashmap/ |
Sergii Dmytruk | 04bd965 | 2023-11-17 19:31:20 +0200 | [diff] [blame] | 18 | HOSTCFLAGS += -I $(MDE) |
| 19 | |
| 20 | HOSTLDFLAGS ?= $(LDFLAGS) |
| 21 | |
| 22 | MACHINE := $(shell uname -m) |
| 23 | ifeq ($(MACHINE),x86_64) |
| 24 | HOSTCFLAGS += -I $(MDE)/X64 |
| 25 | else ifeq ($(patsubst i%86,Ia32,$(MACHINE)),Ia32) |
| 26 | HOSTCFLAGS += -I $(MDE)/Ia32 |
| 27 | else |
| 28 | $(error Unsupported machine: '$(MACHINE)') |
| 29 | endif |
| 30 | |
Sergii Dmytruk | 89e056b | 2024-03-02 17:02:00 +0200 | [diff] [blame] | 31 | # there files are in this directory |
Sergii Dmytruk | 04bd965 | 2023-11-17 19:31:20 +0200 | [diff] [blame] | 32 | SRC := data.c fv.c guids.c main.c storage.c utils.c vs.c |
Sergii Dmytruk | 89e056b | 2024-03-02 17:02:00 +0200 | [diff] [blame] | 33 | # and these are in $(TOP)/util/cbfstool/flashmap/ |
| 34 | SRC += fmap.c kv_pair.c valstr.c |
Sergii Dmytruk | 04bd965 | 2023-11-17 19:31:20 +0200 | [diff] [blame] | 35 | |
| 36 | OBJ := $(SRC:.c=.o) |
| 37 | DEP := $(SRC:.c=.o.d) |
| 38 | |
| 39 | .PHONY: all debug clean install |
| 40 | |
| 41 | all: $(PRG) |
| 42 | |
| 43 | debug: HOSTCFLAGS += -O0 -g |
| 44 | debug: HOSTLDFLAGS += -g |
| 45 | debug: all |
| 46 | |
| 47 | install: $(PRG) |
| 48 | $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin/ |
| 49 | $(INSTALL) $^ $(DESTDIR)$(PREFIX)/bin/ |
| 50 | |
| 51 | clean: |
| 52 | -$(RM) $(PRG) $(OBJ) $(DEP) |
| 53 | |
| 54 | $(PRG): $(OBJ) |
| 55 | $(HOSTCC) -o $@ $^ $(HOSTLDFLAGS) |
| 56 | |
| 57 | %.o: %.c |
| 58 | $(HOSTCC) $(HOSTCFLAGS) -c -o $@ -MF $@.d $< |
| 59 | |
Sergii Dmytruk | 89e056b | 2024-03-02 17:02:00 +0200 | [diff] [blame] | 60 | %.o: $(TOP)/util/cbfstool/flashmap/%.c |
| 61 | $(HOSTCC) $(HOSTCFLAGS) -c -o $@ -MF $@.d $< |
| 62 | |
Sergii Dmytruk | 04bd965 | 2023-11-17 19:31:20 +0200 | [diff] [blame] | 63 | -include $(DEP) |