diff options
Diffstat (limited to 'linux/linux-ext-rtai.mk')
-rw-r--r-- | linux/linux-ext-rtai.mk | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/linux/linux-ext-rtai.mk b/linux/linux-ext-rtai.mk new file mode 100644 index 000000000..a54230d32 --- /dev/null +++ b/linux/linux-ext-rtai.mk @@ -0,0 +1,47 @@ +################################################## +# Linux RTAI extensions +# +# Patch the linux kernel with RTAI extension +################################################## + +ifeq ($(BR2_LINUX_KERNEL_EXT_RTAI),y) +# Add dependency to RTAI (user-space) which provide kernel patches +LINUX_DEPENDENCIES += rtai-patch + +RTAI_PATCH = $(call qstrip,$(BR2_LINUX_KERNEL_EXT_RTAI_PATCH)) + +ifeq ($(KERNEL_ARCH),i386) +RTAI_ARCH = x86 +else ifeq ($(KERNEL_ARCH),x86_64) +RTAI_ARCH = x86 +else ifeq ($(KERNEL_ARCH),powerpc) +RTAI_ARCH = ppc +else +RTAI_ARCH = $(KERNEL_ARCH) +endif + +# Prepare kernel patch +ifeq ($(RTAI_PATCH),) +define RTAI_PREPARE_KERNEL + kver=`$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelversion` ; \ + if test -f $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/hal-linux-$${kver}-*patch ; then \ + support/script/apply-patches.sh $(LINUX_DIR) \ + $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ \ + hal-linux-$${kver}-*patch ; \ + else \ + echo "No RTAI patch for your kernel version" ; \ + exit 1 ; \ + fi +endef +else +define RTAI_PREPARE_KERNEL + support/script/apply-patches.sh \ + $(LINUX_DIR) \ + $(dir $(RTAI_PATCH)) \ + $(notdir $(RTAI_PATCH)) +endef +endif + +LINUX_POST_PATCH_HOOKS += RTAI_PREPARE_KERNEL + +endif #BR2_LINUX_EXT_RTAI |