It should just build nothing. Because sometimes you want to do something like: redo-ifchange $(find -name '*.c') And the find doesn't return any results. This is consistent with what real redo does. Added a test to confirm that it works.