I have (roughly) this Makefile:

```
.PHONY: all
.SUFFIXES:

OUT = /www/web

all: $(OUT)/index.html

# rule 1
%.html: %.in
    build_html $< $@

# rule 2
$(OUT)/%: %
    cp $< $@

```

This Makefile has a problem, since there are two different ways to build `$(OUT)/index.html`:

1. build `./index.html` (rule 1), then copy it to `$(OUT)` (rule 2).
2. copy `./index.in` to `$(OUT)` (rule 2), then build `$(OUT)/index.html` (rule 1).

I want `make` to *always* prefer option 1. How can I indicate that there is a preferred order between these two pattern rules?

(I can think of a few hacky ways to accomplish it for this particular case, but I want a solution that is as general as possible---for instance, changing the pattern of rule 2 to `$(OUT)/%.html: %.html` will fix the problem, but loses generality since I need to repeat myself if I want to handle other kinds of files in the same way later.)