Compilando múltiples archivos Objective-C en la línea de comandos con clang

Esperemos que sea una pregunta sencilla. Estoy tratando de aprender la compilación básica de Objective-C desde la línea de comandos, con clang. Entiendo que Xcode es una mejor solución para proyectos complejos y planeo cambiarme pronto, pero personalmente siento que entiendo mejor un lenguaje si puedo compilarlo manualmente en un terminal, y para proyectos de programación introductoria pequeños, lo encuentro menos interesante. una molestia para compilar en un terminal que tener que comenzar un nuevo proyecto.

Entonces, la pregunta es: ¿cómo compilo un programa Objective-C que consta de varios archivos (desde la línea de comandos)? (Estoy tratando de hacer el programa de fracciones del capítulo 7 del libro de texto de Kochan, con un archivo main.m y Fraction.m que # importan "Fraction.h", y un archivo Fraction.h que importa el marco de la Fundación). Para compilar un solo archivo utilizo algo como

clang -fobjc-arc main.m -o prog1

Pero si escribo eso y quiero incluir archivos que no sean main.m en el proyecto, obtengo errores que incluyen:

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Si intento agregar los archivos adicionales al comando como argumentos, como

clang -fobjc-arc main.m Fraction.h Fraction.m -o prog1

entonces me pongo

clang: error: cannot specify -o when generating multiple output files

Y si luego elimino el argumento -o como

clang -fobjc-arc main.m Fraction.h Fraction.m

luego recibo una pila gigante de errores, todos referidos al marco de la fundación, que finalmente termina en "error fatal: demasiados errores emitidos, deteniéndose ahora".

¿Cómo hago esto y lo hago funcionar? ¿O necesito simplemente absorberlo y usar Xcode tan pronto como esté involucrado más de un archivo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta