diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py
index e9261822f053e4fca6075bc4f72ee484b661d791..d236a661f28c0af2acee83835ba4c25ee6b0510b 100644
--- a/var/spack/repos/builtin/packages/silo/package.py
+++ b/var/spack/repos/builtin/packages/silo/package.py
@@ -25,7 +25,7 @@
 from spack import *
 
 
-class Silo(Package):
+class Silo(AutotoolsPackage):
     """Silo is a library for reading and writing a wide variety of scientific
        data to binary, disk files."""
 
@@ -58,8 +58,14 @@ def flag_handler(self, name, flags):
             flags.append('-ldl')
         return (flags, None, None)
 
-    def install(self, spec, prefix):
+    def configure_args(self):
+        spec = self.spec
         config_args = [
+            '--with-hdf5=%s,%s' % (spec['hdf5'].prefix.include,
+                                   spec['hdf5'].prefix.lib),
+            '--with-zlib=%s,%s' % (spec['zlib'].prefix.include,
+                                   spec['zlib'].prefix.lib),
+            '--enable-install-lite-headers',
             '--enable-fortran' if '+fortran' in spec else '--disable-fortran',
             '--enable-silex' if '+silex' in spec else '--disable-silex',
             '--enable-shared' if '+shared' in spec else '--disable-shared',
@@ -79,14 +85,4 @@ def install(self, spec, prefix):
             config_args.append('CXX=%s' % spec['mpi'].mpicxx)
             config_args.append('FC=%s' % spec['mpi'].mpifc)
 
-        configure(
-            '--prefix=%s' % prefix,
-            '--with-hdf5=%s,%s' % (spec['hdf5'].prefix.include,
-                                   spec['hdf5'].prefix.lib),
-            '--with-zlib=%s,%s' % (spec['zlib'].prefix.include,
-                                   spec['zlib'].prefix.lib),
-            '--enable-install-lite-headers',
-            *config_args)
-
-        make()
-        make('install')
+        return config_args