17.3. Letting SCons Handle The File Suffixes
Prev | Chapter 17. Extending SCons: 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 | Up | Next
17.2. Attaching a Builder to a Construction Environment | Home | 17.4. Builders That Execute Python Functions