I just tested the template file generation in asyn with this command:
/home/epics/devel/asyn/bin/linux-x86_64/makeSupport.pl -t streamSCPI test4
It worked fine, and generated this test4/test4Sup directory:
**********************
corvette:~/scratch/test4/test4Sup>ls -l
total 12
-rw-rw-r-- 1 epics domain users 256 Aug 31 08:44 Makefile
-rw-rw-r-- 1 epics domain users 2032 Aug 31 08:07 devtest4.db
-rw-rw-r-- 1 epics domain users 190 Aug 31 08:07 devtest4.proto
**********************
This is the Makefile it generated:
**********************
corvette:~/scratch/test4/test4Sup>more Makefile
TOP=..
include $(TOP)/configure/CONFIG
#=======================================
# Install .dbd and .db files
DB_INSTALLS += devtest4.db
DB_INSTALLS += $(TOP)/test4Sup/devtest4.proto
#=======================================
include $(TOP)/configure/RULES
**********************
The Makefile looks OK to me. I am not sure why the proto file has an explicit path, and the .db file did not, since they are in the same directory.
However, when I run it I get the following error:
**********************
corvette:~/scratch/test4/test4Sup>make
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
T_A=linux-x86_64 install
make[1]: Entering directory `/home/epics/scratch/test4/test4Sup/O.linux-x86_64'
make[1]: *** No rule to make target `devtest4.db', needed by `../../db/devtest4.db'. Stop.
make[1]: Leaving directory `/home/epics/scratch/test4/test4Sup/O.linux-x86_64'
make: *** [install.linux-x86_64] Error 2
**********************
If I change the Makefile to use DB rather than DB_INSTALLS for the first file, it works fine:
**********************
corvette:~/scratch/test4/test4Sup>more Makefile
TOP=..
include $(TOP)/configure/CONFIG
#=======================================
# Install .dbd and .db files
DB += devtest4.db
DB_INSTALLS += $(TOP)/test4Sup/devtest4.proto
#=======================================
include $(TOP)/configure/RULES
**********************
**********************
corvette:~/scratch/test4/test4Sup>make
perl -CSD /usr/local/epics-devel/base-7.0.6.1/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../..
perl -CSD /usr/local/epics-devel/base-7.0.6.1/bin/linux-x86_64/makeMakefile.pl O.vxWorks-ppc32 ../..
mkdir -p O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
T_A=linux-x86_64 install
make[1]: Entering directory `/home/epics/scratch/test4/test4Sup/O.linux-x86_64'
Installing ../../db/devtest4.db
mkdir ../../db
Installing ../../db/devtest4.proto
make[1]: Leaving directory `/home/epics/scratch/test4/test4Sup/O.linux-x86_64'
make -C O.vxWorks-ppc32 -f ../Makefile TOP=../.. \
T_A=vxWorks-ppc32 install
make[1]: Entering directory `/home/epics/scratch/test4/test4Sup/O.vxWorks-ppc32'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/home/epics/scratch/test4/test4Sup/O.vxWorks-ppc32'
**********************
It seems like DB_INSTALLS works if the file has a path, but does not work if the file is in the current directory?
This is base 7.0.6.1.
Mark
|