in reply to Re: [OT] Makefiles - nmake syntax v dmake syntax
in thread [OT] Makefiles - nmake syntax v dmake syntax

The rules in make scripts are executed in the default shell - overrideable by an appropriate setting of the SHELL macro in the make script.

BTW, in your example, if you use test -f ... in a make rule and the file doesn't exist, make(1) will abort since it traps all non-success error codes and quits.

The prefixing of any line with a -, avoids this.

Update Using straight shell i.e. no perl available, I tend to use shell expansion together with a case statement - which returns no status, thus avoiding upsetting make(1) - so in this case ...

target: case "filename*" in \ \*) : ;; \ *) rm file ;; \ esac
Of course if you're using sh, the easiest solution is to use rm -f file...

HTH ,

At last, a user level that overstates my experience :-))