Developing Custom Applications

All of the host applications and FPGA binaries we've built so far have been required a few different files. The first is a source code file that includes the kernel (key function) to be accelerated and usually other boilerplate code. The second is a makefile that includes instructions for the vitis compiler (v++) and other dependecies. These makefiles are typically generated by some sort of script, although I currently need to do more research as to how exactly these makefiles are generated. Two makefiles are required, one for building the host application and another for building the FPGA binaries (.xclbin).

Instead of using makefiles, an alternative approach to developing custom accelerated FPGA applications is to invoke the vitis compiler directly rather than create/generate a makefile. The Vitis Docs are the best source of information regarding custom applications, as the AWS instructions do not go into detail as to how the makefiles are created.