Our make file compiles .c source files with a static pattern rule like this:
OBJECTS = foo.o bar.o baz.o $(OBJECTS): %.o: %.c $(CC) $< $(C_OPTIONS) -
Not really just copy to
$(OBJECTS): %.o: %.m $(CC) $< $(C_OPTIONS) -c -o $@