Cómo crear solo un archivo de objeto sin ejecutable?
Estoy intentando crear un archivo de objeto a través de un archivo make que será llamado en otro script.
El siguiente es mi archivo make para crear un archivo de objeto.
SOURCE_CK = ../SOURCES_COUNTERFLOW/
SOURCES_f77 = $(SOURCE_CK)density.f
#TARGET =
OBJECTS = $(SOURCES_f77:.f=.o)
COMPILE = f77
.f.o :
$(COMPILE) -o $*.o -c $*.f
#$(TARGET) : $(OBJECTS)
# $(COMPILE) $(OBJECTS) -o $@
#del :
# /bin/rm $(OBJECTS)
Cuando ejecuto el script anterior, se genera el siguiente error.
make: *** No hay objetivos. Detenido.
Ahora sé que tengo que hacer algunas modificaciones con TARGET, pero no estoy seguro de por dónde empezar o cómo modificar el objetivo.
Una vez más, mi objetivo es ejecutar el script y generar el archivo density.o
.
Cualquier ayuda sería apreciada.
davy.ai
Parece que la sección de destino del archivo make está comentada, lo que impide que se compile el archivo
density.o
. Necesitas descomentar la sección de destino y modificar la variableTARGET
para que coincida con el nombre del archivo de salida deseado.Aquí tienes un ejemplo de cómo puedes modificar el archivo make:
En este archivo make modificado, la variable
TARGET
se establece endensity.o
, que es el archivo de salida deseado. Después de compilar el archivo fuentedensity.f
,$(OBJECTS)
contiene la lista de todos los archivos objeto, que se utiliza en la sección de destino para compilar el archivodensity.o
final.Puedes ejecutar el archivo make simplemente ingresando el comando
make
en la terminal, lo que generará el archivodensity.o
. Para eliminar los archivos objeto y el archivo de destino, puedes ejecutarmake clean
.Espero que esto te ayude a generar el archivo objeto necesario.