Make - Linux Command - Unix հրամանատարությունը

make - GNU- ն օգնում է ծրագրերի խմբեր պահպանել

Սինոփսիս

դարձնել [ -f makefile ] [տարբերակ] ... թիրախ ...

Ուշադրություն

Այս էջը GNU- ի արտադրանքի փաստաթղթերի քաղվածք է : Այն թարմացվում է միայն երբեմն, քանի որ GNU- ն չի օգտագործում nroff- ը: Լրիվ, ընթացիկ փաստաթղթերի համար դիմեք make.info ինֆո ֆայլը, որը կատարվում է texinfoinfo ֆայլի make.texinfo- ից :

Նկարագրություն

Օգտագործման նպատակը ավտոմատ կերպով որոշելն է, որ մեծ ծրագրերի կտորները պետք է վերահավաքվեն եւ հանձնեն հրամանները `դրանք կոմպիլյացիա կատարելու համար: Ձեռնարկը նկարագրում է GNU- ի կատարման կատարումը , որը գրվել է Ռիչարդ Ստալմանի եւ Ռոլանդ Մկրտատի կողմից: Մեր օրինակները ցույց են տալիս C- ի ծրագրերը, քանի որ դրանք ամենատարածվածն են, բայց դուք կարող եք օգտագործել ցանկացած ծրագրավորման լեզու, որի կոմպիլյատորը կարող է առաջադրվել shell- ի հրամանով: Իրականում, կատարումը չի սահմանափակվում ծրագրերով: Դուք կարող եք օգտագործել այն նկարագրել ցանկացած խնդիր, որտեղ որոշ ֆայլեր պետք է ինքնաբերաբար թարմացվեն ուրիշներից, երբ մյուսները փոխվեն:

Կատարելագործելու պատրաստելու համար դուք պետք է գրեք այն ֆայլը, որը կոչվում է makefile, որը նկարագրում է ձեր ծրագրում գտնվող ֆայլերի միջեւ եղած հարաբերությունները եւ պետությունները յուրաքանչյուր ֆայլի թարմացման հրամանները: Ծրագրում, սովորաբար, գործարկվող ֆայլը թարմացվում է օբյեկտի ֆայլերից, որոնք, իր հերթին, կատարվում են աղբյուրի ֆայլեր կազմելու միջոցով:

Երբ կա համապատասխան makefile գոյություն, ամեն անգամ, երբ դուք փոխում եք որոշ աղբյուրների ֆայլեր, այս պարզ հրամանատարությունը:

դարձնել

բավարար է կատարել բոլոր անհրաժեշտ վերահաստատումները: Կատարման ծրագիրը օգտագործում է makefile տվյալների բազան եւ ֆայլերի վերջին փոփոխման ժամանակները `որոշելու համար, թե որոնք են ֆայլերի թարմացումը: Յուրաքանչյուր ֆայլի համար այն թողարկում է տվյալների շտեմարանում գրանցված հրամանները:

կատարել մեկ կամ մի քանի թիրախային անուններ թարմացնելու համար makefile- ում հրահանգներ կատարում, որտեղ անունը սովորաբար ծրագիր է: Եթե ​​ոչ տարբերակ չկա, ապա այդ կարգով կստուգեք GNUmakefile , makefile եւ Makefile մակաբույժները :

Սովորաբար պետք է զանգահարեք ձեր makefile կամ makefile կամ Makefile : (Մենք խորհուրդ ենք տալիս Makefile- ն, քանի որ ակնհայտորեն առաջանում է գրացուցակների ցանկի սկզբում, այլ կարեւոր ֆայլերի մոտ, ինչպիսիք են README- ը ): Նշված անունը, GNUmakefile , խորհուրդ չի տրվում մեծամասնության համար: Դուք պետք է օգտագործեք այս անունը, եթե դուք ունեք մի makefile, որը հատուկ է GNU- ի, եւ չի հասկանա այլ տարբերակները կատարել : Եթե makefile- ը `` `ստանդարտ մուտքագրումը կարդացվում է:

թարմացումներ կատարեք թիրախ, եթե այն կախված է նախադրյալ ֆայլերից, որոնք փոփոխվել են, քանի որ թիրախը վերջին անգամ փոփոխվել է, կամ եթե թիրախ չկա:

ԸՆՏՐՈՒԹՅՈՒՆՆԵՐԸ

Այս տարբերակները անտեսվում են կատարման այլ տարբերակների հետ համատեղելիության համար:

-C dir

Փոփոխել դիրեկտորիայի լեռը, նախքան makefiles- ի ընթերցելը կամ որեւէ այլ բան անելը: Եթե բազմակի-C տարբերակները նշված են, յուրաքանչյուրը մեկնաբանվում է նախորդի համեմատ ` -C / -C եւ այլն համարժեք -C / etc: Սա սովորաբար օգտագործվում է վերարտադրողական դավանանքներով:

Տպել ապատեղեկատվություն տեղեկատվությունը, բացի նորմալ վերամշակմամբ: Խափանումների մասին տեղեկատվությունը ցույց է տալիս, որ ֆայլերը դիտարկվում են վերամշակման համար, որոնք համեմատվում են ֆայլի ժամանակների հետ եւ ինչ արդյունքներով, որոնց ֆայլերը, ըստ էության, պետք է վերացվեն, որոնք ակնհայտորեն դիտարկվում են եւ որոնք կիրառվում են --- ամեն ինչ հետաքրքիր է, թե ինչպես է որոշում ինչ անել.

Տրամադրել փոփոխականներ, որոնք վերցված են շրջակա միջավայրի առաջնահերթություններից `makefiles- ի փոփոխականներից:

ֆայլ

Օգտագործեք ֆայլը որպես makefile:

-i

Անհնար անտեսել ֆայլերի վերանորոգման համար կատարված հրամանների բոլոր սխալները:

- I dir

Հատկորոշում է տեղեկատուի dir- ը , ներառյալ կազմված makefiles- ի որոնումը: Եթե ​​մի քանի տարբերակներ օգտագործվում են մի քանի դիրեկտորիաների համար, ապա դիրեկտորիաները որոնվում են նշված կարգով: Ի տարբերություն դրոշի այլ դրոշակակիր փաստարկների, դրոշակները, որոնք տրվում են դրոշներով, կարող են գալ դրոշից անմիջապես հետո: -I dir- ը թույլատրված է, ինչպես նաեւ -I dir: Այս շարադրանքը թույլատրվում է C preprocessor- ի դրոշի հետ համատեղելիության համար:

- աշխատատեղեր

Սահմանում է միաժամանակ աշխատելու համար աշխատատեղերի քանակը (հրամաններ): Եթե ​​կա մեկից ավելի տարբերակ, ապա վերջինն արդյունավետ է: Եթե -j տարբերակը տրվում է առանց փաստարկի, ապա չի սահմանափակի այն աշխատատեղերի քանակը, որոնք կարող են միաժամանակ աշխատել:

Շարունակելուց հետո որքան հնարավոր է շուտ: Չնայած թիրախը, որը ձախողվեց եւ այն կախվածությունը, չի կարող փոխարինվել, այդ թիրախների մյուս կախվածությունը կարող է մշակվել միեւնույն է:

- բեռը

Հստակեցնում է, որ նոր աշխատատեղեր (հրամաններ) չպետք է սկսվեն, եթե կան այլ աշխատողներ, եւ բեռի միջին գինը առնվազն բեռնված է (լողացող կետի համար): Առանց որեւէ փաստարկ, հեռացնում է նախորդ ծանրաբեռնվածությունը:

Տպեք հրամանները, որոնք կատարվելու են, բայց չեն կատարում դրանք:

-o ֆայլը

Չստեղծեք ֆայլի ֆայլը, նույնիսկ եթե այն ավելի հին է, քան իր կախվածությունը, եւ ոչ մի բան չվերաբերեք ֆայլի փոփոխությունների հաշվին: Հիմնականում ֆայլը դիտվում է որպես շատ հին, եւ նրա կանոնները անտեսվում են:

Տպել տվյալների բազան (կանոններ եւ փոփոխական արժեքներ), որոնք առաջացնում են makefiles- ի ընթերցումից. ապա կատարեք որպես սովորական կամ այլ կերպ նշված: Սա նաեւ տպում է « -Վ» փոխարկիչի տրված տարբերակին տրված տեղեկատվությունը (տես ստորեւ): Տվյալների բազան տպելու համար, առանց ջնջելու որեւէ ֆայլ, օգտագործեք -p -f / dev / null- ը:

`` Հարցման ռեժիմը '': Մի գործեք որեւէ հրաման կամ տպեք որեւէ բան. պարզապես վերադարձեք ելքային կարգավիճակ, որը զրո է, եթե սահմանված նպատակները արդեն իսկ արդիական են, այլ կերպ ասած, ոչ:

Վերացնել ներկառուցված փակված կանոնների օգտագործումը: Նաեւ հստակեցրեց լրացուցիչ կանոնների համար լրացուցիչ անվանումները:

Silent operation; տպեք հրամանները, քանի որ դրանք կատարվում են:

Չեղարկել -k տարբերակի ազդեցությունը: Սա երբեք անհրաժեշտ չէ, բացառությամբ այն հանգրվանի , որտեղ կարող եք ժառանգել բարձրակարգ մակարդակից, MAACEFLAGS- ի միջոցով կամ եթե ձեր միջավայրում տեղադրեք MAKEFLAGS- ը:

Հպեք ֆայլերը (նշեք դրանք մինչեւ իսկապես առանց փոխելու դրանք) փոխարենը հրամանները գործելու համար: Դա օգտագործվում է ձեւացնել, որ հրամանները կատարվել են, որպեսզի խաբեին ապագա ապագան:

Տպագիր տարբերակն ավելացրեք հեղինակային իրավունքի, հեղինակների ցանկի եւ ծանուցման, որում չկա երաշխիք:

Տպել հաղորդագրություն, որը պարունակում է աշխատանքային գրացուցակը նախքան եւ հետո այլ մշակման: Սա կարող է օգտակար լինել ռեկուրիստական ​​հրամանների բարդ բույններից սխալների հետեւելու համար:

-W ֆայլը

Պատրաստել, որ թիրախային ֆայլը նոր է փոփոխվել: Երբ օգտագործվում է դրոշով, սա ցույց է տալիս, թե ինչ է տեղի ունենալու, եթե դուք պետք է փոփոխեք այդ ֆայլը: Առանց, ոչ, այն գրեթե նույնն է, ինչ առաջադրվելուց առաջ տվյալ ֆայլում հպում է հպում , բացառությամբ, որ ձեւափոխման ժամանակը փոխվում է միայն կատարման երեւակայության մեջ: