summaryrefslogtreecommitdiffstats
path: root/util/ich_descriptors_tool/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'util/ich_descriptors_tool/Makefile')
-rw-r--r--util/ich_descriptors_tool/Makefile31
1 files changed, 23 insertions, 8 deletions
diff --git a/util/ich_descriptors_tool/Makefile b/util/ich_descriptors_tool/Makefile
index d8a79f5..4d18aec 100644
--- a/util/ich_descriptors_tool/Makefile
+++ b/util/ich_descriptors_tool/Makefile
@@ -1,4 +1,8 @@
-CC ?= gcc
+#
+# This file is part of the flashrom project.
+#
+# This Makefile works standalone, but it is usually called from the main
+# Makefile in the flashrom directory.
PROGRAM=ich_descriptors_tool
EXTRAINCDIRS = ../../ .
@@ -6,19 +10,30 @@ DEPPATH = .dep
OBJATH = .obj
SHAREDSRC = ich_descriptors.c
SHAREDSRCDIR = ../..
+# If your compiler spits out excessive warnings, run make WARNERROR=no
+# You shouldn't have to change this flag.
+WARNERROR ?= yes
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))
+CC ?= gcc
+# If the user has specified custom CFLAGS, all CFLAGS settings below will be
+# completely ignored by gnumake.
+CFLAGS ?= -Os -Wall -Wshadow
ifeq ($(TARGET_OS), DOS)
# DJGPP has odd uint*_t definitions which cause lots of format string warnings.
CFLAGS += -Wno-format
endif
+ifeq ($(WARNERROR), yes)
+CFLAGS += -Werror
+endif
+
+
+CPPFLAGS += -MMD -MP -MF $(DEPPATH)/$(@F).d
+# enables functions that populate the descriptor structs from plain binary dumps
+CPPFLAGS += -D ICH_DESCRIPTORS_FROM_DUMP
+CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
OBJ = $(OBJATH)/$(SRC:%.c=%.o)
@@ -27,12 +42,12 @@ SHAREDOBJ = $(OBJATH)/$(notdir $(SHAREDSRC:%.c=%.o))
all:$(PROGRAM)$(EXEC_SUFFIX)
$(OBJ): $(OBJATH)/%.o : %.c
- $(CC) $(CFLAGS) -o $@ -c $<
+ $(CC) $(CFLAGS) $(CPPFLAGS) -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 $<
+ $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
$(PROGRAM)$(EXEC_SUFFIX): $(OBJ) $(SHAREDOBJ)
$(CC) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJ) $(SHAREDOBJ)
OpenPOWER on IntegriCloud