Hi,

Consider the following example rule:

%.so: LIBNAME = $(shell echo $(notdir $(basename $@)) | sed s/lib// | \
        tr '[a-z]' '[A-Z]' | tr '/' '_')
%.so: DEPLIBS = $$($(LIBNAME)_DEPLIBS)
%.so: dirs
        @echo Linking shared library $(LIBNAME) ...
        $(CPPCOMP) $(CPARAMS) -Wl,--no-undefined -shared -o $@ -L$(OUTDIR) \
                -Wl,--gc-sections -Wl,--whole-archive -Wl,-static \
                $(addprefix -l, $(STATIC_LIBS)) \
                -Wl,--no-whole-archive -Wl,-call_shared $(DEPLIBS)

If it is applied to bin/libfoo.so, LIBNAME becomes FOO, DEPLIBS
becomes FOO_DEPLIBS, and final command works incorrectly because $$
expansions were not actually performed. Why are expansions skipped and
what can I do to get them working in this case?

Thanks,
- D.

_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to