rakeoe 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE +674 -0
- data/README.md +234 -0
- data/Rakefile +1 -0
- data/lib/rakeoe/app.rb +158 -0
- data/lib/rakeoe/binary_base.rb +492 -0
- data/lib/rakeoe/config.rb +93 -0
- data/lib/rakeoe/defaults.rb +45 -0
- data/lib/rakeoe/key_value_reader.rb +165 -0
- data/lib/rakeoe/lib.rb +100 -0
- data/lib/rakeoe/prj_file_cache.rb +119 -0
- data/lib/rakeoe/qt_settings.rb +88 -0
- data/lib/rakeoe/test_framework.rb +40 -0
- data/lib/rakeoe/toolchain/environment-arm-none-eabi +47 -0
- data/lib/rakeoe/toolchain/environment-arm-none-eabi.Linux +46 -0
- data/lib/rakeoe/toolchain/environment-arm-none-eabi.osx +46 -0
- data/lib/rakeoe/toolchain/environment-arm-stm32f072-eabi.Linux +46 -0
- data/lib/rakeoe/toolchain/environment-arm-stm32f072-eabi.osx +46 -0
- data/lib/rakeoe/toolchain.rb +457 -0
- data/lib/rakeoe/version.rb +3 -0
- data/lib/rakeoe.rb +94 -0
- data/rakeoe.gemspec +30 -0
- metadata +129 -0
@@ -0,0 +1,165 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
# TODO Write Test cases for class
|
4
|
+
|
5
|
+
module RakeOE
|
6
|
+
#
|
7
|
+
# Provides functions for accessing key/value variables out of a file.
|
8
|
+
# For every variable of that file a getter method to this class is auto generated
|
9
|
+
#
|
10
|
+
# Supported file conventions:
|
11
|
+
#
|
12
|
+
# var1 = val1
|
13
|
+
# var2 = val2
|
14
|
+
# export var3 = val3:val4:val5
|
15
|
+
# var4 = 'val6'
|
16
|
+
# var5 = "val7"
|
17
|
+
# "var6" = 'val8'
|
18
|
+
class KeyValueReader
|
19
|
+
attr_accessor :env
|
20
|
+
|
21
|
+
def initialize(env_file)
|
22
|
+
@file_name = env_file
|
23
|
+
@env = self.class.read_file(@file_name)
|
24
|
+
self.class.substitute_dollar_symbols!(@env)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Substitute all dollar values with either already parsed
|
28
|
+
# values or with system environment variables
|
29
|
+
def self.substitute_dollar_symbols!(env)
|
30
|
+
resolved_dollar_vars = env.each_with_object(Hash.new) do |var, obj|
|
31
|
+
# search for '$BLA..' identifier
|
32
|
+
pattern = /\$[[:alnum:]]+/
|
33
|
+
match = var[1].match(pattern)
|
34
|
+
if match
|
35
|
+
# remove '$' from match, we don't need it as key
|
36
|
+
key = match[0].gsub('$', '')
|
37
|
+
value = env[key] ? env[key] : ENV[key]
|
38
|
+
raise "No $#{key} found in environment" if value.nil?
|
39
|
+
|
40
|
+
obj[var[0]] = var[1].gsub(pattern, value)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
# overwrite old values with resolved values
|
44
|
+
env.merge!(resolved_dollar_vars)
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
# Read the given file and split according to expected key=value format
|
49
|
+
# Ignore empty lines or lines starting with a comment (#), ignores comments within a line
|
50
|
+
# Also removes quote characters ('")
|
51
|
+
#
|
52
|
+
# @param [String] file_name Filename to be used for operation
|
53
|
+
# @return [Hash] A hash containing all parsed key/value pairs
|
54
|
+
#
|
55
|
+
def self.read_file(file_name)
|
56
|
+
env = Hash.new
|
57
|
+
prev_key = String.new
|
58
|
+
|
59
|
+
File.readlines(file_name).each do |line|
|
60
|
+
line.strip!
|
61
|
+
next if line.start_with?('#')
|
62
|
+
next if line.empty?
|
63
|
+
|
64
|
+
# delete comments within line
|
65
|
+
line.gsub!(/#.*/, '')
|
66
|
+
|
67
|
+
key, *value = line.split('=')
|
68
|
+
next unless key
|
69
|
+
|
70
|
+
# remove 'export ', quotes and leading/trailing white space from line
|
71
|
+
key.gsub!(/^export\s*/, '')
|
72
|
+
key.gsub!(/["']*/, '')
|
73
|
+
key.strip!
|
74
|
+
|
75
|
+
unless value.empty?
|
76
|
+
prev_key = key
|
77
|
+
# We could have split multiple '=' in one line.
|
78
|
+
# Put back any "=" in the value part
|
79
|
+
# and concatenate split strings
|
80
|
+
val = value.join('=')
|
81
|
+
val.gsub!(/["'\n]*/, '')
|
82
|
+
env[key] = val.strip
|
83
|
+
else
|
84
|
+
if prev_key && !line.include?('=')
|
85
|
+
# multiline value: treat key as value and add to previous found key
|
86
|
+
env[prev_key] = "#{env[prev_key]} #{key}"
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
env
|
92
|
+
end
|
93
|
+
|
94
|
+
|
95
|
+
# Returns all keys (i.e. left handed side of the parsed key/values)
|
96
|
+
#
|
97
|
+
# @return [Array] all keys
|
98
|
+
#
|
99
|
+
def keys
|
100
|
+
@env.keys
|
101
|
+
end
|
102
|
+
|
103
|
+
|
104
|
+
# Returns all values (i.e. right handed side of the parsed key/values)
|
105
|
+
#
|
106
|
+
# @return [Array] all values
|
107
|
+
#
|
108
|
+
def values
|
109
|
+
@env.values
|
110
|
+
end
|
111
|
+
|
112
|
+
# Returns filename of read file
|
113
|
+
#
|
114
|
+
# @return [String] File name
|
115
|
+
#
|
116
|
+
def file
|
117
|
+
@file_name
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
# Returns the value belonging to key (right hand side), or empty string if no such value
|
122
|
+
#
|
123
|
+
# @param [String] key Key that should be used for operation
|
124
|
+
# @return [String] Value of given key
|
125
|
+
#
|
126
|
+
def get(key)
|
127
|
+
@env[key] || ''
|
128
|
+
end
|
129
|
+
|
130
|
+
|
131
|
+
# Sets a value for key
|
132
|
+
#
|
133
|
+
# @param [String] key Key that should be used for operation
|
134
|
+
# @param [String] value Value that should be used for operation
|
135
|
+
#
|
136
|
+
def set(key, value)
|
137
|
+
@env[key] = value
|
138
|
+
end
|
139
|
+
|
140
|
+
|
141
|
+
# Adds a value for key
|
142
|
+
#
|
143
|
+
# @param [String] key Key that should be used for operation
|
144
|
+
# @param [String] value Value that should be used for operation
|
145
|
+
#
|
146
|
+
def add(key, value)
|
147
|
+
if @env.has_key?(key)
|
148
|
+
@env[key] += value
|
149
|
+
else
|
150
|
+
set(key,value)
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
|
155
|
+
# Dumps all parsed variables as debugging aid
|
156
|
+
def dump
|
157
|
+
puts "#{@file_name}:"
|
158
|
+
@env.each_pair do |key, value|
|
159
|
+
puts "[#{key}]: #{value}"
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
end
|
164
|
+
|
165
|
+
end
|
data/lib/rakeoe/lib.rb
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
require 'rake'
|
3
|
+
require 'rakeoe/binary_base'
|
4
|
+
|
5
|
+
module RakeOE
|
6
|
+
# Finds all source codes in specified directory
|
7
|
+
# and encapsulates lib projects
|
8
|
+
class Lib < RakeOE::BinaryBase
|
9
|
+
attr_reader :binary
|
10
|
+
|
11
|
+
#
|
12
|
+
# The following parameters are expected in given hash params:
|
13
|
+
#
|
14
|
+
# @param [String] name Name of the library
|
15
|
+
# @param [String] settings Settings for library
|
16
|
+
# @param [Hash] toolchain Toolchain builder to use
|
17
|
+
#
|
18
|
+
def initialize(name, settings, toolchain)
|
19
|
+
super(:name => name,
|
20
|
+
:settings => settings,
|
21
|
+
:bin_dir => toolchain.settings['LIB_OUT'],
|
22
|
+
:toolchain => toolchain)
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
# Create all rules and tasks for the lib
|
27
|
+
def create
|
28
|
+
unless project_can_build?
|
29
|
+
disable_build
|
30
|
+
return
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "Create #{name}"
|
34
|
+
|
35
|
+
task name => [binary]
|
36
|
+
|
37
|
+
file binary => paths_of_local_libs + deps + objs + [@settings['PRJ_FILE']] do
|
38
|
+
tc.lib(:objects => objs,
|
39
|
+
:lib => binary,
|
40
|
+
:settings => @settings)
|
41
|
+
end
|
42
|
+
|
43
|
+
if test_objs.any? && (tc.config.test_fw.size > 0)
|
44
|
+
create_test_rules()
|
45
|
+
end
|
46
|
+
|
47
|
+
task name+'_clean' do
|
48
|
+
tc.rm (objs + deps + [binary]).join(' ')
|
49
|
+
end
|
50
|
+
|
51
|
+
# add library for the lib:all task
|
52
|
+
task :all => name unless tc.test_frameworks.include?(name)
|
53
|
+
|
54
|
+
# create build directory
|
55
|
+
directory build_dir
|
56
|
+
|
57
|
+
# create standard build rules
|
58
|
+
create_build_rules
|
59
|
+
|
60
|
+
CLEAN.include('*.o', build_dir)
|
61
|
+
CLEAN.include(binary, build_dir)
|
62
|
+
CLOBBER.include('*.d', build_dir)
|
63
|
+
end
|
64
|
+
|
65
|
+
|
66
|
+
# Create all rules and tasks
|
67
|
+
def create_test_rules
|
68
|
+
namespace 'test' do
|
69
|
+
# Build the library and execute tests
|
70
|
+
desc "Test #{name}"
|
71
|
+
task "#{name}" => test_binary do
|
72
|
+
tc.run(test_binary)
|
73
|
+
end
|
74
|
+
|
75
|
+
# Build the library, execute tests and write results to file
|
76
|
+
task "#{name}_junit" => test_binary do
|
77
|
+
tc.run_junit_test(test_binary)
|
78
|
+
end
|
79
|
+
|
80
|
+
# 'hidden' task just for building the test
|
81
|
+
task "#{name}_build" => test_binary
|
82
|
+
|
83
|
+
# main rule for the test binary
|
84
|
+
file test_binary => [@test_fw.binary_path] + [binary] + test_deps + test_objs do
|
85
|
+
prj_libs = search_libs(settings)
|
86
|
+
tc.test(:objects => test_objs,
|
87
|
+
:test => test_binary,
|
88
|
+
:libs => prj_libs[:all] + [name],
|
89
|
+
:framework => @test_fw.name,
|
90
|
+
:settings => @settings,
|
91
|
+
:includes => test_dirs)
|
92
|
+
end
|
93
|
+
CLEAN.include(test_binary, build_dir)
|
94
|
+
task :all => "#{name}"
|
95
|
+
task :junit => "#{name}_junit"
|
96
|
+
task :build => "#{name}_build"
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require 'rake'
|
4
|
+
|
5
|
+
|
6
|
+
module RakeOE
|
7
|
+
|
8
|
+
# Finds all project files and reads them into memory
|
9
|
+
# Maps project path => project file
|
10
|
+
# XXX DS: IDEA: generate all runtime dependencies at the beginning for each prj,
|
11
|
+
# XXX DS: e.g. lib includes, source files, dependency files etc. and cache those as own variable in @prj_list
|
12
|
+
class PrjFileCache
|
13
|
+
|
14
|
+
# Introduce hash of projects. Contains list of project with key 'PRJ_TYPE'
|
15
|
+
@prj_list = {}
|
16
|
+
|
17
|
+
#
|
18
|
+
# GENERIC METHODS
|
19
|
+
#
|
20
|
+
|
21
|
+
# Search, read and parse all project files in given directories and add them to prj_list according
|
22
|
+
# to their PRJ_TYPE setting.
|
23
|
+
# @param dirs List of directories to search recursively for prj.rake files
|
24
|
+
#
|
25
|
+
def self.sweep_recursive(dirs=[])
|
26
|
+
globs = dirs.map{|dir| dir+'/**/prj.rake'}
|
27
|
+
all_prj_files = FileList[globs]
|
28
|
+
raise "No projects inside #{dirs}?!" if all_prj_files.empty?
|
29
|
+
|
30
|
+
all_prj_files.each do |file|
|
31
|
+
# extract last path from prj.rake as project name
|
32
|
+
dir = File.dirname(file)
|
33
|
+
name = File.basename(dir)
|
34
|
+
kvr = KeyValueReader.new(file)
|
35
|
+
prj_type = kvr.get('PRJ_TYPE')
|
36
|
+
|
37
|
+
raise "Attribute PRJ_TYPE not set in #{dir}/prj.rake" if prj_type.empty?
|
38
|
+
|
39
|
+
# add attribute PRJ_HOME
|
40
|
+
kvr.set('PRJ_HOME', dir)
|
41
|
+
kvr.set('PRJ_FILE', file)
|
42
|
+
@prj_list[prj_type] ||= {}
|
43
|
+
if @prj_list[prj_type].member?(name)
|
44
|
+
raise "#{dir}/prj.rake: project \"#{name}\" for PRJ_TYPE \'#{prj_type}\' already defined in #{@prj_list[prj_type][name]['PRJ_HOME']}"
|
45
|
+
# XXX we should use a new attribute PRJ_NAME for conflicting project names ...
|
46
|
+
end
|
47
|
+
|
48
|
+
@prj_list[prj_type].merge!({name => kvr.env})
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
# Returns specific value of a setting of the specified
|
54
|
+
# project
|
55
|
+
def self.get(prj_type, prj_name, setting)
|
56
|
+
return nil unless self.contain?(prj_type, prj_name)
|
57
|
+
@prj_list[prj_type][prj_name][setting] || nil
|
58
|
+
end
|
59
|
+
|
60
|
+
|
61
|
+
# Do we know anything about prj_name ?
|
62
|
+
def self.contain?(prj_type, prj_name)
|
63
|
+
return false unless @prj_list.has_key?(prj_type)
|
64
|
+
@prj_list[prj_type].has_key?(prj_name)
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
# Returns all found project names
|
69
|
+
def self.project_names(prj_type)
|
70
|
+
return [] unless @prj_list.has_key?(prj_type)
|
71
|
+
@prj_list[prj_type].keys
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
# Returns the directory in which the prj is
|
76
|
+
def self.directory(prj_type, prj_name)
|
77
|
+
return nil unless self.contain?(prj_type, prj_name)
|
78
|
+
@prj_list[prj_type][prj_name]['PRJ_HOME']
|
79
|
+
end
|
80
|
+
|
81
|
+
|
82
|
+
def self.for_each(prj_type, &block)
|
83
|
+
return unless @prj_list.has_key?(prj_type)
|
84
|
+
@prj_list[prj_type].each_pair &block
|
85
|
+
end
|
86
|
+
|
87
|
+
#
|
88
|
+
# SEMANTIC METHODS
|
89
|
+
#
|
90
|
+
|
91
|
+
# Returns exported include directories of a library project.
|
92
|
+
# If given name does not exist in local library projects, an empty array
|
93
|
+
# is returned.
|
94
|
+
#
|
95
|
+
# @param name name of library
|
96
|
+
#
|
97
|
+
# @return exported library includes
|
98
|
+
#
|
99
|
+
def self.exported_lib_incs(name)
|
100
|
+
rv = []
|
101
|
+
# try LIB
|
102
|
+
exported_inc_dirs = self.get('LIB', name, 'EXPORTED_INC_DIRS')
|
103
|
+
if exported_inc_dirs.to_s.empty?
|
104
|
+
# try SOLIB
|
105
|
+
exported_inc_dirs = self.get('SOLIB', name, 'EXPORTED_INC_DIRS')
|
106
|
+
unless exported_inc_dirs.to_s.empty?
|
107
|
+
rv << self.get('SOLIB', name, 'PRJ_HOME') + '/' + dir
|
108
|
+
end
|
109
|
+
else
|
110
|
+
exported_inc_dirs.split.each do |dir|
|
111
|
+
rv << self.get('LIB', name, 'PRJ_HOME') + '/' + dir
|
112
|
+
end
|
113
|
+
end
|
114
|
+
rv
|
115
|
+
end
|
116
|
+
|
117
|
+
|
118
|
+
end
|
119
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
module RakeOE
|
4
|
+
|
5
|
+
#
|
6
|
+
# Qt specific compilation and linker settings
|
7
|
+
#
|
8
|
+
|
9
|
+
class QtSettings
|
10
|
+
# @return [String] Library infix dependent on if either Qt Embedded is used or Desktop Qt
|
11
|
+
attr_accessor :lib_infix
|
12
|
+
|
13
|
+
# @param [Toolchain] toolchain The toolchain used
|
14
|
+
def initialize(toolchain)
|
15
|
+
@tc = toolchain
|
16
|
+
@qt_file_macros = %w[OE_QMAKE_MOC OE_QMAKE_UIC OE_QMAKE_UIC3 OE_QMAKE_RCC OE_QMAKE_QDBUSCPP2XML OE_QMAKE_QDBUSXML2CPP OE_QMAKE_QT_CONFIG ]
|
17
|
+
@qt_path_macros = %w[OE_QMAKE_LIBDIR_QT OE_QMAKE_INCDIR_QT QMAKESPEC]
|
18
|
+
@checked = false
|
19
|
+
if check_once
|
20
|
+
@cfg_file = read_config(@tc.settings['OE_QMAKE_QT_CONFIG'])
|
21
|
+
if @cfg_file
|
22
|
+
@lib_infix = @cfg_file.env['QT_LIBINFIX']
|
23
|
+
else
|
24
|
+
@lib_infix = ''
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# Check if all mandatory files and paths are present
|
30
|
+
def check
|
31
|
+
@prerequisites_resolved = true
|
32
|
+
@qt_file_macros.each do |macro|
|
33
|
+
macro_value = @tc.settings[macro]
|
34
|
+
if macro_value && !File.exist?(macro_value)
|
35
|
+
@prerequisites_resolved = false
|
36
|
+
end
|
37
|
+
end
|
38
|
+
@qt_path_macros.each do |macro|
|
39
|
+
macro_value = @tc.settings[macro]
|
40
|
+
if macro_value && !Dir.exist?(macro_value)
|
41
|
+
@prerequisites_resolved = false
|
42
|
+
end
|
43
|
+
end
|
44
|
+
@checked = true
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
# Check only once our sanity
|
49
|
+
#
|
50
|
+
# @return [bool] true if already checked or false if not
|
51
|
+
def check_once
|
52
|
+
check unless @checked
|
53
|
+
@prerequisites_resolved
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
# Reads and parses the qt configuration
|
58
|
+
#
|
59
|
+
# @param [String] file Filename of qt configuration file
|
60
|
+
# @return [KeyValueReader] Parsed configuration file accessible via properties
|
61
|
+
def read_config(file)
|
62
|
+
if file && !file.empty?
|
63
|
+
KeyValueReader.new(file)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# Returns the cflags configuration for the Qt compilation
|
68
|
+
# @return [String] cflags used for compilation qt files
|
69
|
+
def cflags
|
70
|
+
" -I#{@tc.settings['OE_QMAKE_INCDIR_QT']} -I#{@tc.settings['OE_QMAKE_INCDIR_QT']}/QtCore -I#{@tc.settings['OE_QMAKE_INCDIR_QT']}/Qt -I#{@tc.settings['OE_QMAKE_INCDIR_QT']}/QtNetwork -I#{@tc.settings['OE_QMAKE_INCDIR_QT']}/QtDBus"
|
71
|
+
end
|
72
|
+
|
73
|
+
# Returns the ldflags configuration for the Qt linkage
|
74
|
+
# @return [String] ldflags used for linking qt applications
|
75
|
+
def ldflags
|
76
|
+
" -L#{@tc.settings['OE_QMAKE_LIBDIR_QT']}"
|
77
|
+
end
|
78
|
+
|
79
|
+
# Returns the libs used for the Qt application linkage
|
80
|
+
# @return [String] Libraries used for linking qt apps. These are QtCore and QtNetwork by default.
|
81
|
+
# Add more libraries inside your project specific rake file if you need more.
|
82
|
+
def libs
|
83
|
+
" QtCore#{@lib_infix} QtNetwork#{@lib_infix} QtDBus#{@lib_infix}"
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module RakeOE
|
2
|
+
|
3
|
+
class TestFramework
|
4
|
+
|
5
|
+
#
|
6
|
+
# Initialize framework
|
7
|
+
#
|
8
|
+
# Example parameters
|
9
|
+
# {
|
10
|
+
# :name => 'CUnit',
|
11
|
+
# :binary_path => @env['LIB_OUT']
|
12
|
+
# :include_dir => lib_dir(name)
|
13
|
+
# :cflags => ''
|
14
|
+
# }
|
15
|
+
def initialize(params)
|
16
|
+
@params = params
|
17
|
+
end
|
18
|
+
|
19
|
+
def name
|
20
|
+
@params[:name]
|
21
|
+
end
|
22
|
+
|
23
|
+
# Returns test framework binary path
|
24
|
+
def binary_path
|
25
|
+
@params[:binary_path]
|
26
|
+
end
|
27
|
+
|
28
|
+
# Returns test framework include path
|
29
|
+
def include
|
30
|
+
@params[:include_dir]
|
31
|
+
end
|
32
|
+
|
33
|
+
# Return test framework specific compilation flags
|
34
|
+
def cflags
|
35
|
+
@params[:cflags]
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
export PATH="c:\stm32-tools\gcc-4.7\bin;$PATH"
|
2
|
+
export PKG_CONFIG_SYSROOT_DIR=
|
3
|
+
export PKG_CONFIG_PATH=
|
4
|
+
export CONFIG_SITE=
|
5
|
+
export CC="arm-none-eabi-gcc"
|
6
|
+
export CXX="arm-none-eabi-g++"
|
7
|
+
export CPP="arm-none-eabi-gcc -E"
|
8
|
+
export AS="arm-none-eabi-as"
|
9
|
+
export LD="arm-none-eabi-ld"
|
10
|
+
export GDB="arm-none-eabi-gdb"
|
11
|
+
export STRIP="arm-none-eabi-strip"
|
12
|
+
export RANLIB="arm-none-eabi-ranlib"
|
13
|
+
export OBJCOPY="arm-none-eabi-objcopy"
|
14
|
+
export OBJDUMP="arm-none-eabi-objdump"
|
15
|
+
export AR="arm-none-eabi-ar"
|
16
|
+
export NM="arm-none-eabi-nm"
|
17
|
+
export SIZE="arm-none-eabi-size"
|
18
|
+
export M4=
|
19
|
+
export TARGET_PREFIX=arm-
|
20
|
+
export CONFIGURE_FLAGS=
|
21
|
+
export CFLAGS=" -std=gnu99 -mcpu=cortex-m0 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -D__ASSEMBLY__"
|
22
|
+
export CXXFLAGS=" -mcpu=cortex-m0 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -D__ASSEMBLY__"
|
23
|
+
#export LDFLAGS=' -mcpu=cortex-m0 -mthumb -g -nostartfiles -Wl,--gc-sections --specs=nano.specs'
|
24
|
+
export LDFLAGS=' -mcpu=cortex-m0 -mthumb -g -nostartfiles -Wl,--gc-sections'
|
25
|
+
export CPPFLAGS=
|
26
|
+
export OECORE_NATIVE_SYSROOT=
|
27
|
+
export OECORE_TARGET_SYSROOT=
|
28
|
+
export OECORE_ACLOCAL_OPTS=
|
29
|
+
export OECORE_DISTRO_VERSION=
|
30
|
+
export OECORE_SDK_VERSION=
|
31
|
+
export OE_QMAKE_CFLAGS=
|
32
|
+
export OE_QMAKE_CXXFLAGS=
|
33
|
+
export OE_QMAKE_LDFLAGS=
|
34
|
+
export OE_QMAKE_CC=
|
35
|
+
export OE_QMAKE_CXX=
|
36
|
+
export OE_QMAKE_LINK=
|
37
|
+
export OE_QMAKE_AR=
|
38
|
+
export OE_QMAKE_LIBDIR_QT=
|
39
|
+
export OE_QMAKE_INCDIR_QT=
|
40
|
+
export OE_QMAKE_MOC=
|
41
|
+
export OE_QMAKE_UIC=
|
42
|
+
export OE_QMAKE_UIC3=
|
43
|
+
export OE_QMAKE_RCC=
|
44
|
+
export OE_QMAKE_QDBUSCPP2XML=
|
45
|
+
export OE_QMAKE_QDBUSXML2CPP=
|
46
|
+
export OE_QMAKE_QT_CONFIG=
|
47
|
+
export QMAKESPEC=
|
@@ -0,0 +1,46 @@
|
|
1
|
+
export PATH="/opt/gcc-arm-none-eabi-4_7-2013q3/bin:$PATH"
|
2
|
+
export PKG_CONFIG_SYSROOT_DIR=
|
3
|
+
export PKG_CONFIG_PATH=
|
4
|
+
export CONFIG_SITE=
|
5
|
+
export CC="arm-none-eabi-gcc"
|
6
|
+
export CXX="arm-none-eabi-g++"
|
7
|
+
export CPP="arm-none-eabi-gcc -E"
|
8
|
+
export AS="arm-none-eabi-as"
|
9
|
+
export LD="arm-none-eabi-ld"
|
10
|
+
export GDB="arm-none-eabi-gdb"
|
11
|
+
export STRIP="arm-none-eabi-strip"
|
12
|
+
export RANLIB="arm-none-eabi-ranlib"
|
13
|
+
export OBJCOPY="arm-none-eabi-objcopy"
|
14
|
+
export OBJDUMP="arm-none-eabi-objdump"
|
15
|
+
export AR="arm-none-eabi-ar"
|
16
|
+
export NM="arm-none-eabi-nm"
|
17
|
+
export SIZE="arm-none-eabi-size"
|
18
|
+
export M4=
|
19
|
+
export TARGET_PREFIX=arm-none-eabi-
|
20
|
+
export CONFIGURE_FLAGS=
|
21
|
+
export CFLAGS=" -std=gnu99 -mcpu=cortex-m0 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -D__ASSEMBLY__"
|
22
|
+
export CXXFLAGS=" -mcpu=cortex-m0 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -D__ASSEMBLY__"
|
23
|
+
export LDFLAGS=' -mcpu=cortex-m0 -mthumb -g -nostartfiles -Wl,--gc-sections -Xlinker -Tlinker/stm32f0_linker.ld'
|
24
|
+
export CPPFLAGS=
|
25
|
+
export OECORE_NATIVE_SYSROOT=
|
26
|
+
export OECORE_TARGET_SYSROOT=
|
27
|
+
export OECORE_ACLOCAL_OPTS=
|
28
|
+
export OECORE_DISTRO_VERSION=
|
29
|
+
export OECORE_SDK_VERSION=
|
30
|
+
export OE_QMAKE_CFLAGS=
|
31
|
+
export OE_QMAKE_CXXFLAGS=
|
32
|
+
export OE_QMAKE_LDFLAGS=
|
33
|
+
export OE_QMAKE_CC=
|
34
|
+
export OE_QMAKE_CXX=
|
35
|
+
export OE_QMAKE_LINK=
|
36
|
+
export OE_QMAKE_AR=
|
37
|
+
export OE_QMAKE_LIBDIR_QT=
|
38
|
+
export OE_QMAKE_INCDIR_QT=
|
39
|
+
export OE_QMAKE_MOC=
|
40
|
+
export OE_QMAKE_UIC=
|
41
|
+
export OE_QMAKE_UIC3=
|
42
|
+
export OE_QMAKE_RCC=
|
43
|
+
export OE_QMAKE_QDBUSCPP2XML=
|
44
|
+
export OE_QMAKE_QDBUSXML2CPP=
|
45
|
+
export OE_QMAKE_QT_CONFIG=
|
46
|
+
export QMAKESPEC=
|
@@ -0,0 +1,46 @@
|
|
1
|
+
export PATH="/Users/dschnell/install/gcc-arm-none-eabi-4_7-2013q3/bin/:$PATH"
|
2
|
+
export PKG_CONFIG_SYSROOT_DIR=
|
3
|
+
export PKG_CONFIG_PATH=
|
4
|
+
export CONFIG_SITE=
|
5
|
+
export CC="arm-none-eabi-gcc"
|
6
|
+
export CXX="arm-none-eabi-g++"
|
7
|
+
export CPP="arm-none-eabi-gcc -E"
|
8
|
+
export AS="arm-none-eabi-as"
|
9
|
+
export LD="arm-none-eabi-ld"
|
10
|
+
export GDB="arm-none-eabi-gdb"
|
11
|
+
export STRIP="arm-none-eabi-strip"
|
12
|
+
export RANLIB="arm-none-eabi-ranlib"
|
13
|
+
export OBJCOPY="arm-none-eabi-objcopy"
|
14
|
+
export OBJDUMP="arm-none-eabi-objdump"
|
15
|
+
export AR="arm-none-eabi-ar"
|
16
|
+
export NM="arm-none-eabi-nm"
|
17
|
+
export SIZE="arm-none-eabi-size"
|
18
|
+
export M4=
|
19
|
+
export TARGET_PREFIX=arm-none-eabi-
|
20
|
+
export CONFIGURE_FLAGS=
|
21
|
+
export CFLAGS=" -std=gnu99 -mcpu=cortex-m0 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -D__ASSEMBLY__"
|
22
|
+
export CXXFLAGS=" -mcpu=cortex-m0 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -D__ASSEMBLY__"
|
23
|
+
export LDFLAGS=' -mcpu=cortex-m0 -mthumb -g -nostartfiles -Wl,--gc-sections -Xlinker -Tlinker/stm32f0_linker.ld'
|
24
|
+
export CPPFLAGS=
|
25
|
+
export OECORE_NATIVE_SYSROOT=
|
26
|
+
export OECORE_TARGET_SYSROOT=
|
27
|
+
export OECORE_ACLOCAL_OPTS=
|
28
|
+
export OECORE_DISTRO_VERSION=
|
29
|
+
export OECORE_SDK_VERSION=
|
30
|
+
export OE_QMAKE_CFLAGS=
|
31
|
+
export OE_QMAKE_CXXFLAGS=
|
32
|
+
export OE_QMAKE_LDFLAGS=
|
33
|
+
export OE_QMAKE_CC=
|
34
|
+
export OE_QMAKE_CXX=
|
35
|
+
export OE_QMAKE_LINK=
|
36
|
+
export OE_QMAKE_AR=
|
37
|
+
export OE_QMAKE_LIBDIR_QT=
|
38
|
+
export OE_QMAKE_INCDIR_QT=
|
39
|
+
export OE_QMAKE_MOC=
|
40
|
+
export OE_QMAKE_UIC=
|
41
|
+
export OE_QMAKE_UIC3=
|
42
|
+
export OE_QMAKE_RCC=
|
43
|
+
export OE_QMAKE_QDBUSCPP2XML=
|
44
|
+
export OE_QMAKE_QDBUSXML2CPP=
|
45
|
+
export OE_QMAKE_QT_CONFIG=
|
46
|
+
export QMAKESPEC=
|
@@ -0,0 +1,46 @@
|
|
1
|
+
export PATH="/opt/gcc-arm-none-eabi-4_8-2013q4/bin:$PATH"
|
2
|
+
export PKG_CONFIG_SYSROOT_DIR=
|
3
|
+
export PKG_CONFIG_PATH=
|
4
|
+
export CONFIG_SITE=
|
5
|
+
export CC="arm-none-eabi-gcc"
|
6
|
+
export CXX="arm-none-eabi-g++"
|
7
|
+
export CPP="arm-none-eabi-gcc -E"
|
8
|
+
export AS="arm-none-eabi-as"
|
9
|
+
export LD="arm-none-eabi-ld"
|
10
|
+
export GDB="arm-none-eabi-gdb"
|
11
|
+
export STRIP="arm-none-eabi-strip"
|
12
|
+
export RANLIB="arm-none-eabi-ranlib"
|
13
|
+
export OBJCOPY="arm-none-eabi-objcopy"
|
14
|
+
export OBJDUMP="arm-none-eabi-objdump"
|
15
|
+
export AR="arm-none-eabi-ar"
|
16
|
+
export NM="arm-none-eabi-nm"
|
17
|
+
export SIZE="arm-none-eabi-size"
|
18
|
+
export M4=
|
19
|
+
export TARGET_PREFIX=arm-none-eabi-
|
20
|
+
export CONFIGURE_FLAGS=
|
21
|
+
export CFLAGS=" -std=gnu99 -mcpu=cortex-m0 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -D__ASSEMBLY__ -DSTM32F072X -DSTM32F072"
|
22
|
+
export CXXFLAGS=" -mcpu=cortex-m0 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -D__ASSEMBLY__"
|
23
|
+
export LDFLAGS=' -mcpu=cortex-m0 -mthumb -g -nostartfiles -Wl,--gc-sections -Xlinker -Tlinker/stm32f072_linker.ld'
|
24
|
+
export CPPFLAGS=
|
25
|
+
export OECORE_NATIVE_SYSROOT=
|
26
|
+
export OECORE_TARGET_SYSROOT=
|
27
|
+
export OECORE_ACLOCAL_OPTS=
|
28
|
+
export OECORE_DISTRO_VERSION=
|
29
|
+
export OECORE_SDK_VERSION=
|
30
|
+
export OE_QMAKE_CFLAGS=
|
31
|
+
export OE_QMAKE_CXXFLAGS=
|
32
|
+
export OE_QMAKE_LDFLAGS=
|
33
|
+
export OE_QMAKE_CC=
|
34
|
+
export OE_QMAKE_CXX=
|
35
|
+
export OE_QMAKE_LINK=
|
36
|
+
export OE_QMAKE_AR=
|
37
|
+
export OE_QMAKE_LIBDIR_QT=
|
38
|
+
export OE_QMAKE_INCDIR_QT=
|
39
|
+
export OE_QMAKE_MOC=
|
40
|
+
export OE_QMAKE_UIC=
|
41
|
+
export OE_QMAKE_UIC3=
|
42
|
+
export OE_QMAKE_RCC=
|
43
|
+
export OE_QMAKE_QDBUSCPP2XML=
|
44
|
+
export OE_QMAKE_QDBUSXML2CPP=
|
45
|
+
export OE_QMAKE_QT_CONFIG=
|
46
|
+
export QMAKESPEC=
|