summaryrefslogtreecommitdiffstats
path: root/util/ich_descriptors_tool/Makefile
blob: d8a79f50ca40b1dfbdfddaa4e9ec2eb808369eaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
CC ?= gcc

PROGRAM=ich_descriptors_tool
EXTRAINCDIRS = ../../ .
DEPPATH = .dep
OBJATH = .obj
SHAREDSRC = ich_descriptors.c
SHAREDSRCDIR = ../..

SRC = $(wildcard *.c)

CFLAGS += -Wall
CFLAGS += -MMD -MP -MF $(DEPPATH)/$(@F).d
# enables functions that populate the descriptor structs from plain binary dumps
CFLAGS += -D ICH_DESCRIPTORS_FROM_DUMP
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))

ifeq ($(TARGET_OS), DOS)
# DJGPP has odd uint*_t definitions which cause lots of format string warnings.
CFLAGS += -Wno-format
endif

OBJ = $(OBJATH)/$(SRC:%.c=%.o)

SHAREDOBJ = $(OBJATH)/$(notdir $(SHAREDSRC:%.c=%.o))

all:$(PROGRAM)$(EXEC_SUFFIX)

$(OBJ): $(OBJATH)/%.o : %.c
	$(CC) $(CFLAGS) -o $@ -c $<

# this enables us to share source files without simultaneously sharing .o files
# with flashrom, which would lead to unexpected results (w/o running make clean)
$(SHAREDOBJ): $(OBJATH)/%.o : $(SHAREDSRCDIR)/%.c
	$(CC) $(CFLAGS) -o $@ -c $<

$(PROGRAM)$(EXEC_SUFFIX): $(OBJ) $(SHAREDOBJ)
	$(CC) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJ) $(SHAREDOBJ)

clean:
	rm -f $(PROGRAM) $(PROGRAM).exe
	rm -rf $(DEPPATH) $(OBJATH)

# Include the dependency files.
-include $(shell mkdir -p $(DEPPATH) $(OBJATH) 2>/dev/null) $(wildcard $(DEPPATH)/*)

.PHONY: all clean
OpenPOWER on IntegriCloud