Provided by: manpages-es-extra_0.8a-17_all bug

NOMBRE

       make - utilidad `make' de GNU para mantener grupos de programas

SINOPSIS

       make [ -f makefile ] [ opcion ] ... [ variable=valor ] ... [ objetivo ]
       ...

AVISO

       Esta pagina del Manual es un extracto de la documentacion de GNU  make.
       Se  actualiza  solo  ocasionalmente,  porque  el proyecto GNU no emplea
       nroff  (ni  incluso  groff  ;-)  para   su   documentacion.   Para   la
       documentacion  completa  y  al dia, remitase al fichero make en formato
       Info, o al fichero make.dvi en formato DVI, que se construyen a  partir
       del fichero fuente escrito en TeXInfo make.texinfo.

DESCRIPCI'ON

       El  proposito  de  la  utilidad  make es determinar automaticamente que
       piezas de un programa necesitan ser recompiladas, y lanzar las  ordenes
       para recompilarlas.  Este manual describe la implementacion de make del
       proyecto GNU, que ha sido escrita por el gran Richard  Stallman  y  por
       Roland  McGrath.   Nuestros ejemplos muestran programas en C, que es lo
       mas comun, pero  se  puede  emplear  make  con  cualquier  lenguaje  de
       programacion  cuyo compilador pueda ejecutarse con una orden del shell.
       De hecho, make no esta limitado a compilar programas.   Se  puede  usar
       para  describir  cualquier  tarea  donde  algunos  ficheros  deban  ser
       actualizados automaticamente a partir de otros en cualquier momento  en
       que estos cambien.

       Para  prepararnos  a  utilizar  make, debemos escribir antes un fichero
       llamado el makefile que describe las relaciones entre los  ficheros  de
       nuestro  programa,  y  las  ordenes  necesarias  para  actualizar  cada
       fichero.   En  un  programa,  normalmente  el  fichero  ejecutable   se
       actualiza  a  partir  de los ficheros o modulos objeto, los cuales a su
       vez se construyen mediante la compilacion de los ficheros con el codigo
       fuente.

       Una  vez que exista un makefile apropiado, cada vez que cambiemos algun
       fichero fuente, esta simple orden:

              make

       basta  y  sobra  para  que  se  realicen  todas   las   recompilaciones
       necesarias.   El  programa  make emplea los datos del makefile (y otros
       internos) y los tiempos de ultima modificacion  de  los  ficheros  para
       decidir  cuales  de ellos necesitan ser actualizados.  Para cada uno de
       esos ficheros, lanza las ordenes que  tiene  grabadas  en  su  base  de
       datos.

       make  ejecuta  ordenes en el makefile para actualizar uno o mas nombres
       de objetivo, donde nombre es tipicamente un programa.  Si no se ha dado
       la   opcion  -f,  make  buscara  los  makefiles  llamados  GNUmakefile,
       makefile, y  Makefile,  en  este  orden,  parando  en  el  primero  que
       encuentre y dando un error si no encuentra ninguno.

       Normalmente deberiamos llamar a nuestro makefile o bien makefile o bien
       Makefile.  (Recomendamos Makefile porque normalmente aparece cerca  del
       principio  del  listado  de  un  directorio,  al lado de otros ficheros
       importantes como L'EAME.)  El primer nombre que se  busca,  GNUmakefile,
       no   se  recomienda  para  la  mayoria  de  los  makefiles.   Solamente
       deberiamos  emplear  este  nombre  si  tenemos  un  makefile  que   sea
       especifico del make de GNU y no pueda ser leido y comprendido por otras
       versiones de make.  Si makefile es `-', se lee de la entrada estandar.

       make actualiza un objetivo si este depende de ficheros de prerrequisito
       (o   dependencias)   que   hayan   sido  modificados  desde  la  ultima
       modificacion del objetivo, o si este no existe.

OPCIONES

       -b

       -m   Estas  opciones  no  hacen  nada,  y   solo   se   reconocen   por
            compatibilidad con otras versiones de make.

       -C dir
            Cambia  el directorio de trabajo a dir antes de leer los makefiles
            o hacer otra cosa.  Si se especifican varias opciones -C, cada una
            se  interpreta  en  relacion  a  la  anterior:  -C  /  -C  etc  es
            equivalente a -C  /etc.   Esto  se  usa  tipicamente  en  llamadas
            recursivas a make.

       -d   Muestra informacion de depuracion ademas del procesamiento normal.
            Esta informacion dice que ficheros estan siendo considerados  para
            ser  rehechos,  que  tiempos de ficheros estan siendo comparados y
            con que resultados, que ficheros necesitan realmente ser rehechos,
            que  reglas  implicitas estan siendo tenidas en cuenta y cuales se
            estan aplicando: o sea, todo lo interesante sobre como make decide
            las cosas que tiene que hacer.

       -e   Da  a  las  variables que vienen del entorno precedencia a las que
            vienen de los makefiles.

       -f makefile
            Emplea makefile como un makefile.

       -i   No tiene en cuenta ningun error en  las  ordenes  ejecutadas  para
            reconstruir ficheros.

       -I dir
            Especifica  un directorio dir en donde buscar makefiles incluidos.
            Si se usan varias opciones -I para especificar varios directorios,
            estos  se  buscan  en  el orden dado.  De forma distinta a como se
            deben  dar  los  argumentos  de  otras  opciones  de   make,   los
            directorios dados en las opciones -I pueden ir inmediatamente tras
            la I: o sea, se permite tanto -Idir como -I dir.  Esta sintaxis se
            permite   por   compatibilidad   con   la   misma  opcion  -I  del
            preprocesador de C.

       -j trabajos
            Especifica el numero de trabajos (ordenes) que se  deban  ejecutar
            simultaneamente.   Si  hay  mas  de  una opcion -j, solo la ultima
            vale.  Si se da la opcion -j sin ningun argumento, make no  pondra
            limites    al   numero   de   trabajos   que   puedan   ejecutarse
            simultaneamente.

       -k   Continua tanto como sea posible tras un error.   Mientras  que  el
            objetivo  que  ha fallado, y los que dependen de el, no pueden ser
            reconstruidos, las otras dependencias de estos  objetivos  si  que
            pueden procesarse, asi que con esta opcion se procesan.

       -l

       -l carga
            Dice que no debera empezarse ningun nuevo trabajo (mandato) si hay
            otros trabajos en ejecucion y la carga media es  como  poco  carga
            (un  numero  real,  en coma flotante).  Sin el argumento, anula un
            limite anterior de carga, si lo hubiera.

       -n   Muestra las ordenes que se ejecutarian, pero no se hace nada  mas.
            Muy util.

       -o fichero
            No reconstruye el fichero especificado, incluso siendo mas antiguo
            que sus dependencias, y tampoco reconstruye nada  que  dependa  de
            cambios  en  fichero.   Esencialmente el fichero se trata como muy
            viejo, y sus reglas no son tenidas en cuenta.

       -p   Muestra la base de datos  (reglas  y  valores  de  variables)  que
            resultan  de leer los makefiles; luego todo se procesa de la forma
            usual o de la que se haya especificado.   Tambien  se  muestra  la
            informacion  de  version  dada  por  la opcion -v (vea mas abajo).
            Para ver la base de datos sin hacer ninguna otra cosa, de la orden
            make -p -f/dev/null.

       -q   ``Modo  de  interrogacion  (Query)''.  No ejecuta ninguna orden ni
            muestra nada; solo devuelve  un  status  de  salida  cero  si  los
            objetivos  especificados ya estan actualizados, o no cero si no lo
            estan.

       -r   Elimina el empleo de las reglas implicitas incorporadas.   Tambien
            borra  la  lista  predeterminada  de  sufijos  para  las reglas de
            sufijo.

       -s   Modo de operacion silencioso; no muestra las ordenes que se  estan
            ejecutando.

       -S   Cancela  el efecto de la opcion -k.  Esto nunca es necesario salvo
            en un make recursivo, en el que -k puede venir heredado  del  make
            superior a traves de MAKEFLAGS o si activamos -k en la variable de
            ambiente MAKEFLAGS.

       -t   Toca los ficheros (los  marca  como  actualizados  sin  cambiarlos
            realmente)  en  vez  de  ejecutar las ordenes pertientes.  Esto se
            emplea para pretender que las ordenes han sido ejecutadas, con  el
            fin de enganar a futuras ejecuciones de make.

       -v   Muestra  la version del programa make mas la lista de autores, una
            nota sobre los derechos de copia y otra sobre la falta de garantia
            y  a  donde enviar informes de fallos.  Despues de imprimirse esta
            informacion, el procesamiento continua normalmente.  Para  obtener
            esta  informacion  sin  ningun  otro  efecto,  de la orden make -v
            -f/dev/null.

       -w   Muestra un mensaje conteniendo el directorio de  trabajo  antes  y
            despues de otro procesamiento.  Esto puede ser util para seguir la
            pista a errores que vienen de anidamientos complicados de  ordenes
            make recursivas.

       -W fichero
            Pretende  que el objetivo fichero acaba de ser modificado.  Cuando
            se emplea con la opcion -n, esto nos  ensena  lo  que  pasaria  si
            fueramos  a  modificar  ese fichero.  Sin -n, es casi lo mismo que
            ejecutar la orden touch en el fichero dado antes de dar  la  orden
            make,  salvo  en que el tiempo de modificacion se cambia solamente
            en la imaginacion de make.

OTROS ARGUMENTOS

       variable=valor
            Le da a la variable de make el valor especificado. Esta definicion
            tiene precedencia sobre la que pudiera haber en el makefile.

       objetivo
            Cualquier  argumento  que  no  empiece  por - o que no contenga un
            signo = se considera un objetivo que make tiene que construir.  Si
            no  se menciona ninguno en la linea de ordenes, make construira el
            primer objetivo que encuentre en el makefile.

V'EASE TAMBI'EN

       /usr/info/make.info*
                           The GNU Make Manual

FALLOS

       Consulte el capitulo `Problems and Bugs' en The GNU Make Manual.

AUTORES

       Dennis Morse, de la Stanford University,  escribio  originalmente  esta
       pagina del Manual.  Roland McGrath trabajo posteriormente en ella.  Fue
       traducida al espanol por Gerardo Aburruzaga  Garcia  (gerardo@cica.es),
       quien anadio ademas algunas lineas (ademas de esta ;-).