Scroll to navigation



rake-compiler - Rake-based Ruby Extension (C, Java) task generator


The Rake-compiler is first and foremost a productivity tool for Ruby developers. It's goal is to make the busy developer's life easier by simplifying the building and packaging of Ruby extensions by simplifying code and reducing duplication.

It follows *convention over configuration* by advocating a standardized build and package structure for both C and Java based RubyGems.

rake-compiler is the result of many hard-won experiences dealing with several diverse RubyGems that provided native extensions for different platforms and different user configurations in different ways. Details such as differences in code portability, differences in code clarity, and differences in project directory structure often made it very difficult for newcomers to those RubyGems.


rake-compiler [-f rakefile] {options} targets...


Enable full backtrace. OUT can be stderr (default) or stdout.
Show commented tasks only
--job-stats [LEVEL]
Display job statistics. LEVEL=history displays a complete job list
Trace the rules resolution.

--suppress-backtrace PATTERN Suppress backtrace lines matching regexp PATTERN. Ignored if --trace is on.

-A, --all
Show all tasks, even uncommented ones (in combination with -T or -D)
-B, --build-all
Build all prerequisites, including those which are up-to-date.
-D, --describe [PATTERN]
Describe the tasks (matching optional PATTERN), then exit.
-e, --execute CODE
Execute some Ruby code and exit.
-E, --execute-continue CODE
Execute some Ruby code, then continue with normal task processing.
-f, --rakefile [FILENAME]
Use FILENAME as the rakefile to search for.
-G, --no-system, --nosystem
Use standard project Rakefile search paths, ignore system wide rakefiles.
-g, --system
Using system wide (global) rakefiles (usually '~/.rake/*.rake').
-I, --libdir LIBDIR
Include LIBDIR in the search path for required modules.
-j, --jobs [NUMBER]
Specifies the maximum number of tasks to execute in parallel. (default is number of CPU cores + 4)
-m, --multitask
Treat all tasks as multitasks.
-n, --dry-run
Do a dry run without executing actions.
-N, --no-search, --nosearch
Do not search parent directories for the Rakefile.
-P, --prereqs
Display the tasks and dependencies, then exit.
-p, --execute-print CODE
Execute some Ruby code, print the result, then exit.
-q, --quiet
Do not log messages to standard output.
-r, --require MODULE
Require MODULE before executing rakefile.
-R, --rakelibdir RAKELIBDIR,
Auto-import any .rake files in RAKELIBDIR. (default is 'rakelib')


-s, --silent
Like --quiet, but also suppresses the 'in directory' announcement.
-t, --trace=[OUT]
Turn on invoke/execute tracing, enable full backtrace. OUT can be stderr (default) or stdout.
-T, --tasks [PATTERN]
Display the tasks (matching optional PATTERN) with descriptions, then exit. -AT combination displays all of tasks contained no description.
-v, --verbose
Log message to standard output.
-V, --version
Display the program version.
-W, --where [PATTERN]
Describe the tasks (matching optional PATTERN), then exit.
-X, --no-deprecation-warnings
Disable the deprecation warnings.
-h, -H, --help
Display this help message.


This manual page was written by Youhei SASAKI <>, for the Debian GNU/Linux system(but may be used by others).
September 2018 rake-compiler 1.0.5