add gerber support for multiple targets

This commit is contained in:
Kevin Redon 2014-03-26 12:55:51 +01:00
parent 0da4b8167c
commit 1492d2393b
1 changed files with 12 additions and 11 deletions

View File

@ -38,8 +38,7 @@ end
# ========== # ==========
desc "main building task" desc "main building task"
#task :default => [:version,:print,:notes,:photo,:gerber] task :default => [:version,:print,:notes,:photo,:gerber]
task :default => [:version,:print,:notes,:photo]
desc "create release file" desc "create release file"
release = "hardware-release_v#{version}.tar.gz" release = "hardware-release_v#{version}.tar.gz"
@ -95,12 +94,13 @@ desc "render layout"
task :photo => photos task :photo => photos
CLOBBER.include(photos) CLOBBER.include(photos)
=begin
GERBERS = [".top.gbr",".topmask.gbr",".toppaste.gbr",".topsilk.gbr",".bottom.gbr",".bottommask.gbr",".bottompaste.gbr",".bottomsilk.gbr",".outline.gbr",".fab.gbr",".plated-drill.cnc",".unplated-drill.cnc"].collect{|suffix| target+suffix}
desc "export gerber" desc "export gerber"
task :gerber => GERBERS GERBERS = [".top.gbr",".topmask.gbr",".toppaste.gbr",".topsilk.gbr",".bottom.gbr",".bottommask.gbr",".bottompaste.gbr",".bottomsilk.gbr",".outline.gbr",".fab.gbr",".plated-drill.cnc",".unplated-drill.cnc"]
CLOBBER.include(GERBERS) gerbers = targets.collect{|target| GERBERS.collect{|suffix| target[:name]+suffix}}.flatten
task :gerber => gerbers
CLOBBER.include(gerbers)
=begin
desc "reformat gerber and drill output (some programs like LPKF CircuitPro have difficulties with gEDA pcb output)" desc "reformat gerber and drill output (some programs like LPKF CircuitPro have difficulties with gEDA pcb output)"
task :reformat => GERBERS do task :reformat => GERBERS do
GERBERS.each do |gerber| GERBERS.each do |gerber|
@ -232,15 +232,16 @@ targets.each do |target|
end end
end end
=begin
desc "export gerber (and drill) files from layout" desc "export gerber (and drill) files from layout"
GERBERS.each do |gerber| targets.each do |target|
file gerber => vpcb do |t| GERBERS.each do |suffix|
puts "make #{t.name}" file target[:name]+suffix => target[:vpcb] do |t|
sh "pcb -x gerber --gerberfile #{target} --all-layers #{t.prerequisites.join(' ')}" sh "pcb -x gerber --gerberfile #{target[:name]} --all-layers #{t.prerequisites.join(' ')}"
end
end end
end end
=begin
ATTACHMENTS = ["cern_ohl_v_1_2_howto.pdf","CHANGES.txt","LICENSE.txt","PRODUCT.txt"] ATTACHMENTS = ["cern_ohl_v_1_2_howto.pdf","CHANGES.txt","LICENSE.txt","PRODUCT.txt"]
desc "create archive with release files" desc "create archive with release files"
file "hardware-release_v#{version}.tar.gz" => ATTACHMENTS+["lib",vsch,vpcb,"notes.txt","#{target}_schematic.pdf","#{target}_layout.pdf","#{target}_layout-top.png","#{target}_layout-bottom.png"]+GERBERS do |t| file "hardware-release_v#{version}.tar.gz" => ATTACHMENTS+["lib",vsch,vpcb,"notes.txt","#{target}_schematic.pdf","#{target}_layout.pdf","#{target}_layout-top.png","#{target}_layout-bottom.png"]+GERBERS do |t|