Gumawa - Linux Command - Unix Command

gumawa - Ginagawa ng GNU ang utility upang mapanatili ang mga grupo ng mga programa

Buod

gumawa ng [ -f makefile ] [opsyon] ... target ...

Babala

Ang pahinang ito ay isang katas ng dokumentasyon ng GNU make. Paminsan-minsan ay na-update lamang dahil ang proyekto ng GNU ay hindi gumagamit ng nroff. Para sa kumpletong, kasalukuyang dokumentasyon, sumangguni sa Info file make.info na ginawa mula sa Texinfo source file make.texinfo .

Paglalarawan

Ang layunin ng gumawa ng utility ay awtomatikong matukoy kung saan ang mga piraso ng isang malaking programa ay kailangang muling recompile at i-isyu ang mga utos upang muling mag-recompile sa mga ito. Inilalarawan ng manu-manong pagpapatupad ng GNU, na isinulat ni Richard Stallman at Roland McGrath. Ang aming mga halimbawa ay nagpapakita ng mga programang C dahil ang mga ito ay pinaka-karaniwan, ngunit maaari mong gamitin ang gumawa sa anumang programming language na ang tagatala ay maaaring tumakbo gamit ang shell command. Sa katunayan, ang paggawa ay hindi limitado sa mga programa. Maaari mong gamitin ito upang ilarawan ang anumang gawain kung saan ang ilang mga file ay dapat na awtomatikong na-update mula sa iba tuwing ang iba ay magbabago.

Upang maghanda upang gamitin ang gumawa , dapat kang magsulat ng isang file na tinatawag na makefile na naglalarawan ng mga relasyon sa mga file sa iyong programa, at ang mga estado ang mga utos para sa pag-update ng bawat file. Sa isang programa, kadalasan ang maipapatupad na file ay na-update mula sa mga file ng bagay, na kung saan ay ginawa sa pamamagitan ng pag-compile ng mga source file.

Sa sandaling may naaangkop na makefile, tuwing magbago ka ng ilang mga source file, ang simpleng command na shell na ito:

gumawa

suffices upang maisagawa ang lahat ng kinakailangang recompilations. Ginagamit ng programang paggawa ang base data ng makefile at ang huling beses na pagbabago ng mga file upang magpasya kung alin sa mga file ang kailangang ma-update. Para sa bawat isa sa mga file na iyon, inuutusan nito ang mga command na naitala sa database.

gumawa ng mga command na executes sa makefile upang i-update ang isa o higit pang mga pangalan ng target, kung saan ang pangalan ay karaniwang isang programa. Kung wala ang opsiyon na -f , naroroon ang gagawin para sa makefiles GNUmakefile , makefile , at Makefile , sa utos na iyon.

Karaniwan dapat mong tawagan ang iyong makefile alinman sa makefile o Makefile . (Inirerekomenda namin ang Makefile dahil lumilitaw na malapit sa simula ng listahan ng direktoryo, malapit sa iba pang mga mahahalagang file tulad ng README .) Ang unang pangalan ay naka-check, GNUmakefile , ay hindi inirerekomenda para sa karamihan ng mga makefiles. Dapat mong gamitin ang pangalang ito kung mayroon kang isang makefile na partikular sa GNU make , at hindi mauunawaan ng iba pang mga bersyon ng gumawa . Kung ang makefile ay `- ', basahin ang karaniwang input.

gumawa ng mga update ng isang target kung ito ay depende sa mga kinakailangang file na na-modify dahil ang target ay huling nabago, o kung ang target ay hindi umiiral.

MGA OPTION

-b

-m

Ang mga opsyon na ito ay hindi pinansin para sa pagiging tugma sa ibang mga bersyon ng gumawa .

-C dir

Baguhin sa dir dir dir bago basahin ang makefiles o paggawa ng anumang bagay. Kung tinukoy ang maramihang -C na mga pagpipilian, ang bawat isa ay binibigyang-kahulugan na may kaugnayan sa nakaraang isa: -C / -C atbp ay katumbas ng -C / etc. Ito ay kadalasang ginagamit sa recursive invocations ng make .

-d

I-print ang impormasyon sa pag-debug bilang karagdagan sa normal na pagproseso. Sinasabi ng impormasyon sa pag-debug kung aling mga file ang isinasaalang-alang para sa remaking, na kung saan ang mga file-beses ay inihahambing at kung ano ang mga resulta, kung aling mga file ang talagang kailangang remade, kung saan ang mga implicit rules ay isinasaalang-alang at kung saan ay inilalapat --- lahat ng bagay na kawili-wiling tungkol sa kung paano magpapasya anong gagawin.

-e

Bigyan ang mga variable na kinuha mula sa kapaligiran na pangunahan sa mga variable mula sa makefiles.

-f na file

Gumamit ng file bilang makefile.

-i

Huwag pansinin ang lahat ng mga error sa mga utos na isinagawa upang gawing muli ang mga file.

-I dir

Tinutukoy ang isang direct dir upang maghanap para sa mga kasama na makefiles. Kung maraming mga pagpipilian sa -Ito ay ginagamit upang tukuyin ang ilang mga direktoryo, ang mga direktoryo ay hinanap sa tinukoy na order. Hindi tulad ng mga argumento sa iba pang mga flag ng gumawa , direktoryo na ibinigay sa -I flag na maaaring dumating nang direkta pagkatapos ng bandila: -I dir ay pinapayagan, pati na rin -I dir. Ang syntax na ito ay pinahihintulutan para sa pagiging tugma sa ang preprocessor's -I flag.

-j trabaho

Tinutukoy ang bilang ng mga trabaho (mga command) upang tumakbo nang sabay-sabay. Kung mayroong higit sa isang pagpipilian na -j , ang huling isa ay epektibo. Kung ang pagpipilian na -j ay ibinigay nang walang isang argument, gumawa ay hindi limitahan ang bilang ng mga trabaho na maaaring tumakbo nang sabay-sabay.

-k

Magpatuloy hangga't maaari pagkatapos ng isang error. Habang ang target na nabigo, at ang mga na nakasalalay dito, ay hindi maaaring remade, ang iba pang mga dependency ng mga target na ito ay maaaring maproseso ang lahat ng pareho.

-l

-l load

Tinutukoy na hindi dapat magsimula ang mga bagong trabaho (mga command) kung mayroong iba pang mga trabaho na tumatakbo at ang average load ay hindi bababa sa load (isang lumulutang-point na numero). Sa walang argumento, inaalis ang isang nakaraang limitasyon ng pag-load.

-n

I-print ang mga utos na naisakatuparan, ngunit huwag ipatupad ang mga ito.

-o file

Huwag gumawang muli ang file na file kahit na ito ay mas luma kaysa sa mga dependency nito, at huwag gumawang muli ng anumang bagay dahil sa mga pagbabago sa file . Mahalaga ang file ay itinuturing na napaka-lumang at ang mga panuntunan nito ay hindi pinansin.

-p

I-print ang data base (mga panuntunan at variable na halaga) na resulta mula sa pagbabasa ng makefiles; pagkatapos ay magsagawa ng gaya ng dati o kung tinukoy. Ini-print din nito ang impormasyon ng bersyon na ibinigay ng -v switch (tingnan sa ibaba). Upang i-print ang data base nang hindi sinusubukan na gumawang muli ng anumang mga file, gamitin ang make -p -f / dev / null.

-q

`` Tanong mode ''. Huwag magpatakbo ng anumang mga utos, o mag-print ng anumang bagay; bumalik lamang sa isang exit status na zero kung ang tinukoy na mga target ay napapanahon, nonzero kung hindi man.

-r

Tanggalin ang paggamit ng built-in na mga tuntunin ng pahayag. Tanggalin din ang default na listahan ng mga suffix para sa mga panuntunan sa suffix.

-s

Tahimik na operasyon; huwag i-print ang mga utos habang ginagawa ang mga ito.

-S

Kanselahin ang epekto ng -k opsyon. Hindi kailanman kinakailangan ito maliban sa isang recursive na kung saan -k maaaring ma-minana mula sa top-level make sa pamamagitan ng MAKEFLAGS o kung itinakda mo -k sa MAKEFLAGS sa iyong kapaligiran.

-t

Pindutin ang mga file (markahan ang mga ito hanggang sa petsa nang hindi talaga binabago ang mga ito) sa halip na patakbuhin ang kanilang mga utos. Ginagamit ito upang magpanggap na ang mga utos ay tapos na, upang iwaksi ang mga hinaharap na invocations ng gumawa .

-v

I-print ang bersyon ng programa ng gumawa kasama ang copyright, isang listahan ng mga may-akda at isang paunawa na walang warranty.

-w

Mag-print ng isang mensahe na naglalaman ng direktoryo ng nagtatrabaho bago at pagkatapos ng ibang pagproseso. Ito ay maaaring kapaki-pakinabang para sa pagsubaybay ng mga error mula sa kumplikadong mga nest ng recursive na gumawa ng mga utos.

-W file

Magpanggap na ang target na file ay binago na. Kapag ginamit sa -n flag, ito ay nagpapakita sa iyo kung ano ang mangyayari kung iyong baguhin ang file na iyon. Kung wala -n , ito ay halos katulad ng pagpapatakbo ng isang pindutin ang command sa ibinigay na file bago tumakbo gumawa , maliban na ang oras ng pagbabago ay binago lamang sa imahinasyon ng gumawa .