/ 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