Blame view

buildroot/buildroot-2016.08.1/package/xenomai/xenomai.mk 3.55 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
  ################################################################################
  #
  # xenomai
  #
  ################################################################################
  
  XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION))
  ifeq ($(XENOMAI_VERSION),)
  XENOMAI_VERSION = 2.6.4
  else
  BR_NO_CHECK_HASH_FOR += $(XENOMAI_SOURCE)
  endif
  
  XENOMAI_SITE = https://xenomai.org/downloads/xenomai/stable
  XENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2
  XENOMAI_LICENSE = headers: GPLv2+ with exception, libraries: LGPLv2.1+, kernel: GPLv2+, docs: GFDLv1.2+, ipipe patch and can driver: GPLv2
  # GFDL is not included but refers to gnu.org
  XENOMAI_LICENSE_FILES = debian/copyright include/COPYING src/skins/native/COPYING ksrc/nucleus/COPYING
  
  XENOMAI_INSTALL_STAGING = YES
  XENOMAI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-user
  XENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user
  
  XENOMAI_CONF_OPTS += --includedir=/usr/include/xenomai/ --disable-doc-install
  
  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
  
  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_PACKAGE_HAS_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/ || exit 1 ; \
  		done ; \
  	fi;
  endef
  
  XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_INSTALL_UDEV_RULES
  endif # udev
  
  $(eval $(autotools-package))