make -C /path/to/dir
Como se señaló en otras respuestas, make(1) tiene un -C
opción para esto; varios comandos tienen opciones similares (por ejemplo, tar). Es útil tener en cuenta que para otros comandos que carecen de tales opciones, se puede usar lo siguiente:
(cd /dir/path && command-to-run)
Esto ejecuta el comando en un sub-shell que primero cambia su directorio de trabajo (mientras deja solo el directorio de trabajo del shell principal). Aquí &&
se usa en lugar de ;
para detectar casos de error en los que no se puede cambiar el directorio.
Si la razón por la que no desea enviar un CD a un directorio es porque necesita permanecer en el directorio actual para una tarea posterior, puede usar pushd y popd:
pushd ProjectDir ; make ; popd
Eso va a ProjectDir, ejecuta make y vuelve a donde estabas.