summaryrefslogtreecommitdiffhomepage
path: root/project/headers.mk
blob: ea8bea479ea5ac29b687e3ae74f65dbb195ca789 (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
42
43
44
45
46
47
# alltypes.h, syscall.h
ALLTYPES_H      = build/include/bits/alltypes.h
SYSCALL_H       = build/include/bits/syscall.h

ARCH_GEN_H      = $(ALLTYPES_H) $(SYSCALL_H)

ALLTYPES_DEPS   = \
		$(PORT_DIR)/arch/$(ARCH)/bits/alltypes.h.in \
		$(SOURCE_DIR)/include/alltypes.h.in \
		$(SOURCE_DIR)/tools/mkalltypes.sed

$(ALLTYPES_H):	build/headers.tag $(ALLTYPES_DEPS)
		sed -f $(SOURCE_DIR)/tools/mkalltypes.sed \
			$(PORT_DIR)/arch/$(ARCH)/bits/alltypes.h.in \
			$(SOURCE_DIR)/include/alltypes.h.in > $@

syscall-copy:	$(PORT_DIR)/arch/$(ARCH)/bits/syscall.h build/headers.tag
		cp $< $(SYSCALL_H)

syscall-gen:	$(PORT_DIR)/arch/$(ARCH)/bits/syscall.h.in build/headers.tag
		cp $< $(SYSCALL_H).tmp
		sed -n -e 's/__NR_/SYS_/p' < $< >> $(SYSCALL_H).tmp
		mv $(SYSCALL_H).tmp $(SYSCALL_H)

$(SYSCALL_H):	syscall-arch



# build/include
build/headers.tag:
		mkdir -p build/include
		mkdir -p build/include/bits
		touch $@

clean-headers:
		rm -f $(ARCH_GEN_H)
		rm -f $(SYSCALL_H).tmp
		rmdir build/include/bits 2>/dev/null || true
		rmdir build/include      2>/dev/null || true
		rm -f build/headers.tag

clean:		clean-headers

.PHONY:		syscall-arch
.PHONY:		syscall-copy
.PHONY:		syscall-gen
.PHONY:		clean-headers