Sha256: 0db776e3d61d6d0c74a8737c75bcdb541d9cb081dfd2a57949d4de4f0ca75c2d

Contents?: true

Size: 797 Bytes

Versions: 5

Compression:

Stored size: 797 Bytes

Contents

import %w(c/dependencies clean autoclean)

desc "Compile hello world program."
file "hello" => %w(src/main.o src/util.o) do |t|
    sys "cc -Wall -o #{t.name} #{t.prerequisites.arglist}"
end

gen Rule, :o => :c do |t|
    sys "cc -Wall -c -Iinclude -o #{t.name} #{t.source}"
end

# Similar to the "makedepend" program:
# Create dependencies between C/C++ source/header files by parsing them
# for #include statements. The dependencies will be written to a file
# called "c_dependencies".
gen C::Dependencies, :search => "include"
# Automatically make and load the dependency file before invoking any
# task.
gen Action do source "c_dependencies" end

desc "Remove C compiler products."
gen Clean
var[:clean].include "**/*.o", "hello"

desc "Remove all generated files."
gen AutoClean, :distclean

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rant-0.3.8 doc/examples/c_dependencies/Rantfile
rant-0.4.0 doc/examples/c_dependencies/Rantfile
rant-0.4.2 doc/examples/c_dependencies/Rantfile
rant-0.4.4 doc/examples/c_dependencies/Rantfile
rant-0.4.6 doc/examples/c_dependencies/Rantfile