Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Suppress make rule error output

I have an rule that creates a directory

bin:
    -mkdir $@

However after the first time the directory has been generated, I receive this output:

mkdir bin
mkdir: cannot create directory `bin': File exists
make: [bin] Error 1 (ignored)

Is there some way I can only run the rule if the directory doesn't exist, or suppress the output when the directory already exists?

like image 525
Matt Joiner Avatar asked Aug 13 '10 13:08

Matt Joiner


1 Answers

Another way to suppress the make: error ... (ignored) output is to append || true to a command that could fail. Example with grep that checks for errors in a LaTeX log file:

undefined:
  @grep -i undefined *.log || true

Without the || true, make complains when grep fails to find any matches.

This works for all commands, not just mkdir; that's why I added this answer.

like image 84
daniel kullmann Avatar answered Oct 19 '22 14:10

daniel kullmann