.PHONY: dummy RTLGNAT_V="RTLGNAT 1.0" # if INTEGRATED == yes then # RTLGNAT will be integrated with gnat 3.15, therefore, in order to compile # you only have to use gnatmake # else # RTLGNAT will not be integrated with gnat 3.15, therefore, in order to compile # a RTLinux program you will have to use the script rtlgnatmake # YES or NO INTEGRATED="NO" # Introduce the gnat path # /usr/gnat # We recomend to use the original gnat compiler from ftp://cs.nyu.edu/pub/gnat/ GNAT_PATH=/usr/gnat # Introduce gcc 2.95 patch # /usr/bin # Use gcc --version to get the version of the compiler. GCC_2953=/usr/bin # Introduce kernels path # /usr/src KERNELS=/usr/src #Introduce rtlinux directory # $(KERNELS)/rtlinux RTLINUX=$(KERNELS)/rtlinux # -------- You do not need to edit beyond this line ---------- RTLGNAT_PATH=`pwd` RTLGNATLIB_PATH=$(RTLGNAT_PATH)/libs GNATLIB_PATH=$(GNAT_PATH)/lib/gcc-lib/i686-pc-linux-gnu/2.8.1 RTLGNATLIB_3.15p=$(RTLGNATLIB_PATH)/adainclude-3.15 RTLGNATLIB_3.14p=$(RTLGNATLIB_PATH)/adainclude-3.14 MAKEFLAGS= -j1 GNAT_VERSION= `$(GNAT_PATH)/bin/gnatls -v | awk '{printf("%s ", $$2)}' \ | awk '{printf("%s", $$1)}'` all: install install: dummy @echo "$(RTLGNAT_V) is being installed ..." @echo "GNAT path $(GNAT_PATH)" @echo "GCC 2.95.3 path $(GCC_2953)" @echo "RTLinux path $(RTLINUX)" @echo "Detected GNAT $(GNAT_VERSION)" @echo "Copying and configurating RTLGNAT $(GNAT_VERSION) libs ..." @echo "" @rm -rf $(GNATLIB_PATH)/rts-rtlinux @mkdir $(GNATLIB_PATH)/rts-rtlinux @mkdir $(GNATLIB_PATH)/rts-rtlinux/adalib @cp $(RTLGNATLIB_PATH)/Makefile $(GNATLIB_PATH)/rts-rtlinux @if [ $(GNAT_VERSION) == "3.15p" ] ; \ then cp -rf $(RTLGNATLIB_3.15p) \ $(GNATLIB_PATH)/rts-rtlinux/adainclude ; \ cp -rf $(RTLGNATLIB_PATH)/Makefile-adalib_3.15 \ $(GNATLIB_PATH)/rts-rtlinux/adalib/Makefile ; \ else \ if [ $(INTEGRATED) == "NO" ] ; \ then echo "Not integred RTLGNAT only accept gnat 3.15p" ; \ exit 1 ; \ else \ cp -rf $(RTLGNATLIB_3.14p) \ $(GNATLIB_PATH)/rts-rtlinux/adainclude ; \ cp $(RTLGNATLIB_PATH)/Makefile-adalib_3.14 \ $(GNATLIB_PATH)/rts-rtlinux/adalib/Makefile ; \ fi \ fi @cp -rf $(RTLGNATLIB_PATH)/RTGL $(GNATLIB_PATH)/rts-rtlinux @cp -rf $(RTLGNATLIB_PATH)/rtload $(GNAT_PATH)/bin @cp -rf $(RTLGNATLIB_PATH)/rtunload $(GNAT_PATH)/bin @chmod 755 $(GNAT_PATH)/bin/rtload @chmod 755 $(GNAT_PATH)/bin/rtunload @if [ $(INTEGRATED) == "YES" ] ; \ then rm -f $(GNATLIB_PATH)/adalib $(GNATLIB_PATH)/adainclude ; \ cp -rf $(RTLGNATLIB_PATH)/specs $(GNATLIB_PATH) ; \ ln -sf $(GNATLIB_PATH)/rts-rtlinux/adainclude \ $(GNATLIB_PATH)/adainclude ; \ ln -sf $(GNATLIB_PATH)/rts-rtlinux/adalib \ $(GNATLIB_PATH)/adalib ; \ else \ cp -rf $(RTLGNATLIB_PATH)/specs $(GNATLIB_PATH)/specs.rtlinux ; \ cp -rf $(RTLGNATLIB_PATH)/rtlgnatmake $(GNAT_PATH)/bin ; \ chmod 755 $(GNAT_PATH)/bin/rtlgnatmake ; \ fi @rm -rf $(GNAT_PATH)/rtl_examples @cp -rf $(RTLGNAT_PATH)/examples $(GNAT_PATH)/rtl_examples @echo "RTLGNAT $(GNAT_VERSION) copied" @echo "# Several paths" > \ $(GNATLIB_PATH)/rts-rtlinux/RTGL/Rules.mk @echo "GCC_2953=$(GCC_2953)" >> \ $(GNATLIB_PATH)/rts-rtlinux/RTGL/Rules.mk @echo "RTLINUX=$(RTLINUX)" >> \ $(GNATLIB_PATH)/rts-rtlinux/RTGL/Rules.mk @echo "# Several paths" > \ $(GNATLIB_PATH)/rts-rtlinux/Rules.mk @echo "GNATBIN_PATH=$(GNAT_PATH)/bin" >> \ $(GNATLIB_PATH)/rts-rtlinux/Rules.mk $(MAKE) -C $(GNATLIB_PATH)/rts-rtlinux @echo "" @echo "RTLGNAT $(GNAT_VERSION) has been installed" @echo "Please, do not forget put $(GNAT_PATH)/bin at \ the front of your path" clean: dummy $(MAKE) -C $(GNATLIB_PATH)/rts-rtlinux clean @rm -f *~ .bak */*.~ */*.bak #examples: dummy #$(MAKE) -C examples