> It would be wonderful for say 10 c files compiling one way, and the 11th having a different option.
You can do this by combining implicit and explicit rules:
target: $(OBJ)
# default rule
%.o: %.c
cc -o $@ $^
# special case
special.o: special.c
specialc -o $@ $^