Bëni - Linux Command - Unix Command

bëni - GNU bën dobi për të ruajtur grupet e programeve

përmbledhje

bëni [ -f makefile ] [option] ... target ...

paralajmërim

Kjo faqe është një ekstrakt i dokumentacionit të GNU make. Ai përditësohet vetëm herë pas here, sepse projekti GNU nuk përdor nrff. Për dokumentacionin e plotë, referohuni në file make.info Info që është bërë nga skedari burimor Texinfo make.texinfo .

Përshkrim

Qëllimi i utilitetit të bërë është të përcaktojë automatikisht se cilat pjesë të një programi të madh duhet të rikompilohen dhe të lëshojnë komandat për t'i kompiluar ato. Manuali përshkruan implementimin GNU të make , i cili u shkrua nga Richard Stallman dhe Roland McGrath. Shembujt tanë tregojnë programet C pasi ato janë më të zakonshmet, por mund të përdorësh me çdo gjuhë programimi, përpiluesi i të cilit mund të drejtohet me një komandë shell. Në fakt, nuk është e kufizuar në programet. Ju mund ta përdorni atë për të përshkruar ndonjë detyrë ku disa skedarë duhet të përditësohen automatikisht nga të tjerët sa herë që ndryshojnë të tjerët.

Për t'u përgatitur për të përdorur make , duhet të shkruani një skedar të quajtur makefile që përshkruan marrëdhëniet midis skedarëve në programin tuaj dhe shtetet komandat për përditësimin e çdo skedari. Në një program, zakonisht skedari i ekzekutueshëm përditësohet nga skedarët e objekteve, të cilat bëhen nga përpilimi i skedarëve burimorë.

Pasi ekziston një makefile i përshtatshëm, çdo herë që ndryshoni disa skedarë burim, ky komandë shell e thjeshtë:

bëj

mjaftojnë për të kryer të gjitha recompilimet e nevojshme. Programi bën përdor bazën e të dhënave të makefile dhe kohën e modifikimit të fundit të dosjeve për të vendosur se cila nga skedarët duhet të përditësohet. Për secilën nga këto skedarë, lëshon komandat e regjistruara në bazën e të dhënave.

ekzekuton komandat në makefile për të përditësuar një ose më shumë emra të synuar, ku emri është zakonisht një program. Nëse jo -f opsion është i pranishëm, do të shikoni për makefiles GNUmakefile , makefile , dhe Makefile , në atë mënyrë.

Normalisht ju duhet të bëni makefile ose makefile ose Makefile . (Ne rekomandojmë Makefile sepse duket i dukshëm pranë fillimit të listës së direktoriumit, në afërsi të skedarëve të tjerë të rëndësishëm si README .) Emri i parë i kontrolluar, GNUmakefile , nuk rekomandohet për shumicën e makefiles. Ju duhet ta përdorni këtë emër nëse keni një makefile që është specifike për GNU-në, dhe nuk do të kuptohet nga versionet e tjera të krijimit. Nëse makefile është `- ', lexohet hyrja standarde.

bëj përditësime një objektiv nëse varet nga skedarët parakusht që janë modifikuar pasi që objektivi ishte modifikuar së fundi, ose nëse objektivi nuk ekziston.

OPSIONE

-B

-M

Këto opsione injorohen për përputhshmëri me versionet e tjera të krijimit.

-C dir

Ndrysho drejt direktoriumit para leximit të makefiles ose duke bërë ndonjë gjë tjetër. Nëse specifikohen opsione të shumëfishta C , secili interpretohet në raport me atë të mëparshëm: -C / -C etj është ekuivalent me -C / etj. Kjo zakonisht përdoret me thirrje rekursive të krijimit.

-d

Printoni informacionin e debugging përveç përpunimit normal. Informacioni i debugging thotë se cilat skedarë janë duke u shqyrtuar për rifreskimin, cilat herë janë duke u krahasuar dhe me çfarë rezultatesh, cilat skeda duhet të rikthehen, cilat rregulla implicit janë konsideruar dhe të cilat zbatohen --- gjithçka interesante rreth asaj se si vendosni çfarë të bëni.

-e

Jepni variablat e marra nga prioritet mjedisor mbi variablat nga makefiles.

-f file

Përdorni skedarin si një makefile.

-i

Ignore të gjitha gabimet në komandat e ekzekutuara për të xhiruar skedarët.

-I dir

Specifikon një dir direktori për të kërkuar për makefile të përfshira. Nëse disa opsione -I përdoren për të specifikuar disa drejtori, drejtoritë kontrollohen në rendin e specifikuar. Ndryshe nga argumentet ndaj flamujve të tjerë të krijimit, drejtoritë me flamur- I mund të vijnë direkt pas flamurit: -I dir është lejuar, si dhe -I dir. Kjo sintaksë lejohet për përputhshmëri me flamurin e preprocesorit të C-it.

-j punë

Specifikon numrin e vendeve të punës (komanda) për të ekzekutuar njëkohësisht. Nëse ka më shumë se një opsion -j , e fundit është efektive. Nëse opsioni -j jepet pa një argument, bëjeni nuk do të kufizoni numrin e vendeve të punës që mund të funksionojnë njëkohësisht.

-K

Vazhdoni sa më shumë që të jetë e mundur pas një gabimi. Ndërkohë që objektivi që dështoi dhe ata që varen nga ajo, nuk mund të rimëkëmben, varësitë e tjera të këtyre objektivave mund të përpunohen të gjitha të njëjta.

-l

-l ngarkesë

Specifikon që asnjë punë e re (komanda) nuk duhet të fillojë nëse ekzistojnë punë të tjera dhe mesatarja e ngarkesës është së paku ngarkesë (një numër me numër lundrues). Pa asnjë argument, heq kufirin e mëparshëm të ngarkesës.

-N

Shtypni komandat që do të ekzekutoheshin, por mos i ekzekutoni ato.

-o file

Mos e rikualifikoni skedarin e skedarit edhe nëse është më i vjetër se varësitë e tij, dhe mos bëni ndonjë gjë në remake për shkak të ndryshimeve në skedar . Në thelb skedari trajtohet si shumë i vjetër dhe rregullat e tij injorohen.

-p

Printoni bazën e të dhënave (rregullat dhe vlerat e ndryshueshme) që rezultojnë nga leximi i makefiles; pastaj ekzekutoni si zakonisht ose siç specifikohet ndryshe. Kjo gjithashtu shtyp informacionin e versionit të dhënë nga -v switch (shih më poshtë). Për të printuar bazën e të dhënave pa u përpjekur të riformësoni ndonjë skedar, përdorni make -p -f / dev / null.

Q

`` Modaliteti i pyetjeve ''. Mos bëni asnjë komandë, as printoni asgjë; thjesht ktheni një status të daljes që është zero nëse objektivat e specifikuara tashmë janë të përditësuara, jo ndryshe.

-r

Eliminimi i përdorimit të rregullave implicite të ndërtuara. Gjithashtu qartë listën e parazgjedhur të suffixes për rregullat prapashtesë.

-s

Operacioni i heshtur; mos shtypni komandat kur ato ekzekutohen.

-S

Anuloni efektin e opsionit -k . Kjo nuk është kurrë e domosdoshme përveç në një krijim rekurziv ku -k mund të trashëgohet nga niveli më i lartë i bërë përmes MAKEFLAGS ose nëse vendosni-në MAKEFLAGS në mjedisin tuaj.

-T

Prekni skedarët (shënoni ato deri më sot pa i ndryshuar vërtet ato) në vend të drejtimit të komandave të tyre. Kjo është përdorur për të pretenduar se komandat janë bërë, me qëllim që të mashtrojnë thirrjet e ardhshme të krijimit.

-V

Printoni versionin e programit të bërë plus një të drejtën e autorit, një listë autorësh dhe një njoftim që nuk ka garanci.

-w

Shtypni një mesazh që përmban dosjen e punës para dhe pas përpunimit tjetër. Kjo mund të jetë e dobishme për gjurmimin e gabimeve nga foletë e ndërlikuara të komandave të bëra rekursive.

-W file

Pretendohet se skedari i synuar sapo është modifikuar. Kur përdoret me flamurin -n , kjo tregon se çfarë do të ndodhte nëse do të modifikonit atë skedar. Pa -n , është pothuajse e njëjtë me drejtimin e një komande prekje në skedarin e dhënë përpara se të vraponi, përveç se koha e modifikimit ndryshohet vetëm në imagjinatën e krijimit .