CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 13 Aug 2025 22:44:58 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100407005915
location: https://web.archive.org/web/20100407005915/https://github.com/breily/ruby2make
server-timing: captures_list;dur=0.565382, exclusion.robots;dur=0.019178, exclusion.robots.policy;dur=0.008320, esindex;dur=0.010744, cdx.remote;dur=319.396142, LoadShardBlock;dur=187.247809, PetaboxLoader3.datanode;dur=55.464713, PetaboxLoader3.resolve;dur=78.186499
x-app-server: wwwb-app210
x-ts: 302
x-tr: 548
server-timing: TR;dur=0,Tw;dur=492,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app210; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 13 Aug 2025 22:45:01 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Wed, 07 Apr 2010 00:59:15 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "79ec62537923c22bc060cf9c22481520"
x-archive-orig-x-runtime: 161ms
x-archive-orig-content-length: 21926
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Wed, 07 Apr 2010 00:59:15 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Wed, 07 Apr 2010 00:59:15 GMT", ; rel="memento"; datetime="Wed, 07 Apr 2010 00:59:15 GMT", ; rel="next memento"; datetime="Wed, 29 Sep 2010 17:40:59 GMT", ; rel="last memento"; datetime="Tue, 01 Dec 2020 21:31:39 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_15_20100406205746_crawl101-c/52_15_20100407005729_crawl101.arc.gz
server-timing: captures_list;dur=0.521246, exclusion.robots;dur=0.017891, exclusion.robots.policy;dur=0.007791, esindex;dur=0.012282, cdx.remote;dur=1628.753861, LoadShardBlock;dur=401.756562, PetaboxLoader3.datanode;dur=214.492137, PetaboxLoader3.resolve;dur=190.388057, load_resource;dur=124.810360
x-app-server: wwwb-app210
x-ts: 200
x-tr: 2200
server-timing: TR;dur=0,Tw;dur=485,Tc;dur=1
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
breily's ruby2make at master - GitHub
breily / ruby2make
- Source
- Commits
- Network (1)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage

Brian Reily (author)
Mon Feb 02 18:46:19 -0800 2009
README
+~^~+ Ruby2Make +~^~+ ===================== * Goal: Ruby DSL to generate Makefiles * Simple example: to make this Makefile, CC = gcc FLAGS = -g hello: hello.c $(CC) $(FLAGS) hello.c -o hello clean: -rm hello -rm *.o use this Ruby: vars :FLAGS => "-g" rule "hello", :depends => "hello.c" do compile :output => "hello" end clean "hello", "*.o" It's more readable, and it doesn't insanely require tabs and not spaces. -=- Usage -=- ------------- * To install in /usr/bin, do `ruby setup.rb` as root. * To use, `rbmake` looks for a Makefile.rb and generates a Makefile. * To specify a Makefile.rb, use `rbmake other_file.rb`. -=- Examples -=- ---------------- * A number of usage examples are included, they would be the best way to learn the syntax. -=- Syntax -=- -------------- vars [hash] => Set Makefile macros (includes {:CC => "gcc", :FLAGS => ""}) suffix [out extension] [in extension] [command] => Add a rule to compile files from the inextension to the out extension, currently using a literal compilation command. See example5.rb. rule [name] [optional depends hash] [block] => Add a rule/target called name. If a hash like ':depends => "hello.o"' or ':depend => ["hello.o", "hello.h"]' is present, then those items are added as dependencies to the rule. depends [args] => Add dependencies to a rule (must occure in rule declaration's block) compile [args] => Without any args, uses '$(CC) $(FLAGS)' to compile the dependencies. Parameters accepted: :input, :i => Specify input file(s) :output, :o => Specify output file :compiler, :c => Specify a compiler other than $(CC) :to_obj, :obj => Add a "-c" flag :to_asm, :asm => Add a "-S" flag :debug => Add a "-g" flag :$@ => Sets the output file to "$@" (name of the rule) Literal arguments are also accepted. Strings are directly inserted, and symbols are converted to macros. :LIBS becomes $(LIBS). shell [args] => Add a custom line/command to a rule. Modifiers allowed: :silent => Add a '@' to command (Make won't echo it when it executes) :suppress => Add a '-' to command (Make won't worry about errors) echo [message] => Shortcut for an often used command: `shell "@echo #{message}"` clean [files] => Shortcut to create a clean rule, with a '-rm -rf' command for all file arguments given. comment [comments] => When used outside a rule, adds the comment at the beginning of the Makefile. When used inside a rule, adds the comments directly above the rule (see example 1).