summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/loaders
diff options
context:
space:
mode:
authorBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
committerBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
commit5571dc766e2143e39762ff0b47c41d1c2e154f4c (patch)
treef4f124d314a7e76c04484515aa0fd1f2e271a601 /vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/loaders
parent359f3309c97fc894b63e0a295c76ab298504d635 (diff)
Vendor bundled gems for deployment
Diffstat (limited to 'vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/loaders')
-rw-r--r--vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/loaders/makefile.rb54
1 files changed, 54 insertions, 0 deletions
diff --git a/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/loaders/makefile.rb b/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/loaders/makefile.rb
new file mode 100644
index 0000000..46f4bea
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/loaders/makefile.rb
@@ -0,0 +1,54 @@
+# frozen_string_literal: true
+module Rake
+
+ # Makefile loader to be used with the import file loader. Use this to
+ # import dependencies from make dependency tools:
+ #
+ # require 'rake/loaders/makefile'
+ #
+ # file ".depends.mf" => [SRC_LIST] do |t|
+ # sh "makedepend -f- -- #{CFLAGS} -- #{t.prerequisites} > #{t.name}"
+ # end
+ #
+ # import ".depends.mf"
+ #
+ # See {Importing Dependencies}[link:doc/rakefile_rdoc.html#label-Importing+Dependencies]
+ # for further details.
+
+ class MakefileLoader
+ include Rake::DSL
+
+ SPACE_MARK = "\0" # :nodoc:
+
+ # Load the makefile dependencies in +fn+.
+ def load(fn) # :nodoc:
+ lines = File.read fn
+ lines.gsub!(/\\ /, SPACE_MARK)
+ lines.gsub!(/#[^\n]*\n/m, "")
+ lines.gsub!(/\\\n/, " ")
+ lines.each_line do |line|
+ process_line(line)
+ end
+ end
+
+ private
+
+ # Process one logical line of makefile data.
+ def process_line(line) # :nodoc:
+ file_tasks, args = line.split(":", 2)
+ return if args.nil?
+ dependents = args.split.map { |d| respace(d) }
+ file_tasks.scan(/\S+/) do |file_task|
+ file_task = respace(file_task)
+ file file_task => dependents
+ end
+ end
+
+ def respace(str) # :nodoc:
+ str.tr SPACE_MARK, " "
+ end
+ end
+
+ # Install the handler
+ Rake.application.add_loader("mf", MakefileLoader.new)
+end