In software engineering, retargeting is an attribute of software development tools that have been specifically designed to generate code for more than one computing platform. In software engineering, retargeting is an attribute of software development tools that have been specifically designed to generate code for more than one computing platform. A retargetable compiler is a compiler that has been designed to be relatively easy to modify to generate code for different CPU instruction set architectures. The history of this idea dates back to the 1950s when UNCOL was proposed as the universal intermediate language. The Pascal P-compiler is an example of an early widely used retargetable compiler.