> Are these cases in the test suite?

No. But here is an example. I know is a very bizarre corner case, but as I said before I stumbled to this problem in the past and is **no fun** to debug.

```sh
$ cd /tmp
$ mkdir make
$ cat <<EOT > Makefile
./../make/.././t:
	echo t > $@

../t: blah
EOT
$ make ./../make/.././t
echo t > ../make/.././t
$ make ../t
make: *** No rule to make target `blah', needed by `../t'. Stop.
```
So as you can see, `./../make/.././t` and `../t` targets are treated differently. If you have `-od ./../make/.././ ./../make/.././t.d` and you normalize the path, you'll get `../t` for the binary, but the source will be `./../make/.././t.d`, so depending on how you call `make ./../make/.././t` or `make ../t` it will work or not.

I know it might work for 99.9% of the cases, but my point is it's still weak and provide absolutely 0 advantage (when you write a makefile you **know** how your target should be named and you should use `-of`).

Adding a convoluted case like this to the tests is overkill and so is trying to figure out a more sane case that also fails, this is why I'm not willing to spend a lot more time on this.

I would like to settle with something, `rdmd` right now is completely broken to calculate dependencies, this PR in any form (with or without accept `-od`) will bring it to usefulness (although I strongly believe accepting `-od` is the wrong approach).