Make - Linux Command - Unix Command

make - GNU fa la utilitat per mantenir grups de programes

Sinopsi

feu que [ -f makefile ] [opció] ... target ...

Avís

Aquesta pàgina és un extracte de la documentació de GNU make. S'actualitza només ocasionalment perquè el projecte GNU no usa nroff. Per obtenir una documentació completa i actual, consulteu el fitxer d'informació make.info que es fa des del fitxer font de Texinfo make.texinfo .

Descripció

L'objectiu de la utilitat de fer és determinar automàticament quines peces d'un programa gran s'han de recopilar i emetre els comandaments per tornar a compilar. El manual descriu la implementació GNU de make , que va ser escrita per Richard Stallman i Roland McGrath. Els nostres exemples mostren programes C ja que són els més freqüents, però podeu usar make amb qualsevol llenguatge de programació el compilador es pugui executar amb un comandament shell. De fet, no es limiten als programes. Podeu utilitzar-lo per descriure qualsevol tasca on alguns fitxers s'han d'actualitzar automàticament d'altres sempre que els altres canvien.

Per preparar-vos per utilitzar make , heu d'escriure un fitxer anomenat makefile que descrigui les relacions entre els fitxers del vostre programa, i els estats dels comandaments per actualitzar cada fitxer. En un programa, normalment el fitxer executable s'actualitza des dels fitxers d'objectes, que al seu torn es realitzen mitjançant la compilació de fitxers d'origen.

Una vegada que existeix un fitxer de fitxer adequat, cada vegada que canvieu alguns fitxers d'origen, aquest senzill comando shell:

fer

n'hi ha prou amb realitzar totes les recopilacions necessàries. El programa Make fa servir la base de dades makefile i els temps d'última modificació dels fitxers per decidir quins dels fitxers s'han d'actualitzar. Per a cadascun d'aquests fitxers, emet els comandaments registrats a la base de dades.

feu executar les ordres del makefile per actualitzar un o més noms de destinació, on normalment el nom és un programa. Si no hi ha opció -f , feu cercarà el fitxer makefiles GNUmakefile , makefile i Makefile , en aquest ordre.

Normalment haureu de trucar al vostre fitxer makefile o Makefile . (Us recomanem Makefile perquè apareix prominentment a prop de l'inici d'una llista de directoris, a prop d'altres fitxers importants com ara README .) El primer nom verificat, GNUmakefile , no es recomana per a la majoria de fitxers makefile. Heu d'utilitzar aquest nom si teniu un fitxer de fitxer específic de GNU, i no s'entén per altres versions de make . Si makefile és `- ', es llegeix l'entrada estàndard.

realitzeu les actualitzacions d'un objectiu si depèn dels fitxers prèvies necessaris que s'han modificat perquè l'objectiu s'ha modificat per última vegada o si el destinatari no existeix.

OPCIONS

-b

-m

Aquestes opcions s'ignoren per compatibilitat amb altres versions de make .

-C dir

Canvieu al directori del directori abans de llegir els fitxers de make o fer qualsevol altra cosa. Si s'especifiquen diverses opcions de C , cadascuna s'interpreta amb relació a l'anterior: -C / -C etc és equivalent a -C / etc. Normalment s'utilitza amb invocacions recursives de make .

-d

Imprimiu la informació de depuració, a més del processament normal. La informació de depuració diu quins fitxers s'estan considerant per a la seva reestructuració, quins temps es comparen i amb quins resultats, quins fitxers realment s'han de tornar a esborrar, quines regles implícites es tenen en compte i què s'apliquen: tot allò interessant sobre com fer-ho decideix Què fer.

-e

Doneu variables preses de la prioritat de l'entorn a les variables de makefiles.

-f fitxer

Utilitzeu el fitxer com a fitxer de fitxer.

-i

Ignora tots els errors dels comandaments executats per tornar a carregar els fitxers.

-Digo

Especifica un dir del directori per cercar fitxers de fitxers inclosos. Si s'utilitzen diverses opcions I per especificar diversos directoris, es cerquen els directoris en l'ordre especificat. A diferència dels arguments a altres banderes de marca , els directoris proporcionats amb -I els indicadors poden venir directament després de la bandera: -Tinc permès dir , així com - dic. Aquesta sintaxi està permesa per a la compatibilitat amb el marcador I del preprocessador de C.

-j treballs

Especifica la quantitat de treballs (ordres) per executar-se simultàniament. Si hi ha més d'una opció -j , l'última és eficaç. Si l'opció -j es dóna sense un argument, no limitarà el nombre de llocs que es poden executar simultàniament.

-k

Continueu el màxim possible després d'un error. Tot i que l'objectiu que ha fallat, i els que depenen d'ell, no es pot reiniciar, les altres dependències d'aquests objectius es poden processar de la mateixa manera.

-l

-l càrrega

Especifica que no s'han d'iniciar treballs nous (ordres) si hi ha altres treballs en execució i la càrrega mitjana és almenys de càrrega (un número de coma flotant). Sense cap argument, elimina un límit de càrrega anterior.

-n

Imprimiu les ordres que s'executessin, però no les executarem.

-o fitxer

No torneu a fer el fitxer , fins i tot si és anterior a les seves dependències i no torneu a fer res a causa dels canvis en el fitxer . Essencialment, el fitxer es tracta com molt antic i s'ignoren les regles.

-p

Imprimiu la base de dades (regles i valors de variable) que resulta de llegir els fitxers makefile; llavors s'executa com de costum o com s'especifica d'una altra manera. Això també imprimeix la informació de la versió donada pel commutador -v (vegeu més avall). Per imprimir la base de dades sense intentar tornar a carregar cap fitxer, utilitzeu make -p -f / dev / null.

-q

`` Mode de pregunta ''. No executeu cap comandament ni imprimiu res; només haureu de tornar un estat de sortida que sigui zero si els objectius especificats ja estan actualitzats, no cero d'una altra manera.

-r

Elimineu l'ús de les regles implícites incorporades. També esborreu la llista predeterminada de sufixos per regles del sufix.

-s

Operació silenciosa; no imprimiu les comandes a mesura que s'executen.

-S

Cancel·lar l'efecte de l'opció -k . Això mai no és necessari, excepte en un cas recursiu on es pot heretar del nivell superior a través de MAKEFLAGS o si configureu a MAKEFLAGS en el vostre entorn.

-t

Toca els fitxers (marqueu-los actualitzats sense canviar-los) en lloc d'executar-ne les ordres. Això s'utilitza per fingir que els comandaments s'han fet, per tal d'enganyar futures invocacions de fer .

-v

Imprimiu la versió del programa de fer més un copyright, una llista d'autors i un avís que no hi ha cap garantia.

-w

Imprimiu un missatge que contingui el directori de treball abans i després d'un altre processament. Això pot ser útil per fer el seguiment dels errors de niu complicat de comandes recursives.

-W fitxer

Assenyaleu que el fitxer objectiu ha estat modificat. Quan s'utilitza amb la bandera- n , això mostra què passaria si hagués de modificar aquest fitxer. Sense -n , és gairebé el mateix que executar una ordre tàctil en el fitxer especificat abans d'executar, excepte que el temps de modificació només canvia en la imaginació de make .