% rake
...omit...
% touch mrbgems/mruby-struct/src/struct.c
% rake
mruby-io: No HAL specified, loading hal-posix-io (explicit selection recommended)
mruby-socket: No HAL specified, loading hal-posix-socket (explicit selection recommended)
mruby-dir: No HAL specified, loading hal-posix-dir (explicit selection recommended)
CPP mrbgems/mruby-struct/src/struct.c -> build/host/mrbgems/mruby-struct/src/struct.pi
CC mrbgems/mruby-bigint/core/bigint.c -> build/host/mrbgems/mruby-bigint/core/bigint.o
CC src/allocf.c -> build/host/src/allocf.o
CC src/array.c -> build/host/src/array.o
CC src/backtrace.c -> build/host/src/backtrace.o
CC src/cdump.c -> build/host/src/cdump.o
CC src/class.c -> build/host/src/class.o
CC src/codedump.c -> build/host/src/codedump.o
CC src/debug.c -> build/host/src/debug.o
CC src/dump.c -> build/host/src/dump.o
CC src/enum.c -> build/host/src/enum.o
CC src/error.c -> build/host/src/error.o
CC src/etc.c -> build/host/src/etc.o
...omit...
Even if presym remains unchanged, updating any C file in mrbgems triggers a recompilation of mruby core's C files.
At commit cf52364, only tasks dependent on
mrbgems/mruby-struct/src/struct.cwere triggered.