Hello, Tech-Talkers.
On Darwin, with EPICS Base 3.14.12.4, I'd like to create and install a C
header file that has some @VAR@ macros expanded using the INC, EXPAND,
and EXPAND_VARS build system variables as described in the EPICS Base
3.14 release notes, but the build fails with the following error:
===
make[3]: *** No rule to make target `../O.Common/favorites.h', needed by `inc'. Stop.
===
Here's how to reproduce the problem:
1. $ mkdir example
2. $ cd example
3. $ makeBaseApp.pl -t example example
4. Create the file exampleApp/src/favorites.h@ containing the line:
#define FAVCOLOR @FAVCOLOR@
5. Add the lines
EXPAND_VARS += FAVCOLOR=red
EXPAND += favorites.h@
INC += favorites.h
below the line "# ADD MACRO DEFINITIONS AFTER THIS LINE" in
exampleApp/src/Makefile:
$ vi exampleApp/src/Makefile
6. make
This produces the following output:
===
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./configure install
perl /opt/epics-3.14.12.4/bin/darwin-x86/makeMakefile.pl O.darwin-x86 ../..
mkdir O.Common
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C O.darwin-x86 -f ../Makefile TOP=../.. T_A=darwin-x86 install
perl /opt/epics-3.14.12.4/bin/darwin-x86/convertRelease.pl checkRelease
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./exampleApp install
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./src install
perl /opt/epics-3.14.12.4/bin/darwin-x86/makeMakefile.pl O.darwin-x86 ../../..
mkdir O.Common
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C O.darwin-x86 -f ../Makefile TOP=../../.. T_A=darwin-x86 install
perl /opt/epics-3.14.12.4/bin/darwin-x86/makeIncludeDbd.pl base.dbd xxxSupport.dbd dbSubExample.dbd exampleHello.dbd initTrace.dbd exampleInclude.dbd
echo "../O.Common/exampleInclude.dbd : ../Makefile" >> example.dbd.d
Expanding dbd
Installing dbd file ../../../dbd/xxxSupport.dbd
mkdir ../../../dbd
Installing created dbd file ../../../dbd/example.dbd
Installing dbd file ../../../dbd/xxxRecord.dbd
make[3]: *** No rule to make target `../O.Common/favorites.h', needed by `inc'. Stop.
make[2]: *** [install.darwin-x86] Error 2
make[1]: *** [src.install] Error 2
make: *** [exampleApp.install] Error 2
===
Am I doing something wrong, or is this broken?
I can achieve what I want by renaming favorites.h@ to favorites.h.in
and writing my own rule with the following four lines in
exampleApp/src/Makefile instead of the three listed above:
../O.Common/favorites.h: ../favorites.h.in
$(PERL) $(TOOLS)/expandVars.pl -t $(INSTALL_LOCATION) \
-D FAVCOLOR=red $< $@
INC += favorites.h
But it would be nice if I didn't need to do this.
Environment:
* Processor: 2.3 GHz Intel Core i7 (4 cores)
* Memory: 8 GB
* OS: Mac OS X 10.10.1
* EPICS Base 3.14.12.4 + Known Problems patches up to 2014-04-07
Architecture: darwin-x86
Architecture Class: x86_64
Thank you!
Lewis
- Replies:
- Re: Build system EXPAND not working with INC Andrew Johnson
- Navigate by Date:
- Prev:
Re: read status nin "" 0 error with Ana Malagon
- Next:
Re: Changing the Timeout for drvAsynSerialPort? Franklin Fuller
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: about signal generator's control Mark Rivers
- Next:
Re: Build system EXPAND not working with INC Andrew Johnson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|