Simulink provides C-Mex S-Functions to bring in legacy C code into Simulink. There are several several ways to create S-Functions from existing C code. You should pick one based on the size of the project, the amount of control you require over the interaction between Simulink engine and the C Code, code generation requirements, etc,. Following are the ways in which you could create an S-Function from C code, listed in descending order of the amount of control they provide while creating the S-Function.
You could also use MATLAB Function Block to call C Code into Simulink. Since your project is large, this would not be a recommended way.