File: Makefile.chkbss

package info (click to toggle)
linux 4.19.16-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 955,852 kB
  • sloc: ansic: 16,748,305; asm: 271,259; makefile: 38,297; sh: 38,030; perl: 28,295; python: 21,019; cpp: 5,063; yacc: 4,648; lex: 2,583; awk: 1,385; ruby: 25; sed: 5
file content (23 lines) | stat: -rw-r--r-- 555 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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)