When, in the makeBaseApp-generated example, in exampleApp/src/Makefile I
change
PROD_IOC = example
to
PROD_IOC_vxWorks = example
then the product no longer depends on neither sources nor libraries. I
can do e.g.
aragon: .../work/test > make -s
[...make builds everything...]
aragon: .../work/test > touch exampleApp/src/sncProgram.st
aragon: .../work/test > make -s
[...silence, nothing is done...]
aragon: .../work/test >
I suspect that the problem is in the generated MakefileInclude. Here is
a snippet:
ifeq ($(filter example,$(TESTPROD) $(PROD)),example)
ifeq (,$(strip $(example_OBJS) $(PRODUCT_OBJS)))
example_OBJS+=example$(OBJ)
endif
example_RESS+=$(addsuffix $(RES),$(basename $(example_RCS)))
example_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(example_OBJS)))
example_DEPLIBS=$(foreach lib, $(example_LDLIBS),\
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
$(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
example$(EXE): $(example_OBJSNAME) $(example_RESS) $(example_DEPLIBS)
endif
So example will depend on its libraries only if mentioned in either PROD
or TESTPROD, but not if mentioned only in e.g. PROD_IOC_vxWorks.
I have no idea what the outer ifeq...endif is good for; maybe it could
be removed?
Would be nice if this could be fixed before 3.14.9 comes out.
Cheers
Ben
--
To the functional programmer's eye a loop is just a degenerate
form of linear recursion written in an adhoc special syntax.
- Replies:
- Re: Bug in generated MakefileInclude? Janet Anderson
- Navigate by Date:
- Prev:
Re: C++ Exceptions from CAC-UDP on exit Andrew Johnson
- Next:
Re: Bug in generated MakefileInclude? Janet Anderson
- Index:
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: C++ Exceptions from CAC-UDP on exit Ernest L. Williams Jr.
- Next:
Re: Bug in generated MakefileInclude? Janet Anderson
- Index:
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|