end
# list of modules to exclude, include directory it is in
-EXCLUDE_MODULES= %w(tools/touchprobe) unless defined? EXCLUDE_MODULES
-
# e.g for a CNC machine
#EXCLUDE_MODULES = %w(tools/touchprobe tools/laser tools/temperaturecontrol tools/extruder)
nonetwork= false
end
+# see if CNC build
+if ENV['CNC'] || CNC
+ cnc= true
+ excludes << 'panel\/screens\/3dprinter'
+ puts "CNC build"
+else
+ excludes << 'panel\/screens\/cnc'
+ cnc= false
+end
+
if TESTING
# add modules to be tested here
TESTMODULES= %w(tools/temperatureswitch) unless defined? EXCLUDE_MODULES
puts "Modules under test: #{TESTMODULES}"
excludes << %w(Kernel.cpp main.cpp) # we replace these with mock versions in testframework
+
frameworkfiles= FileList['src/testframework/*.{c,cpp}', 'src/testframework/easyunit/*.{c,cpp}']
extrafiles= FileList['src/modules/communication/SerialConsole.cpp', 'src/modules/communication/utils/Gcode.cpp', 'src/modules/robot/Conveyor.cpp', 'src/modules/robot/Block.cpp']
testmodules= FileList['src/libs/**/*.{c,cpp}'].include(TESTMODULES.collect { |e| "src/modules/#{e}/**/*.{c,cpp}"}).include(TESTMODULES.collect { |e| "src/testframework/unittests/#{e}/*.{c,cpp}"}).exclude(/#{excludes.join('|')}/)
defines << "-DDEFAULT_SERIAL_BAUD_RATE=#{DEFAULT_SERIAL_BAUD_RATE}"
defines << '-DDEBUG' if OPTIMIZATION == 0
defines << '-DNONETWORK' if nonetwork
+defines << '-DCNC' if cnc
DEFINES= defines.join(' ')
end
file "#{PROG}.elf" => OBJ do |t|
- puts "Linking #{t.source}"
+ puts "Linking"
sh "#{LD} #{LDFLAGS} #{OBJ} #{LIBS} -o #{OBJDIR}/#{t.name}"
end