bake-toolkit 2.45.0 → 2.46.0
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 +4 -4
- data/lib/bake/model/metamodel.rb +2 -0
- data/lib/blocks/makefile.rb +33 -5
- data/lib/common/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d21d45b4900652c338212ddd0f76da254c4a45e2
|
4
|
+
data.tar.gz: d0c410d6a94440f08108a997ed5bcad489b779e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e51a9b81676a11436b76a9264eb998405947632f3d6fbf4e4d196b7bf339d410fafe35f121ae25459c85333eab59ffaaada760114f7df78cb3bc39ce0eaba7a3
|
7
|
+
data.tar.gz: c4d113d43a34a6b9ab467fbef15af7996caca4d8efd30b3e6fd26932d0f30e5eda447de8af070d6e8f6bdec87b701376d329babb86e78349821dcc56737cd176
|
data/lib/bake/model/metamodel.rb
CHANGED
@@ -198,6 +198,8 @@ module Bake
|
|
198
198
|
has_attr 'lib', String, :defaultValueLiteral => ""
|
199
199
|
has_attr 'target', String, :defaultValueLiteral => ""
|
200
200
|
has_attr 'pathTo', String, :defaultValueLiteral => ""
|
201
|
+
has_attr 'changeWorkingDir', Boolean, :defaultValueLiteral => "true"
|
202
|
+
has_attr 'noClean', Boolean, :defaultValueLiteral => "false"
|
201
203
|
contains_many 'flags', Flags, 'parent'
|
202
204
|
end
|
203
205
|
|
data/lib/blocks/makefile.rb
CHANGED
@@ -13,6 +13,7 @@ module Bake
|
|
13
13
|
|
14
14
|
def initialize(config, referencedConfigs, block)
|
15
15
|
@config = config
|
16
|
+
@tcs = block.tcs
|
16
17
|
@projectDir = config.get_project_dir
|
17
18
|
@path_to = ""
|
18
19
|
@flags = adjustFlags("",config.flags) if config.flags
|
@@ -21,16 +22,42 @@ module Bake
|
|
21
22
|
calcPathTo(referencedConfigs)
|
22
23
|
calcCommandLine
|
23
24
|
calcCleanLine
|
25
|
+
calcEnv
|
24
26
|
|
25
27
|
block.lib_elements << LibElement.new(LibElement::LIB_WITH_PATH, config.lib) if config.lib != ""
|
26
28
|
end
|
27
29
|
|
30
|
+
def calcEnv
|
31
|
+
@envs = {}
|
32
|
+
[:CPP, :C, :ASM].each do |type|
|
33
|
+
compiler = @tcs[:COMPILER][type]
|
34
|
+
defs = compiler[:DEFINES].map {|k| "#{compiler[:DEFINE_FLAG]}#{k}"}.join(" ")
|
35
|
+
args = [defs, compiler[:FLAGS]].reject(&:empty?).join(" ")
|
36
|
+
@envs["BAKE_#{type.to_s}_FLAGS"] = args
|
37
|
+
@envs["BAKE_#{type.to_s}_COMMAND"] = compiler[:COMMAND]
|
38
|
+
end
|
39
|
+
@envs["BAKE_AR_FLAGS"] = @tcs[:ARCHIVER][:FLAGS]
|
40
|
+
@envs["BAKE_LD_FLAGS"] = @tcs[:LINKER][:FLAGS]
|
41
|
+
@envs["BAKE_AR_COMMAND"] = @tcs[:ARCHIVER][:COMMAND]
|
42
|
+
@envs["BAKE_LD_COMMAND"] = @tcs[:LINKER][:COMMAND]
|
43
|
+
end
|
44
|
+
|
45
|
+
def fileAndDir
|
46
|
+
if @config.changeWorkingDir
|
47
|
+
return remove_empty_strings_and_join([
|
48
|
+
MAKE_DIR_FLAG, File.dirname(@makefile),
|
49
|
+
MAKE_FILE_FLAG, File.basename(@makefile)])
|
50
|
+
else
|
51
|
+
return remove_empty_strings_and_join([
|
52
|
+
MAKE_FILE_FLAG, @makefile])
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
28
56
|
def calcCommandLine
|
29
57
|
@commandLine = remove_empty_strings_and_join([
|
30
58
|
MAKE_COMMAND, @target,
|
31
59
|
@flags,
|
32
|
-
|
33
|
-
MAKE_FILE_FLAG, File.basename(@makefile),
|
60
|
+
fileAndDir,
|
34
61
|
@path_to])
|
35
62
|
end
|
36
63
|
|
@@ -38,8 +65,7 @@ module Bake
|
|
38
65
|
@cleanLine = remove_empty_strings_and_join([
|
39
66
|
MAKE_COMMAND, MAKE_CLEAN,
|
40
67
|
@flags,
|
41
|
-
|
42
|
-
MAKE_FILE_FLAG, File.basename(@makefile),
|
68
|
+
fileAndDir,
|
43
69
|
@path_to])
|
44
70
|
end
|
45
71
|
|
@@ -76,6 +102,7 @@ module Bake
|
|
76
102
|
|
77
103
|
def run
|
78
104
|
return true if Bake.options.linkOnly
|
105
|
+
@envs.each { |k,v| ENV[k] = v }
|
79
106
|
return executeCommand(@commandLine, nil, @config.validExitCodes, @config.echo)
|
80
107
|
end
|
81
108
|
|
@@ -92,7 +119,8 @@ module Bake
|
|
92
119
|
end
|
93
120
|
|
94
121
|
def do_clean
|
95
|
-
return true if Bake.options.linkOnly
|
122
|
+
return true if Bake.options.linkOnly || @config.noClean
|
123
|
+
@envs.each { |k,v| ENV[k] = v }
|
96
124
|
return executeCommand(@cleanLine, "No rule to make target 'clean'.", @config.validExitCodes, @config.echo) unless Bake.options.filename
|
97
125
|
end
|
98
126
|
|
data/lib/common/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bake-toolkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.46.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Schaal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rtext
|