On Dec 1, 2010, at 12:00 PM, IOhannes m zmoelnig wrote:
during the debian packaging of externals i once more stumbled across
one
of my many problems with make, which i was never able to solve in a
satisfactory way.
it is:
the Makefile uses CFLAGS and LDFLAGS to set crucial flags to the build
process e.g. LDFLAGS uses "-Wl,--export-dynamic -shared" to build
shared
libraries (in our case: externals)
however, some meta build processes (like debian packaging) explicitely
set these FLAGS to what they think are good optimization/debugging
defaults
e.g. make get's called like
$ /usr/bin/make LDFLAGS="" CFLAGS="-I/usr/local/include"
this however effectively disables all the settings done within the
Makefile, which leads to not passing "-Wl,--export-dynamic -shared"
to
the linker, leading to a fatal error when linking.
what is the canonical way to use the passed FLAGS and at the same time
adding whatever is needed?
something like 'PD_LDFLAGS="-Wl,--export-dynamic -shared $(LDFLAGS)"'
and then consequently using $(PD_LDFLAGS) in the linking stage?
this is such a fundamental thing that i'm sure there has to be an
elegant solution to this but i never came across one.
the PD_LDFLAGS seems a bit like a kludge to me.
What optimization do you need to include in LDFLAGS? I can't think of
any. I think the best source of info for this would be to see what
Debian builders set as LDFLAGS.
But if you really want to have all the possibilities for overriding
things, then go with autotools, especially with automake. They
generate makefiles that have lots of room for customization. From my
point of view the Makefile template was never intended to work in all
situations, only simple libraries that don't have special dependencies.
.hc
----------------------------------------------------------------------------
Man has survived hitherto because he was too ignorant to know how to
realize his wishes. Now that he can realize them, he must either
change them, or perish. -William Carlos Williams
_______________________________________________
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev