1 % Copyright (C) 2013 Czech Technical University in Prague
4 % - Carlos Jenkins <carlos@jenkins.co.cr>
6 % Permission is hereby granted, free of charge, to any person
7 % obtaining a copy of this software and associated documentation
8 % files (the "Software"), to deal in the Software without
9 % restriction, including without limitation the rights to use,
10 % copy, modify, merge, publish, distribute, sublicense, and/or sell
11 % copies of the Software, and to permit persons to whom the
12 % Software is furnished to do so, subject to the following
15 % The above copyright notice and this permission notice shall be
16 % included in all copies or substantial portions of the Software.
18 % THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 % EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20 % OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21 % NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22 % HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 % WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 % FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 % OTHER DEALINGS IN THE SOFTWARE.
27 % File : rpp_lib_support.m
29 % Simulink support for RPP library and operating system setup.
31 % DEPRECATED this file is no longer needed and no longer called.
32 % It was called by rpp_select_callback_handler.m and was used to include
33 % source code files in the build. RPP now uses an static library that can
34 % be found in the linker arguments in target_tools.mk. This file is left
35 % for future reference in case, for example, that the external mode support
36 % requires aditional files to be included in the build.
41 % Readme file in <RppRoot>/rpp/lib/rpp/doc/os.txt
44 function rpp_lib_support(modelName, buildInfo)
46 % FreeRTOS building support
47 rpp_freertos_support(modelName, buildInfo);
51 function rpp_freertos_support(modelName, buildInfo)
53 sources = {'croutine.c' , ...
62 % Get working directories
63 osLibRoot = fullfile(getpref('rpp', 'RppLibRoot'), 'rpp', 'src', 'os');
64 % TODO: get suffix from rpp.tlc BuildDirSuffix
65 modelRoot = Simulink.fileGenControl('getConfig').CodeGenFolder;
66 outputFolder = fullfile(modelRoot, [modelName, '_rpp']);
68 % Add sources to compilation
69 buildInfo.addSourceFiles(sources, osLibRoot);
71 % Copy dependency sources
73 copyfile(fullfile(osLibRoot , i{1}), ...
74 fullfile(outputFolder, i{1}));