1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# xenomai 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunXENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION)) 8*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL),y) 9*4882a593SmuzhiyunXENOMAI_TARBALL = $(call qstrip,$(BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL)) 10*4882a593SmuzhiyunXENOMAI_SOURCE = $(notdir $(XENOMAI_TARBALL)) 11*4882a593SmuzhiyunXENOMAI_SITE = $(patsubst %/,%,$(dir $(XENOMAI_TARBALL))) 12*4882a593Smuzhiyun# Exclude from the hash check 13*4882a593SmuzhiyunBR_NO_CHECK_HASH_FOR += $(XENOMAI_SOURCE) 14*4882a593Smuzhiyunelse ifeq ($(BR2_PACKAGE_XENOMAI_CUSTOM_GIT),y) 15*4882a593SmuzhiyunXENOMAI_SITE = $(call qstrip,$(BR2_PACKAGE_XENOMAI_REPOSITORY)) 16*4882a593SmuzhiyunXENOMAI_SITE_METHOD = git 17*4882a593Smuzhiyun# Exclude from the hash check 18*4882a593SmuzhiyunBR_NO_CHECK_HASH_FOR += $(XENOMAI_SOURCE) 19*4882a593Smuzhiyunelse 20*4882a593SmuzhiyunXENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2 21*4882a593SmuzhiyunXENOMAI_SITE = https://source.denx.de/Xenomai/xenomai/-/archive/$(XENOMAI_VERSION) 22*4882a593Smuzhiyunendif 23*4882a593Smuzhiyun# We're patching configure.ac 24*4882a593SmuzhiyunXENOMAI_AUTORECONF = YES 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunXENOMAI_LICENSE = GPL-2.0+ with exception (headers), LGPL-2.1+ (libraries), GPL-2.0+ (kernel), GFDL-1.2+ (docs), GPL-2.0 (ipipe patch, can driver) 27*4882a593Smuzhiyun# GFDL is not included but refers to gnu.org 28*4882a593SmuzhiyunXENOMAI_LICENSE_FILES = debian/copyright include/COPYING kernel/cobalt/COPYING \ 29*4882a593Smuzhiyun kernel/cobalt/posix/COPYING kernel/cobalt/rtdm/COPYING \ 30*4882a593Smuzhiyun lib/alchemy/COPYING lib/analogy/COPYING \ 31*4882a593Smuzhiyun lib/boilerplate/iniparser/LICENSE lib/boilerplate/COPYING \ 32*4882a593Smuzhiyun lib/cobalt/COPYING lib/copperplate/COPYING lib/psos/COPYING \ 33*4882a593Smuzhiyun lib/smokey/COPYING lib/trank/COPYING lib/vxworks/COPYING 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunXENOMAI_DEPENDENCIES = host-pkgconf 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunXENOMAI_INSTALL_STAGING = YES 38*4882a593SmuzhiyunXENOMAI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-user 39*4882a593SmuzhiyunXENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunXENOMAI_CONF_OPTS += \ 42*4882a593Smuzhiyun --disable-demo \ 43*4882a593Smuzhiyun --disable-testsuite \ 44*4882a593Smuzhiyun --includedir=/usr/include/xenomai/ 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XENOMAI_MERCURY),y) 47*4882a593SmuzhiyunXENOMAI_CONF_OPTS += --with-core=mercury 48*4882a593Smuzhiyunelse 49*4882a593SmuzhiyunXENOMAI_CONF_OPTS += --with-core=cobalt 50*4882a593Smuzhiyunendif 51*4882a593Smuzhiyun 52*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XENOMAI_ENABLE_SMP),y) 53*4882a593SmuzhiyunXENOMAI_CONF_OPTS += --enable-smp 54*4882a593Smuzhiyunelse 55*4882a593SmuzhiyunXENOMAI_CONF_OPTS += --disable-smp 56*4882a593Smuzhiyunendif 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY),y) 59*4882a593SmuzhiyunXENOMAI_DEPENDENCIES += libfuse 60*4882a593SmuzhiyunXENOMAI_REGISTRY_PATH = $(call qstrip,$(BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY_PATH)) 61*4882a593Smuzhiyunifeq ($(XENOMAI_REGISTRY_PATH),) 62*4882a593SmuzhiyunXENOMAI_CONF_OPTS += --enable-registry 63*4882a593Smuzhiyunelse 64*4882a593SmuzhiyunXENOMAI_CONF_OPTS += --enable-registry=$(XENOMAI_REGISTRY_PATH) 65*4882a593Smuzhiyunendif 66*4882a593Smuzhiyunelse 67*4882a593SmuzhiyunXENOMAI_CONF_OPTS += --disable-registry 68*4882a593Smuzhiyunendif 69*4882a593Smuzhiyun 70*4882a593SmuzhiyunXENOMAI_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS)) 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun# Some of these files may be desired by some users -- at that point specific 73*4882a593Smuzhiyun# config options need to be added to keep a particular set. 74*4882a593Smuzhiyundefine XENOMAI_REMOVE_UNNEEDED_FILES 75*4882a593Smuzhiyun for i in xeno xeno-config xeno-info wrap-link.sh ; do \ 76*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/bin/$$i ; \ 77*4882a593Smuzhiyun done 78*4882a593Smuzhiyun for i in cobalt modechk ; do \ 79*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/lib/$$i.wrappers ; \ 80*4882a593Smuzhiyun done 81*4882a593Smuzhiyun for i in autotune corectl hdb rtnet nomaccfg rtcfg rtifconfig \ 82*4882a593Smuzhiyun rtiwconfig rtping rtroute tdmacfg rtps slackspot version; do \ 83*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/sbin/$$i ; \ 84*4882a593Smuzhiyun done 85*4882a593Smuzhiyunendef 86*4882a593Smuzhiyun 87*4882a593SmuzhiyunXENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_UNNEEDED_FILES 88*4882a593Smuzhiyun 89*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),) 90*4882a593Smuzhiyundefine XENOMAI_REMOVE_TESTSUITE 91*4882a593Smuzhiyun rm -rf $(TARGET_DIR)/usr/share/xenomai/ 92*4882a593Smuzhiyun for i in clocktest gpiotest latency smokey spitest switchtest \ 93*4882a593Smuzhiyun xeno-test-run-wrapper dohell xeno-test-run xeno-test ; do \ 94*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/bin/$$i ; \ 95*4882a593Smuzhiyun done 96*4882a593Smuzhiyun rm -rf $(TARGET_DIR)/usr/demo/ 97*4882a593Smuzhiyunendef 98*4882a593Smuzhiyun 99*4882a593SmuzhiyunXENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE 100*4882a593Smuzhiyunendif 101*4882a593Smuzhiyun 102*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),) 103*4882a593Smuzhiyundefine XENOMAI_REMOVE_RTCAN_PROGS 104*4882a593Smuzhiyun for i in rtcanrecv rtcansend ; do \ 105*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/bin/$$i ; \ 106*4882a593Smuzhiyun done 107*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/sbin/rtcanconfig 108*4882a593Smuzhiyunendef 109*4882a593Smuzhiyun 110*4882a593SmuzhiyunXENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS 111*4882a593Smuzhiyunendif 112*4882a593Smuzhiyun 113*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XENOMAI_ANALOGY),) 114*4882a593Smuzhiyundefine XENOMAI_REMOVE_ANALOGY 115*4882a593Smuzhiyun for i in cmd_read cmd_write cmd_bits insn_read insn_write insn_bits \ 116*4882a593Smuzhiyun wf_generate ; do \ 117*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/bin/$$i ; \ 118*4882a593Smuzhiyun done 119*4882a593Smuzhiyun for i in analogy_config analogy_calibrate ; do \ 120*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/sbin/$$i ; \ 121*4882a593Smuzhiyun done 122*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/lib/libanalogy.* 123*4882a593Smuzhiyunendef 124*4882a593Smuzhiyun 125*4882a593SmuzhiyunXENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY 126*4882a593Smuzhiyunendif 127*4882a593Smuzhiyun 128*4882a593SmuzhiyunXENOMAI_REMOVE_LIBS_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,alchemy) 129*4882a593SmuzhiyunXENOMAI_REMOVE_LIBS_LIST += $(if $(BR2_PACKAGE_XENOMAI_POSIX_SKIN),,posix) 130*4882a593SmuzhiyunXENOMAI_REMOVE_LIBS_LIST += $(if $(BR2_PACKAGE_XENOMAI_PSOS_SKIN),,psos) 131*4882a593SmuzhiyunXENOMAI_REMOVE_LIBS_LIST += $(if $(BR2_PACKAGE_XENOMAI_RTAI_SKIN),,rtai) 132*4882a593SmuzhiyunXENOMAI_REMOVE_LIBS_LIST += $(if $(BR2_PACKAGE_XENOMAI_TESTSUITE),,smokey) 133*4882a593SmuzhiyunXENOMAI_REMOVE_LIBS_LIST += $(if $(BR2_PACKAGE_XENOMAI_UITRON_SKIN),,uitron) 134*4882a593SmuzhiyunXENOMAI_REMOVE_LIBS_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks) 135*4882a593SmuzhiyunXENOMAI_REMOVE_LIBS_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx) 136*4882a593Smuzhiyun 137*4882a593Smuzhiyundefine XENOMAI_REMOVE_LIBS 138*4882a593Smuzhiyun for i in $(XENOMAI_REMOVE_LIBS_LIST) ; do \ 139*4882a593Smuzhiyun rm -f $(TARGET_DIR)/usr/lib/lib$$i.* ; \ 140*4882a593Smuzhiyun done 141*4882a593Smuzhiyunendef 142*4882a593Smuzhiyun 143*4882a593SmuzhiyunXENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_LIBS 144*4882a593Smuzhiyun 145*4882a593Smuzhiyundefine XENOMAI_DEVICES 146*4882a593Smuzhiyun /dev/rtheap c 666 0 0 10 254 0 0 - 147*4882a593Smuzhiyun /dev/rtscope c 666 0 0 10 253 0 0 - 148*4882a593Smuzhiyun /dev/rtp c 666 0 0 150 0 0 1 32 149*4882a593Smuzhiyunendef 150*4882a593Smuzhiyun 151*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HAS_UDEV),y) 152*4882a593SmuzhiyunXENOMAI_DEPENDENCIES += udev 153*4882a593Smuzhiyun 154*4882a593Smuzhiyundefine XENOMAI_INSTALL_UDEV_RULES 155*4882a593Smuzhiyun if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \ 156*4882a593Smuzhiyun for f in $(@D)/kernel/cobalt/udev/*.rules ; do \ 157*4882a593Smuzhiyun cp $$f $(TARGET_DIR)/etc/udev/rules.d/ || exit 1 ; \ 158*4882a593Smuzhiyun done ; \ 159*4882a593Smuzhiyun fi; 160*4882a593Smuzhiyunendef 161*4882a593Smuzhiyun 162*4882a593SmuzhiyunXENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_INSTALL_UDEV_RULES 163*4882a593Smuzhiyunendif # udev 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun$(eval $(autotools-package)) 166