7f00b62917
The largefile patch is no longer necessary, it has been merged upstream. However, in order to make the build work properly with Thumb2 toolchains (such as Linaro toolchains), an additional fix is needed. This fix is already upstream and will be part of upcoming Xenomai releases. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
123 lines
3.5 KiB
Makefile
123 lines
3.5 KiB
Makefile
#############################################################
|
|
# Xenomai
|
|
# URL : http://xenomai.org
|
|
# NOTE : Real-Time Framework for Linux
|
|
#
|
|
#############################################################
|
|
|
|
XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION))
|
|
ifeq ($(XENOMAI_VERSION),)
|
|
XENOMAI_VERSION = 2.6.1
|
|
endif
|
|
|
|
XENOMAI_SITE = http://download.gna.org/xenomai/stable/
|
|
XENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2
|
|
|
|
XENOMAI_INSTALL_STAGING = YES
|
|
|
|
ifeq ($(BR2_PACKAGE_XENOMAI_SMP),y)
|
|
XENOMAI_CONF_OPT += --enable-smp
|
|
endif
|
|
|
|
XENOMAI_CONF_OPT += --includedir=/usr/include/xenomai/
|
|
|
|
ifeq ($(BR2_HAVE_DEVFILES),)
|
|
define XENOMAI_REMOVE_DEVFILES
|
|
for i in xeno-config xeno-info wrap-link.sh ; do \
|
|
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
|
|
done
|
|
endef
|
|
|
|
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_DEVFILES
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),)
|
|
define XENOMAI_REMOVE_TESTSUITE
|
|
rm -rf $(TARGET_DIR)/usr/share/xenomai/
|
|
for i in klatency rtdm xeno xeno-load check-vdso \
|
|
irqloop cond-torture-posix switchtest arith \
|
|
sigtest clocktest cyclictest latency wakeup-time \
|
|
xeno-test cond-torture-native mutex-torture-posix \
|
|
mutex-torture-native ; do \
|
|
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
|
|
done
|
|
endef
|
|
|
|
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),)
|
|
define XENOMAI_REMOVE_RTCAN_PROGS
|
|
for i in rtcanrecv rtcansend ; do \
|
|
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
|
|
done
|
|
rm -f $(TARGET_DIR)/usr/sbin/rtcanconfig
|
|
endef
|
|
|
|
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XENOMAI_ANALOGY),)
|
|
define XENOMAI_REMOVE_ANALOGY
|
|
for i in cmd_bits cmd_read cmd_write insn_write \
|
|
insn_bits insn_read ; do \
|
|
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
|
|
done
|
|
rm -f $(TARGET_DIR)/usr/sbin/analogy_config
|
|
rm -f $(TARGET_DIR)/usr/lib/libanalogy.*
|
|
endef
|
|
|
|
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY
|
|
endif
|
|
|
|
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,native)
|
|
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_POSIX_SKIN),,posix)
|
|
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks)
|
|
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_PSOS_SKIN),,psos)
|
|
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_RTAI_SKIN),,rtai)
|
|
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_UITRON_SKIN),,uitron)
|
|
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx)
|
|
|
|
define XENOMAI_REMOVE_SKINS
|
|
for i in $(XENOMAI_REMOVE_SKIN_LIST) ; do \
|
|
rm -f $(TARGET_DIR)/usr/lib/lib$$i.* ; \
|
|
if [ $$i == "posix" ] ; then \
|
|
rm -f $(TARGET_DIR)/usr/lib/posix.wrappers ; \
|
|
fi ; \
|
|
done
|
|
endef
|
|
|
|
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS
|
|
|
|
define XENOMAI_DEVICES
|
|
/dev/rtheap c 666 0 0 10 254 0 0 -
|
|
/dev/rtscope c 666 0 0 10 253 0 0 -
|
|
/dev/rtp c 666 0 0 150 0 0 1 32
|
|
endef
|
|
|
|
ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
|
|
XENOMAI_DEPENDENCIES += udev
|
|
|
|
define XENOMAI_INSTALL_UDEV_RULES
|
|
if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \
|
|
for f in $(@D)/ksrc/nucleus/udev/*.rules ; do \
|
|
cp $$f $(TARGET_DIR)/etc/udev/rules.d/ ; \
|
|
done ; \
|
|
fi;
|
|
endef
|
|
|
|
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_INSTALL_UDEV_RULES
|
|
endif # udev
|
|
|
|
define XENOMAI_REMOVE_UDEV_RULES
|
|
if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \
|
|
for f in $(@D)/ksrc/nucleus/udev/*.rules ; do \
|
|
rm -f $(TARGET_DIR)/etc/udev/rules.d/$$f ; \
|
|
done ; \
|
|
fi;
|
|
endef
|
|
|
|
XENOMAI_POST_UNINSTALL_TARGET_HOOKS += XENOMAI_REMOVE_UDEV_RULES
|
|
|
|
$(eval $(autotools-package))
|