Hi Kidus,
Generating code for a model that has an S-function does require you to provide a TLC file. When a model is built, it assumes the generated code will be used in a MATLAB-free environment. Under that assumption, the coder needs to know how it can inline the code of your S-function in the generated C code. An S-function TLC file tells the coder how to do this.
There are many resources within the MATLAB documentation that can guide you on how to write TLC files for S-functions. I would recommend starting with this documentation page to learn more about inlining S-functions: https://www.mathworks.com/help/releases/R2017a/rtw/tlc/inlining-s-functions.html.
Another documentation page that would be helpful is this tutorial on creating TLC files for S-function blocks and generating code. https://www.mathworks.com/help/rtw/tlc/inlining-s-functions-with-tlc.html