24 lines
555 B
Makefile
24 lines
555 B
Makefile
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
quiet_cmd_chkbss = CHKBSS $<
|
||
|
define cmd_chkbss
|
||
|
rm -f $@; \
|
||
|
if ! $(OBJDUMP) -j .bss -w -h $< | awk 'END { if ($$3) exit 1 }'; then \
|
||
|
echo "error: $< .bss section is not empty" >&2; exit 1; \
|
||
|
fi; \
|
||
|
touch $@;
|
||
|
endef
|
||
|
|
||
|
chkbss-target ?= $(obj)/built-in.a
|
||
|
ifneq (,$(findstring /,$(chkbss)))
|
||
|
chkbss-files := $(patsubst %, %.chkbss, $(chkbss))
|
||
|
else
|
||
|
chkbss-files := $(patsubst %, $(obj)/%.chkbss, $(chkbss))
|
||
|
endif
|
||
|
|
||
|
$(chkbss-target): $(chkbss-files)
|
||
|
targets += $(notdir $(chkbss-files))
|
||
|
|
||
|
%.o.chkbss: %.o
|
||
|
$(call cmd,chkbss)
|