### 17.1 Target Selection

A target is an object file format. A given target may be supported for multiple architectures (see Architecture Selection). A target selection may also have variations for different operating systems or architectures.

The command to list valid target values is ‘`objdump -i`’ (the first column of output contains the relevant information).

Some sample values are: ‘`a.out-hp300bsd`’, ‘`ecoff-littlemips`’, ‘`a.out-sunos-big`’.

You can also specify a target using a configuration triplet. This is the same sort of name that is passed to `configure` to specify a target. When you use a configuration triplet as an argument, it must be fully canonicalized. You can see the canonical version of a triplet by running the shell script `config.sub` which is included with the sources.

Some sample configuration triplets are: ‘`m68k-hp-bsd`’, ‘`mips-dec-ultrix`’, ‘`sparc-sun-sunos`’.

#### `objdump` Target

Ways to specify:

1. command-line option: `-b` or `--target`
2. environment variable `GNUTARGET`
3. deduced from the input file

#### `objcopy` and `strip` Input Target

Ways to specify:

1. command-line options: `-I` or `--input-target`, or `-F` or `--target`
2. environment variable `GNUTARGET`
3. deduced from the input file

#### `objcopy` and `strip` Output Target

Ways to specify:

1. command-line options: `-O` or `--output-target`, or `-F` or `--target`
2. the input target (see “`objcopy` and `strip` Input Target” above)
3. environment variable `GNUTARGET`
4. deduced from the input file

#### `nm`, `size`, and `strings` Target

Ways to specify:

1. command-line option: `--target`
2. environment variable `GNUTARGET`
3. deduced from the input file