summaryrefslogtreecommitdiff
path: root/Make.rules
blob: 96a8649a82f7a80cefe14b01638f272b063b4db6 (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
define get-config
$(shell git config --local --get "shim.$(1)")
endef

define add-vendor-sbat
$(OBJCOPY) --add-section ".$(patsubst %.csv,%,$(1))=$(1)" $(2)

endef

# true if the strings are the same
define str-eq
$(if $(subst $(1),,$(2)),,$(1))
endef

# true if 1 is in 2
define has-flag
$(if $(findstring $(space)$(1)$(space),$(space)$(2)$(space)),$(1))
endef

# true if 1 is not in 2
define has-not-flag
$(if $(call has-flag,$(1),$(2)),,$(1))
endef

# if 1 is set and 2 isn't in the thing named by 3,
# add 4 to the thing named by 3
define conditional-add-flag
$(if $(and $(strip $(1)),$(strip $(call has-not-flag,$(2),$($(3))))),$(eval override $(value 3) += $(4)))
endef

# Add everything from DEFAULT_$(1) to $(1) if it isn't there (in whole)
define update-variable
$(strip $(foreach x,$(DEFAULT_$(1)),
	$(if $(call has-flag,$(x),$($(1))),,
		$(eval override $(1)+=$(x)))))
endef

%.o : %.S
	$(CC) $(CFLAGS) -c -o $@ $< $(IGNORE_COMPILER_ERRORS)

# vim:filetype=make