On Fri, Jan 26, 2007 at 11:04:36PM -0800, David Byron wrote: > I'm trying to conditionally add a program-specific linker flag but I'm > having trouble. > > Part of my Makefile.am looks like this: > > noinst_PROGRAMS = zombie immOutTester testrunner > > # Use these flags for all the programs built here > LDADD = $(top_builddir)/util/util.a $(BOOST_LIBS) ${PTHREAD_LIBS} > > # testrunner needs testmain and some other things > testrunner_LDADD = $(top_builddir)/testmain/libtestmain.a $(BOOST_LIBS) > $(CPPUNIT_LIBS) $(GETOPT_LIBS) $(LDADD)
Well, I could be wrong about this, since I'm not an expert. But I do, testrunner_LDADD = -ltestmain $(BOOST_LIBS) $(CPPUNIT_LIBS) $(GETOPT_LIBS) $(LDADD) testrunner_LDFLAGS = -L$(top_builddir)/testmain don't know if that makes a big difference. > if PLATFORM_WINDOWS > testrunner_LDADD += $(top_builddir)/minidumper/libminidumper.a > testrunner_LDFLAGS = /ENTRY:testrunnerCRTStartup > LIBS += version.lib > endif Again, I would consider doing this very different. In autoconf, figure out if you are on windows with the AC_CANONICAL_TARGET, .. Then, in autoconf do an AC_SUBST of the LDFLAGS you are intested in for this platform. Then in you Makefile.am you can have testrunner_LDFLAGS = @TESTRUNNER_LDFLAGS@ Please take my advice with a grain of salt, not sure what your experience level is. Bob Rossi