Try the -i flag (or --ignore-errors). The documentation seems to suggest a more robust way to achieve this, by the way:
To ignore errors in a command line, write a
-at the beginning of the line’s text (after the initial tab). The-is discarded before the command is passed to the shell for execution.For example,
clean: -rm -f *.oThis causes
rmto continue even if it is unable to remove a file.
All examples are with rm, but are applicable to any other command you need to ignore errors from (i.e. mkdir).