summaryrefslogtreecommitdiffstats
path: root/debian/rules.d/scripts/mod/Makefile.real
blob: 6d56ff6ae4f38482ad640416b1059f24c5698664 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
PROGS = modpost.real-$(TYPE)

include $(top_rulesdir)/Makefile.inc

wrapperdir = $(top_rulesdir)/$(OUTDIR)
CFLAGS += -I $(CURDIR)/real-$(TYPE) -I $(wrapperdir)/real-$(TYPE)

modpost.real-$(TYPE): file2alias.real-$(TYPE).o modpost.real-$(TYPE).o sumversion.real-$(TYPE).o
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^

%.real-$(TYPE).o: $(SOURCEDIR)/%.c real-$(TYPE)/devicetable-offsets.h
	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<

real-$(TYPE)/devicetable-offsets.s: $(SOURCEDIR)/devicetable-offsets.c
	mkdir -p real-$(TYPE)
	$(CC) -include $(wrapperdir)/real-$(TYPE)/types.h $(CFLAGS) $(CPPFLAGS) -nostdinc -I$(top_srcdir)/include -S -o $@ $<

real-$(TYPE)/devicetable-offsets.h: real-$(TYPE)/devicetable-offsets.s
	echo >$@ "#define __DEVICEVTABLE_OFFSETS_H__"
	sed -ne "s:^[[:space:]]*\.ascii[[:space:]]*\"\(.*\)\".*:\1:; \
		 /^->/{s:->#\(.*\):/* \1 */:; \
		 s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
		 s:->::; p;}" $< >>$@