1. A method, comprising: executing, using a processor, a makefile comprising a plurality of rules executable to control operation of a hardware compiler and a hardware linker for hardware implementation, wherein the rules include a plurality of command line switches and corresponding parameters; responsive to executing a first rule of the plurality of rules from the makefile using the processor, wherein the makefile specifies a source file comprising a kernel specified in a high level programming language, generating, by executing the hardware compiler, an intermediate file specifying a register transfer level implementation of the kernel, wherein the intermediate file is stored in a memory; and responsive to executing a second rule of the plurality of rules of the makefile using the processor, generating, by executing the hardware linker, a configuration bitstream for a target integrated circuit from the intermediate file, wherein the target integrated circuit is specified by a first command line switch of the plurality of command line switches and a corresponding parameter within the makefile; wherein the configuration bitstream comprises a compute unit circuit implementation of the kernel.