mcbuild 0.0.20 → 0.0.25
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mcbuild.rb +44 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 599ebcf5fb1a22decc4ed9c16cb970ab6a5a7196
|
4
|
+
data.tar.gz: 3f32fed9a52705a080ee18d5083c37b9d3242154
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de764a8d147f0fdc176bb18796e9192639210d4e254314b93ab21db18561894f9aa1fa0e97108a1a50c483ec61be9b1e5d6f45ca84be6438a5f08b6a2e7d672c
|
7
|
+
data.tar.gz: 9b5ea6411442dcb062f0624bd63e48b3f4d5804a7df0756e21ead6dc200bc932d4d01bf985c8101557bd9507d127730665a7b15bff72f3e45929b07363a284c7
|
data/lib/mcbuild.rb
CHANGED
@@ -2,6 +2,17 @@
|
|
2
2
|
require 'find'
|
3
3
|
require 'fileutils'
|
4
4
|
|
5
|
+
class MCTarget
|
6
|
+
def self.RaspberryPi2
|
7
|
+
#'armv7l-unknown-linux-gnueabihf'
|
8
|
+
'arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard'
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.MacOS
|
12
|
+
'x86_64-apple-darwin'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
5
16
|
class MCConfig
|
6
17
|
def self.support_machines
|
7
18
|
['x86_64', 'armv6', 'armv7', 'armv7s', 'arm64']
|
@@ -107,7 +118,8 @@ class MCBuild
|
|
107
118
|
end
|
108
119
|
|
109
120
|
def initialize(dir)
|
110
|
-
@
|
121
|
+
@target = ''
|
122
|
+
@mach = ''
|
111
123
|
@flags = MCBuild.detect_machine_macro
|
112
124
|
|
113
125
|
@d = remove_slash(dir)
|
@@ -168,6 +180,11 @@ class MCBuild
|
|
168
180
|
self
|
169
181
|
end
|
170
182
|
|
183
|
+
def set_target(target)
|
184
|
+
@target = target
|
185
|
+
self
|
186
|
+
end
|
187
|
+
|
171
188
|
def set_arch(arch)
|
172
189
|
@mach = arch
|
173
190
|
self
|
@@ -196,7 +213,7 @@ class MCBuild
|
|
196
213
|
def info
|
197
214
|
puts "Monk-C compiler use settings:"
|
198
215
|
puts "--------------------------------"
|
199
|
-
puts "
|
216
|
+
puts " CPU target -> #{@target}"
|
200
217
|
puts " C standard -> #{@std}"
|
201
218
|
puts " name -> #{@name}"
|
202
219
|
puts " filename extension -> #{@fext}"
|
@@ -286,14 +303,35 @@ class MCBuild
|
|
286
303
|
self
|
287
304
|
end
|
288
305
|
|
289
|
-
def
|
290
|
-
base = File.basename(file, ".c")
|
306
|
+
def compiler_command
|
291
307
|
cmd = "cc"
|
308
|
+
if @target != ''
|
309
|
+
cmd += " -target #{@target}"
|
310
|
+
end
|
292
311
|
if @mach != ''
|
293
312
|
cmd += " -arch #{@mach}"
|
294
313
|
end
|
295
314
|
cmd += " -std=#{@std}"
|
296
315
|
cmd += " #{@flags}"
|
316
|
+
cmd
|
317
|
+
end
|
318
|
+
|
319
|
+
def linker_command
|
320
|
+
cmd = "cc"
|
321
|
+
if @target != ''
|
322
|
+
cmd += " -target #{@target}"
|
323
|
+
end
|
324
|
+
if @mach != ''
|
325
|
+
cmd += " -arch #{@mach}"
|
326
|
+
end
|
327
|
+
#cmd += " -std=#{@std}"
|
328
|
+
#cmd += " #{@flags}"
|
329
|
+
cmd
|
330
|
+
end
|
331
|
+
|
332
|
+
def compile_file(file)
|
333
|
+
base = File.basename(file, ".c")
|
334
|
+
cmd = compiler_command
|
297
335
|
cmd += " -c -o #{@d}/#{@outpath}/#{base}#{@oext} #{file} #{@compile_arg}"
|
298
336
|
puts(cmd)
|
299
337
|
system(cmd)
|
@@ -329,7 +367,8 @@ class MCBuild
|
|
329
367
|
end
|
330
368
|
|
331
369
|
def archive_exe
|
332
|
-
cmd =
|
370
|
+
cmd = linker_command
|
371
|
+
cmd += " -o #{@d}/#{@outpath}/archive/#{@name} #{@d}/#{@outpath}/*#{@oext} #{@link_arg}"
|
333
372
|
puts(cmd)
|
334
373
|
system(cmd)
|
335
374
|
self
|