Facer - Comando Linux - Comando Unix

make - GNU fai utilidade para manter grupos de programas

Sinopse

facer [ -f makefile ] [opción] ... target ...

Aviso

Esta páxina é un extracto da documentación de GNU make. Actualízase só ocasionalmente porque o proxecto GNU non usa nroff. Para obter documentación completa e actual, consulte o ficheiro de información make.info que está feita a partir do ficheiro fonte Texinfo make.texinfo .

Descrición

O obxectivo da utilidade de facer é determinar automaticamente cales son as pezas dun gran programa que deben recompilar e emitir os comandos para recompilar. O manual describe a implementación GNU de make , que foi escrita por Richard Stallman e Roland McGrath. Os nosos exemplos amosan programas C xa que son os máis comúns, pero pode usar make con calquera linguaxe de programación cuxo compilador poida executarse cun comando shell. De feito, non se limita aos programas. Podes usalo para describir calquera tarefa onde algúns arquivos deben ser actualizados automaticamente desde outros sempre que os outros cambien.

Para prepararse para usar make , debes escribir un arquivo chamado makefile que describe as relacións entre os ficheiros do teu programa e indica os comandos para actualizar cada ficheiro. Nun programa, normalmente o ficheiro executable actualízase a partir de ficheiros de obxectos, que á súa vez son compilados por ficheiros de orixe.

Unha vez que existe un makefile axeitado, cada vez que cambie algúns ficheiros fonte, este sinxelo comando shell:

facer

é suficiente para realizar todas as recompilacións necesarias. O programa make usa a base de datos de makefile e os tempos de última modificación dos ficheiros para decidir cal dos ficheiros deben ser actualizados. Para cada un destes ficheiros, emite os comandos rexistrados na base de datos.

fai executar comandos no makefile para actualizar un ou máis nomes de destino, onde o nome adoita ser un programa. Se non existe ningunha opción -f , faga buscar os ficheiros make GNUmakefile , makefile e Makefile , nesa orde.

Normalmente debería chamar ao makefile makefile ou Makefile . (Recomendamos Makefile porque aparece prominentemente preto do inicio dunha listaxe de directorios, directamente preto doutros ficheiros importantes como README ). O primeiro nome marcado, GNUmakefile , non se recomenda para a maioría dos makefiles. Debe usar este nome se ten un ficheiro makefile específico de GNU make e non se comprenderán por outras versións de make . Se o ficheiro makefile é `- ', a entrada estándar é lida.

fai actualizacións un obxectivo se depende de ficheiros previos que foron modificados desde que se modificou por última vez o destino ou se o destino non existe.

OPCIÓNS

-b

-m

Estas opcións son ignoradas por compatibilidade con outras versións de make .

-C dir

Cambia ao dir directorio antes de ler o makefiles ou facer calquera outra cousa. Se se especifican varias opcións -C , cada unha interpreta a relación coa anterior: -C / -C etc é equivalente a -C / etc. Isto úsase normalmente con invocaciones recursivas de make .

-d

Imprime información de depuración ademais do procesamento normal. A información de depuración indica cales son os ficheiros que se están a considerar para rehacer, que comparanse os tempos de ficheiro e con que resultados, cales son os arquivos que realmente deben ser reabastecedores, que se consideran as regras implícitas e as que se aplican: todo o interesante sobre como decidir que facer.

-e

Dea variables tomadas da prioridade do entorno sobre as variables de makefiles.

ficheiro -f

Usar o ficheiro como un ficheiro makefile.

-i

Ignora todos os erros nos comandos executados para remake dos ficheiros.

-Digo

Especifica un dir directorio para buscar os makefiles incluídos. Se se usan varias opcións I para especificar varios directorios, procúranse os directorios na orde especificada. A diferenza dos argumentos a outras bandeiras de marca , os cartafoles indicados con -I bandeiras poden vir directamente despois da bandeira: -Di dir é permitido, así como -dixo . Esta sintaxe está permitida para compatibilidade coa bandeira I do preprocesador de C.

-j traballos

Especifica a cantidade de traballos (comandos) para executarse simultaneamente. Se hai máis dunha opción -j , a última é efectiva. Se a opción -j se dá sen un argumento, non limitará o número de traballos que poden executarse simultaneamente.

-k

Continúa o máximo posible despois dun erro. Aínda que o destino que fallou e os que o dependen, non se pode rehacer, as outras dependencias destes obxectivos pódense procesar igual.

-l

-l carga

Especifica que non se deberían iniciar novos traballos (ordes) se hai outros traballos en execución ea media de carga é polo menos carga (un número de coma flotante). Sen argumento, elimina un límite de carga anterior.

-n

Imprime os comandos que se executarían, pero non os executarán.

-o ficheiro

Non remake o ficheiro de ficheiro aínda que sexa máis antigo que as súas dependencias e non remake nada por mor dos cambios no ficheiro . Esencialmente o arquivo trátase como moi antigo e as súas regras son ignoradas.

-p

Imprimir a base de datos (regras e valores de variábel) que resulta da lectura dos ficheiros make; execútase como de costume ou como se especifique outra cousa. Isto tamén imprime a información da versión proporcionada polo interruptor -v (vexa máis abaixo). Para imprimir a base de datos sen tentar remake de ningún ficheiro, use make -p -f / dev / null.

-q

`` Modo de pregunta ''. Non execute ningún comando nin imprima nada; só devolver un estado de saída que é cero se os obxectivos especificados xa están actualizados, non cero polo contrario.

-r

Elimine o uso das regras implícitas incorporadas. Elimine tamén a lista predeterminada de sufixos para as regras do sufixo.

-s

Operación silenciosa; Non imprima os comandos a medida que se executan.

-S

Cancelar o efecto da opción -k . Isto non é necesario, excepto nun recursivo onde o poder pode ser herdado do nivel superior a través de MAKEFLAGS ou se define -k en MAKEFLAGS no seu contorno.

-t

Toca os ficheiros (marca-los actualizados sen realmente cambialos) en lugar de executar os seus comandos. Isto úsase para finxir que os comandos foron feitos, a fin de enganar futuras invocaciones de make .

-v

Imprimir a versión do programa de facer máis un copyright, unha lista de autores e unha notificación de que non hai ningunha garantía.

-w

Imprimir unha mensaxe que contén o directorio de traballo antes e despois doutro procesamento. Isto pode ser útil para rastrexar erros de nidos complicados de comandos de recursividade.

-W ficheiro

Pretende que o arquivo de destino acaba de ser modificado. Cando se usa coa bandeira -n , esta mostra o que sucedería se tivese que modificar ese ficheiro. Sen -n , é case o mesmo que executar un comando táctil no ficheiro dado antes de executar, agás que o tempo de modificación só se cambia na imaxinación da marca .