SOURCES := $(shell find src -name '*.m') OBJECTS := $(SOURCES:%.m=%.o) PRODUCT := build/Application .PHONY: all all: $(PRODUCT) %.o: %.m $(CC) \ -x objective-c \ -c \ $< \ -o $@ $(PRODUCT): $(OBJECTS) | build $(CC) \ -framework Cocoa \ -o $@ \ $^ build: mkdir -p build .PHONY: genstrings genstrings: Base.lproj/Localizable.strings Base.lproj/Localizable.strings: $(SOURCES) genstrings -o Base.lproj $^ mv $@ "$@.utf16" iconv --from-code=UTF-16 --to-code=UTF-8 "$@.utf16" > $@ rm "$@.utf16" .PHONY: clean clean: rm $(OBJECTS)