UTNianos

Versión completa: [Sistemas Operativos] Makefile
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola! queria consultarles lo siguiente, necesito hacer un makefile que llame a 3 scripts, y tengo que pasarle al makefile un parametro que indique cual script quiero ejecutar, esto es lo que encontre, pero no me funciona:

----------------------------------------------------------------------------------------------

# Makefile

.PHONY: programauno programados programatres

programauno:
./script1.sh

programados:
./script2.sh

programatres:
./script3.sh

----------------------------------------------------------------------------------------------

Lo que quiero es cuando llame a "./makefile programauno" se ejecute SOLO "script1.sh" y NO los demas, pero no me sale, cuando llamo a este makefile tira errores y encima ejecuta todos los sripts, si alguien me puede ayudar se lo voy a agradecer!!!
me parece q deberias sacar eso del PHONY y dejarlo asi:

#makefile

programa1:
./programa1.sh

programa2:
./programa2.sh

programa3:
./programa3.sh
Hola que tal. Ante todo tu makefile tiene un error, que es que después de los objetivos, cada instrucción que ponés tiene que tener un TAB de separación, sino no lo toma bien.
Además te tenés que acordar de cambiar los permisos del script antes de ejecutarlo, agregarle permisos de ejecución. Otra cosa que te diría es que hagás un solo script, que ejecute según que parámetro se le pase (instalar, configurar, desinstalar) y dentro del script lo tratás con un 'case'.

instalar:
script instalar

configurar:
script configurar

desinstalar:
script desinstalar

Bueno y además me parece que tampoco tiene sentido llamar a los scripts con el punto. En realidad lo que no tiene sentido en este TP es el makefile, que es útil para aplicaciones en C con dependencias y todo eso, pero para programas en bash...

Saludos
URLs de referencia