summaryrefslogtreecommitdiffhomepage
path: root/project/headers.mk
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2019-01-05 20:08:10 -0500
committermidipix <writeonce@midipix.org>2019-01-09 22:43:13 -0500
commitdd6f0e3f6e80b43a92000908676947c4b06c22e6 (patch)
tree111923c2d91ad92970ff298575ed111804ea6585 /project/headers.mk
parentba16785bd30e652a5d606d7059336e6d6eb7a0c2 (diff)
downloadmmglue-dd6f0e3f6e80b43a92000908676947c4b06c22e6.tar.bz2
mmglue-dd6f0e3f6e80b43a92000908676947c4b06c22e6.tar.xz
project: added config bits and rules for alltypes.h and syscall.h.
Diffstat (limited to 'project/headers.mk')
-rw-r--r--project/headers.mk48
1 files changed, 45 insertions, 3 deletions
diff --git a/project/headers.mk b/project/headers.mk
index 9d50ee3..ea8bea4 100644
--- a/project/headers.mk
+++ b/project/headers.mk
@@ -1,5 +1,47 @@
-API_HEADERS = \
+# alltypes.h, syscall.h
+ALLTYPES_H = build/include/bits/alltypes.h
+SYSCALL_H = build/include/bits/syscall.h
-INTERNAL_HEADERS = \
+ARCH_GEN_H = $(ALLTYPES_H) $(SYSCALL_H)
-ALL_HEADERS = $(API_HEADERS) $(INTERNAL_HEADERS)
+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