/ GNUmakefile.am
GNUmakefile.am
1 OPTDIRS = 2 3 OPTDIRS += addons 4 5 SUBDIRS = base $(OPTDIRS) 6 7 DIST_SUBDIRS = \ 8 base \ 9 addons 10 11 EXTRA_DIST = \ 12 README.INSTALL \ 13 README.ISOLCPUS \ 14 README.LINUX_SERVER \ 15 README.LXRT_EXTS_IN_USE \ 16 README.SMI 17 18 DISTCLEANFILES = .rtai_config .rtai_config.old .cfok .cfchanged Module.symvers configure 19 20 moduledir = @RTAI_MODULE_DIR@ 21 22 MAKEFLAGS := $(MAKEFLAGS) --no-print-directory 23 24 all-recursive install-recursive: base/GNUmakefile clean-if-reconfigured 25 26 clean-if-reconfigured: 27 @if test -r .cfchanged ; then \ 28 rm -f .cfchanged ; \ 29 echo "****************************************" ; \ 30 echo "* Your RTAI configuration has changed *" ; \ 31 echo "* forcing 'make clean' ... *" ; \ 32 echo "****************************************" ; \ 33 $(MAKE) clean ; \ 34 fi 35 36 CONFIG_METHODS := config nconfig menuconfig xconfig gconfig oldconfig silentoldconfig defconfig \ 37 savedefconfig allnoconfig allyesconfig allmodconfig alldefconfig \ 38 randconfig listnewconfig olddefconfig 39 .PHONY: $(CONFIG_METHODS) 40 $(CONFIG_METHODS): 41 @$(MAKE) -C base/config/kconfig \ 42 -f Makefile.kconfig $@ \ 43 srctree=$(PWD) ARCH=`uname -m` 44 @$(MAKE) --no-print-directory config-status 45 46 config-status: .rtai_config 47 @test -r config.status && recf=yes || recf=no ; \ 48 eval `grep ^CONFIG_RTAI_INSTALLDIR $<`; \ 49 CC="$(CC)" \ 50 CXX="$(CXX)" \ 51 LD="$(LD)" \ 52 AR="$(AR)" \ 53 RANLIB=ranlib \ 54 STRIP=strip \ 55 NM=nm \ 56 $(srctree)./configure \ 57 --build=$(build_alias) \ 58 --host=$(host_alias) \ 59 --with-kconfig-file=./$< \ 60 --with-linux-dir=$(RTAI_LINUX_DIR) \ 61 --prefix=$$CONFIG_RTAI_INSTALLDIR \ 62 $$confopts ; \ 63 if test $$? = 0; then \ 64 touch .cfok ; \ 65 if test x$$recf = xyes ; then \ 66 touch .cfchanged ; \ 67 fi ; \ 68 else \ 69 rm -f .cfok ; false; \ 70 fi 71 72 if CONFIG_RTAI_OLD_FASHIONED_BUILD 73 clean-local: 74 rm -fr modules .cfchanged 75 76 distclean-local: 77 $(MAKE) -C $(srcdir)/base/config/kconfig \ 78 -f Makefile.kconfig distclean srctree=$(srcdir) 79 find . -name autom4te.cache | xargs rm -fr 80 else 81 clean-local: 82 rm -f .cfchanged 83 84 distclean-local: 85 test -d $(top_builddir)/base/config && \ 86 $(MAKE) -C $(top_builddir)/base/config/kconfig \ 87 -f @abs_srcdir@/base/config/kconfig/Makefile.kconfig distclean srctree=@abs_srcdir@ 88 endif 89 90 install-data-local: .rtai_config 91 $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) 92 $(INSTALL_DATA) .rtai_config $(DESTDIR)$(pkgdatadir)/config-rtai-$(VERSION) 93 if test -f Module.symvers ; then \ 94 $(INSTALL_DATA) Module.symvers $(DESTDIR)$(moduledir)/Module.symvers ; \ 95 fi 96 97 install-exec-local: devices 98 99 dist-hook: 100 $(MAKE) -C $(distdir)/base/config/kconfig \ 101 -f Makefile.kconfig distclean srctree=$(distdir) 102 rm -fr `find $(distdir) -name CVS` 103 test -e $(srcdir)/doc || rm -fr $(distdir)/doc 104 105 dev devices: 106 @if test -r $(DESTDIR)/etc/udev/udev.rules ; then \ 107 for f in \ 108 $(srcdir)/base/ipc/shm/rtai_shm.udev \ 109 $(srcdir)/base/ipc/fifos/rtai_fifos.udev \ 110 ; do \ 111 b=`basename $$f` ; \ 112 grep -q RTAI:`basename $$b .udev` $(DESTDIR)/etc/udev/udev.rules || \ 113 $$sudo sh -c "( echo ; cat $$f ) >> $(DESTDIR)/etc/udev/udev.rules" ; \ 114 done ; \ 115 elif test -d $(DESTDIR)/etc/udev/rules.d ; then \ 116 for f in \ 117 $(srcdir)/base/ipc/shm/rtai_shm.udev \ 118 $(srcdir)/base/ipc/fifos/rtai_fifos.udev \ 119 ; do \ 120 b=`basename $$f` ; \ 121 grep -q RTAI:`basename $$b .udev` $(DESTDIR)/etc/udev/rules.d/99-rtai.rules || \ 122 $$sudo sh -c "( echo ; cat $$f ) >> $(DESTDIR)/etc/udev/rules.d/99-rtai.rules" ; \ 123 done ; \ 124 fi ; \ 125 if test x$(DESTDIR) = x; then \ 126 if test \! "x`type -t sudo`" = x; then sudo=sudo; else sudo=; fi; \ 127 if test \! -c $(DESTDIR)/dev/rtai_shm; then \ 128 $$sudo mknod -m 666 $(DESTDIR)/dev/rtai_shm c 10 254; \ 129 fi; \ 130 for n in `seq 0 9`; do \ 131 f="$(DESTDIR)/dev/rtf$$n"; \ 132 if test \! -c $$f; then \ 133 $$sudo mknod -m 666 $$f c 150 $$n; \ 134 fi; \ 135 done ; \ 136 fi 137 138 .PHONY: clean-if-reconfigured dev devices