mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-17 05:32:55 +08:00
bc735bbe22
- unified makefile project for the whole repos - new separate project for tests
29 lines
1.0 KiB
Ruby
29 lines
1.0 KiB
Ruby
require 'constants'
|
|
require 'file_path_utils'
|
|
|
|
|
|
desc "Build release target."
|
|
task RELEASE_SYM => [:directories] do
|
|
header = "Release build '#{File.basename(PROJECT_RELEASE_BUILD_TARGET)}'"
|
|
@ceedling[:streaminator].stdout_puts("\n\n#{header}\n#{'-' * header.length}")
|
|
|
|
begin
|
|
@ceedling[:plugin_manager].pre_release
|
|
|
|
core_objects = []
|
|
extra_objects = @ceedling[:file_path_utils].form_release_build_c_objects_filelist( COLLECTION_RELEASE_ARTIFACT_EXTRA_LINK_OBJECTS )
|
|
|
|
@ceedling[:project_config_manager].process_release_config_change
|
|
core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_c_objects( COLLECTION_ALL_SOURCE ) )
|
|
|
|
# if assembler use isn't enabled, COLLECTION_ALL_ASSEMBLY is empty array & nothing happens
|
|
core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_asm_objects( COLLECTION_ALL_ASSEMBLY ) )
|
|
|
|
file( PROJECT_RELEASE_BUILD_TARGET => (core_objects + extra_objects) )
|
|
Rake::Task[PROJECT_RELEASE_BUILD_TARGET].invoke
|
|
ensure
|
|
@ceedling[:plugin_manager].post_release
|
|
end
|
|
end
|
|
|