Module: CmdLine
- Defined in:
- lib/akro.rb
Overview
Module with overrideable command line functions
Class Method Summary collapse
- .compile_base_cmdline(mode, src) ⇒ Object
- .compile_cmdline(mode, src, obj) ⇒ Object
- .dependency_cmdline(mode, src) ⇒ Object
- .dynamic_lib_cmdline(mode, objs, additional_params, bin) ⇒ Object
- .link_cmdline(mode, objs, bin) ⇒ Object
- .static_lib_cmdline(objs, bin) ⇒ Object
Class Method Details
.compile_base_cmdline(mode, src) ⇒ Object
135 136 137 138 139 140 141 |
# File 'lib/akro.rb', line 135 def CmdLine.compile_base_cmdline(mode, src) per_file_flags = $PER_FILE_COMPILE_FLAGS.call(mode, src) if per_file_flags.size() > 0 per_file_flags = " " + per_file_flags end "#{$COMPILER_PREFIX}#{$COMPILER} #{$COMPILE_FLAGS} #{$MODE_COMPILE_FLAGS[mode]}#{per_file_flags}" end |
.compile_cmdline(mode, src, obj) ⇒ Object
145 146 147 |
# File 'lib/akro.rb', line 145 def CmdLine.compile_cmdline(mode, src, obj) "#{CmdLine.compile_base_cmdline(mode, src)} -c #{src} -o #{obj}" end |
.dependency_cmdline(mode, src) ⇒ Object
142 143 144 |
# File 'lib/akro.rb', line 142 def CmdLine.dependency_cmdline(mode, src) "#{CmdLine.compile_base_cmdline(mode, src)} -M #{src}" end |
.dynamic_lib_cmdline(mode, objs, additional_params, bin) ⇒ Object
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/akro.rb', line 156 def CmdLine.dynamic_lib_cmdline(mode, objs, additional_params, bin) if !additional_params.nil? if additional_params.kind_of?(Array) extra_params = " " + objs.join(" ") elsif additional_params.respond_to?(:to_str) extra_params = " " + additional_params.to_str else raise "Additional params to a dynamic library must be either a string or an array of strings" end else extra_params = "" end soname = if bin.include?("/") then FileMapper.strip_mode(bin) else bin end "#{$LINKER_PREFIX}#{$COMPILER} -shared #{$COMPILE_FLAGS} #{$MODE_COMPILE_FLAGS[mode]} -Wl,-soname,#{soname} -o #{bin} #{objs.join(' ')}#{extra_params}" end |
.link_cmdline(mode, objs, bin) ⇒ Object
148 149 150 151 152 |
# File 'lib/akro.rb', line 148 def CmdLine.link_cmdline(mode, objs, bin) nomodebin = FileMapper.strip_mode(bin) per_file_flags = if $BIN_EXTRA_FLAGS.has_key?(nomodebin) then " " + $BIN_EXTRA_FLAGS[nomodebin] else "" end "#{$LINKER_PREFIX}#{$LINKER} #{$LINK_FLAGS} #{objs.join(' ')} #{$ADDITIONAL_LINK_FLAGS}#{per_file_flags} #{$MODE_LINK_FLAGS[mode]} -o #{bin}" end |
.static_lib_cmdline(objs, bin) ⇒ Object
153 154 155 |
# File 'lib/akro.rb', line 153 def CmdLine.static_lib_cmdline(objs, bin) "#{$AR} rcs #{bin} #{objs.join(' ')}" end |