Letting SCons Handle The File Suffixes

SCons User Guide 0.98.0
Prev | Chapter 17. Writing Your Own Builders | Next

# 17.3. Letting SCons Handle The File Suffixes

By supplying additional information when you create a `Builder`, you can let SCons add appropriate file suffixes to the target and/or the source file. For example, rather than having to specify explicitly that you want the `Foo` `Builder` to build the `file.foo` target file from the `file.input` source file, you can give the `.foo` and `.input` suffixes to the `Builder`, making for more compact and readable calls to the `Foo` `Builder`:

           bld = Builder(action = 'foobuild < $SOURCE > $TARGET',
                         suffix = '.foo',
                         src_suffix = '.input')
           env = Environment(BUILDERS = {'Foo' : bld})
           env.Foo('file1')
           env.Foo('file2')

          % scons -Q
          foobuild < file1.input > file1.foo
          foobuild < file2.input > file2.foo

You can also supply a `prefix` keyword argument if it's appropriate to have SCons append a prefix to the beginning of target file names.

Prev | Home | Next
Attaching a Builder to a `Construction Environment` | Up | Builders That Execute Python Functions