Tell automake to put object files in subdirectories.
authorRalph Giles <giles@mozilla.com>
Tue, 2 Aug 2011 18:43:43 +0000 (11:43 -0700)
committerRalph Giles <giles@mozilla.com>
Tue, 2 Aug 2011 18:43:43 +0000 (11:43 -0700)
Previously the autotools build litered whatever directory
'make' was invoked from with intermediate files. Adding
'subdir-objects' to AUTOMAKE_OPTIONS tells it to put them
in subdirectories according to the relative paths to the
source files, .i.e. silk/schur.o for $(srcdir)/silk/schur.c

The change to autogen.sh is necessary to handle the
(apparently new) case where an AUTOMAKE_OPTIONS line is
given without a minimum version number.

Makefile.am
autogen.sh
configure.ac

index 76490f7..791b198 100644 (file)
@@ -1,3 +1,5 @@
+AUTOMAKE_OPTIONS = subdir-objects
+
 lib_LTLIBRARIES = libopus.la
 
 INCLUDES = -I$(top_srcdir)/libcelt -I$(top_srcdir)/silk -I$(top_srcdir)/silk/float -I$(top_srcdir)/silk/fixed
index 35cad67..60d6ef1 100755 (executable)
@@ -22,10 +22,14 @@ echo "checking for autoconf... "
 
 VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9]*\).*/\1/"
 VERSIONMKINT="sed -e s/[^0-9]//"
-                                                                                
+
 # do we need automake?
 if test -r Makefile.am; then
-  AM_NEEDED=`fgrep AUTOMAKE_OPTIONS Makefile.am | $VERSIONGREP`
+  AM_OPTIONS=`fgrep AUTOMAKE_OPTIONS Makefile.am`
+  AM_NEEDED=`echo $AM_OPTIONS | $VERSIONGREP`
+  if test "$AM_NEEDED" = "$AM_OPTIONS"; then
+    AM_NEEDED=""
+  fi
   if test -z $AM_NEEDED; then
     echo -n "checking for automake... "
     AUTOMAKE=automake
index 747623d..5a30778 100644 (file)
@@ -45,6 +45,7 @@ AM_MAINTAINER_MODE
 
 AC_CANONICAL_HOST
 AM_PROG_LIBTOOL
+AM_PROG_CC_C_O
 
 AC_PROG_CC_C99
 AC_C_BIGENDIAN