Framework for exporting system header to user space (#59)
[lunaix-os.git] / lunaix-os / install_headers.mk
diff --git a/lunaix-os/install_headers.mk b/lunaix-os/install_headers.mk
new file mode 100644 (file)
index 0000000..d636375
--- /dev/null
@@ -0,0 +1,28 @@
+include kbuild_deps.mkinc
+
+ifndef PREFIX
+       $(error "Must specify PREFIX to header install location")
+endif
+
+USR_HEADER := includes/usr
+
+HEADERS := $(shell cat $(USR_HEADER)/headers)
+HEADERS += $(shell cat $(USR_HEADER)/headers_autogen)
+
+INSTALL := $(addprefix $(PREFIX)/,$(HEADERS))
+
+export CFLAGS=$(kcflags)
+$(PREFIX)/lunaix/syscallid.h:
+       @scripts/gen-syscall-header "$@"
+
+.SECONDEXPANSION:
+.PRECIOUS: $(PREFIX)/%/
+
+$(PREFIX)/%/:
+       @mkdir -p $@
+
+$(PREFIX)/%.h : $(USR_HEADER)/%.h $$(dir $$@)
+       $(call status,INSTALL,$@)
+       @cp $< $@
+
+all: $(INSTALL)
\ No newline at end of file