CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Sun, 17 Aug 2025 21:37:47 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20180611031207
location: https://web.archive.org/web/20180611031207/https://github.com/maccman/ruby2make
server-timing: captures_list;dur=0.520147, exclusion.robots;dur=0.019336, exclusion.robots.policy;dur=0.008872, esindex;dur=0.010861, cdx.remote;dur=6.498434, LoadShardBlock;dur=191.898329, PetaboxLoader3.datanode;dur=41.963309, PetaboxLoader3.resolve;dur=85.091000
x-app-server: wwwb-app219
x-ts: 302
x-tr: 226
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app219; 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: Sun, 17 Aug 2025 21:37:47 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: GitHub.com
x-archive-orig-date: Mon, 11 Jun 2018 03:12:08 GMT
x-archive-orig-transfer-encoding: chunked
x-archive-orig-status: 200 OK
x-archive-orig-cache-control: no-cache
x-archive-orig-vary: X-PJAX
x-archive-orig-set-cookie: logged_in=no; domain=.github.com; path=/; expires=Fri, 11 Jun 2038 03:12:08 -0000; secure; HttpOnly
x-archive-orig-set-cookie: _gh_sess=OUlOS09HVkJZQTQ4S1p2czdTYi9CQXpiL3N5T3pqNmlsWVVtUTJmT2x2WUpsS1VlN1FvQlJKR0d6Z3RkS3l0Ym5SbVFXNm43SkY4MGxhNG5IbkEyL3Q3T3cxcDMzbXZkcExUVm9IT3h6NGd4cnVMWUJlYUFYMlhWT0Fjc1prTDZXVDB6UW5lZ2V3aXlXU2tJWUdjenU3L3FqYVV1UU8vZTY1S0txQ0hVMG45bXp5azRHUjN3UzVXdjZWOXdndTFvZWdiNDNKQlNiYW5rdEtqZ3d5dGMxS0N6R1YySWF6MG9JLzk0T2ZGdDRPUHpRRUtCd1gwMVcyZUJVVDc0d0dNQkxieWMwTFhMS0RXaUIzSHJUZzZvYXR6VUNxbmkva1J3NS8wVmc1c0pPOVBqVjNVU0xUVmhRYUdIajNLSlFUQmRsVURERTNEWkVOZEkrNHNlYk55Tk9YUlJjY1RoUEdHUVFld2RHRVY4eGp1VmxvRzZMSGQxMDZhcW0rdzY0VStNM2RJMkxHOUk0UEtFSDkwNXpvQXNxaEFjT0RnMTBkNStpQUkzMUk0YUk4az0tLXRSNGVHVFFZL2gvbkxBNGk0YkxPQnc9PQ%3D%3D--cb5332818ae8576e72fadc78e8504bed49cb6ec5; path=/; secure; HttpOnly
x-archive-orig-x-request-id: f8fa4567-52aa-4db3-8b69-47bd4fc0146e
x-archive-orig-x-runtime: 0.273619
x-archive-orig-strict-transport-security: max-age=31536000; includeSubdomains; preload
x-archive-orig-x-frame-options: deny
x-archive-orig-x-content-type-options: nosniff
x-archive-orig-x-xss-protection: 1; mode=block
x-archive-orig-expect-ct: max-age=2592000, report-uri="https://api.github.com/_private/browser/errors"
x-archive-orig-content-security-policy: default-src 'none'; base-uri 'self'; block-all-mixed-content; connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com; font-src assets-cdn.github.com; form-action 'self' github.com gist.github.com; frame-ancestors 'none'; frame-src render.githubusercontent.com; img-src 'self' data: assets-cdn.github.com identicons.github.com collector.githubapp.com github-cloud.s3.amazonaws.com *.githubusercontent.com; manifest-src 'self'; media-src 'none'; script-src assets-cdn.github.com; style-src 'unsafe-inline' assets-cdn.github.com
x-archive-orig-x-runtime-rack: 0.283772
x-archive-orig-x-github-request-id: EB2A:2131:5510537:98674B8:5B1DE887
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Mon, 11 Jun 2018 03:12:07 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Mon, 11 Jun 2018 03:12:07 GMT", ; rel="memento"; datetime="Mon, 11 Jun 2018 03:12:07 GMT", ; rel="next memento"; datetime="Mon, 07 Dec 2020 02:05:37 GMT", ; rel="last memento"; datetime="Mon, 07 Dec 2020 02:05:37 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: archiveteam_github_20180703020419/archiveteam_github_20180703020419.megawarc.warc.gz
server-timing: captures_list;dur=0.517350, exclusion.robots;dur=0.018435, exclusion.robots.policy;dur=0.008769, esindex;dur=0.011783, cdx.remote;dur=27.918516, LoadShardBlock;dur=153.566940, PetaboxLoader3.datanode;dur=95.932150, PetaboxLoader3.resolve;dur=210.508293, load_resource;dur=187.228668
x-app-server: wwwb-app219
x-ts: 200
x-tr: 453
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
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
GitHub - maccman/ruby2make: A DSL to write Makefiles in Ruby
Fetching latest commit…
Permalink
Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
A DSL to write Makefiles in Ruby
C
Ruby
C++
Clone or download
Launching GitHub Desktop...
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop...
If nothing happens, download GitHub Desktop and try again.
Launching Xcode...
If nothing happens, download Xcode and try again.
Launching Visual Studio...
If nothing happens, download the GitHub extension for Visual Studio and try again.
Pull request
Compare
This branch is 1 commit ahead, 5 commits behind breily:master.

Cannot retrieve the latest commit at this time.
Failed to load latest commit information. | |||
![]() |
examples | ||
![]() |
goals/goal1 | ||
![]() |
.gitignore | ||
![]() |
README | ||
![]() |
TODO | ||
![]() |
make.rb | ||
![]() |
setup.rb |
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 => "carview.php?tsp="}) 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).
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.