Re: Quick question on optional builds with automake
Hi Kent, Kent Mein [EMAIL PROTECTED] writes: Hi I'm working on converting blender (www.blender.org) To automake/autoconf etc... I have the first part mostly working (producing 1 binary) The next stage I'd like to do is get it to build a second binary only when I type make blenderplayer I'd also like to do a make webplugin (which will create a shared library) Any pointers on how to do this? From reading the docs I was guessing bin_PROGRAMS = blender extra_PROGRAMS = blenderplayer extra_LTLIBRARIES = blenderplugin.la That is one way to go about it. However, you'll not be able to install these programs/plugins using the normal 'make install'. So, depending on what you want to do, it may make more sense to change your 'configure.in' and 'Makefile.am' to support --enable-blenderplayer --enable-webplugin Then, the standard 'make make check make install' will do the right thing. - Hari -- Raja R Harinath -- [EMAIL PROTECTED]
NEED TO COMPLETE YOUR SOFTWARE PROJECT YESTERDAY?
If you're exhausted explaining your IT personnel about deadline scheduling, if the deadline breakings became ordinary thing for you, do not hesitate, consult us right now, and we answer you immediately! Simply reply to this email or write to [EMAIL PROTECTED] and we solve your problems in time. Boris Bortnikoff, President of Boris Bortnikoff Partners Software Development Company, Your trustworthy partner.
Re: automake 1.7.1 hangs while processing Makefile.am
On Tue, 3 Dec 2002, Alexandre Duret-Lutz wrote: [...] As a workaround I suggest you use _LDADD substitutions as suggested in the `Conditional Sources' section of the manual. Basically instead of playing with conditionals, you should just fill an AC_SUBSTed variable with the objects you want. test x$needs_mode_cat = xyes condobjs=$condobj mod_cat.$(OBJEXT) test x$needs_mode_cmp = xyes condobjs=$condobj mod_cmp.$(OBJEXT) test x$needs_mode_fix = xyes condobjs=$condobj mod_fix.$(OBJEXT) ... AC_SUBST([condobjs]) Then use $(condobjs) to fill shntool_LDADD and shntool_DEPENDENCIES in Makefile.am. Thank you, this worked like a charm. I also had to add all possible format source files to EXTRA_DIST so they would be included in the distribution. :) I've included my current Makefile.am below for reference, in case anyone is curious. It works fine with the latest automake 1.7.2. Thanks again for your help! -jason --- src/Makefile.am --- CORE_SOURCES = core_convert.c core_fileio.c core_misc.c core_output.c core_shntool.c core_wave.c GLUE_SOURCES = glue_modes.c glue_formats.c MODE_SOURCES_ALL = mode_cat.c mode_cmp.c mode_conv.c mode_fix.c mode_info.c mode_join.c mode_len.c mode_split.c mode_strip.c FORMAT_SOURCES_ALL = format_aiff.c format_ape.c format_flac.c format_lpac.c format_null.c format_ofr.c format_shn.c format_wav.c MODE_ALIASES_ALL = $(shell echo $(MODE_SOURCES_ALL) | sed -e 's/mode_//g' -e 's/\.c//g') MODE_ALIASES = @MODES_CONFIGURED@ MODULE_OBJS = @MODE_OBJS@ @FORMAT_OBJS@ bin_PROGRAMS = shntool shntool_SOURCES = $(CORE_SOURCES) nodist_shntool_SOURCES = $(GLUE_SOURCES) shntool_LDADD = $(MODULE_OBJS) shntool_DEPENDENCIES = $(MODULE_OBJS) EXTRA_DIST = $(MODE_SOURCES_ALL) $(FORMAT_SOURCES_ALL) install-exec-hook: for mode_alias in $(MODE_ALIASES_ALL) ; do \ test -e $(bindir)/shn$$mode_alias $(RM) $(bindir)/shn$$mode_alias ; \ done ; \ for mode_alias in $(MODE_ALIASES) ; do \ test -e $(bindir)/shn$$mode_alias || $(LN_S) $(PACKAGE) $(bindir)/shn$$mode_alias ; \ done distclean-local: $(RM) $(GLUE_SOURCES)