
Tengo un archivo MAKE que instala muchos archivos en mi directorio de compilación de destino. Algunos de ellos son ejecutables, otros no.
Probé el install
comando con indicadores -D -m 644
para archivos no ejecutables anteriormente con Linux, pero ahora falló. Descubrí que esa -D
bandera no está disponible con OSX/BSD y la eliminé. La cuestión es que necesito asegurarme de que los directorios de componentes en las rutas de los archivos que estoy instalando se creen según sea necesario. Pensé que la -d
bandera ayudaría y probé cosas como:
install .DS_Store ./tmp/build/some_dir/
...pero se queja de que some_dir
"no existe tal archivo o directorio", es decir, no existe (lo cual es cierto). Luego intenté lo mismo que arriba pero con la -d
bandera y obtuve otro error:
instalación: .DS_Store existe pero no es un directorio
Sólo quiero una forma más o menos estable y genérica de copiar archivos al destino. ¿Quizás debería recurrir a cp
? Sin embargo, conozco las diferencias menores pero importantes entre los dos.
Respuesta1
install -d
interpreta todos sus argumentos como directorios que (podrían) necesitar ser creados. Por lo tanto, creo que debes hacerlo con dos comandos:
install -d ./tmp/build/some_dir/
install .DS_Store ./tmp/build/some_dir/