[Date Prev][Date Next][Date Index]

Re: copying synApps db's to my ioc app dir tree




re...,

'Dale L. Brewe' wrote:
> 
> When I build my ioc applications I'd like to get the databases I use from
> synApps directories (e.g. stdApp) and install them under my ioc application
> tree. However, if I try this I get for example, the following error
> 
> gmake[3]: *** No rule to make target
> `/home/epics3/Appl/synApps_4_4/support/std1-2/stdApp/Db/userCalcs10.db-stamp',
> needed by `build'.  Stop.
> 
> if I include the line
> 
> DB += $(STD)/stdApp/Db/userCalcs10.db
> 
> in Makefile.Host in myApp/Db. The dir in the message from gmake is the
> correct directory for the database. I can  get databases in myApp/Db to
> install correctly if I include a 'DB += ...' in Makefile.Host. I'm using
> epics base 3.13.7
> I'd appreciate it if someone could tell me what I'm doing wrong.

I think the Make rules weren't designed with this application in mind.
I never could get them to do it, in any case.  (I haven't tried since
3.13.1, though.)

Anyway, here's some code you can add to xxxApp/Db/Makefile.Host that
will
probably do what you want (it works for 3.13.5):




DB_COPY += $(STD)/stdApp/Db/userCalcs10.db
DB_COPY += ... whatever else you want to copy

...
#----------------------------------------
#  ADD RULES AFTER THIS LINE

ifneq '$(DB_COPY)' ''
build:: $(notdir $(DB_COPY))
endif

$(notdir $(DB_COPY)):
	@$(RM) $(addprefix $(INSTALL_DB)/, $(notdir $(DB_COPY)))
	@$(INSTALL) -d -m 644 $(DB_COPY) $(INSTALL_DB)




You could add the rule to config/RULES.Db instead of including
it in xxxApp/Db/Makefile.Host.

-- 
Tim Mooney (mooney@aps.anl.gov) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab