Linux Komutanlığı - Unix Command

etmək - GNU proqram qruplarını saxlamaq üçün kömək edir

Sinopsis

[ -f makefile ] [seçimi] ... hədəf etmək ...

Uyarı

Bu səhifə, GNU markasının sənədlərinin çıxarışlarından ibarətdir . Yalnızca bəzən yenilənir, çünki GNU layihəsi nroff istifadə etmir. Təqdim etmək üçün, mövcud sənədlər, texinfo.texinfo Texinfo mənbə faylından hazırlanan make.info faylına baxın .

Təsvir

Proqramın məqsədi avtomatik olaraq böyük proqramın hansı hissələrinin yenidən yığılmasını və onları yenidən tərtib etmək üçün əmrləri verməsini müəyyən etməkdir. Kılavuzda, Richard Stallman və Roland McGrath tərəfindən yazılmış GNU tətbiqinin təsviri təsvir edilmişdir. Bizim nümunələrimiz C proqramlarını ən çox göstərdikləri üçün göstərir, ancaq kompilyatorun bir kabuk əmri ilə idarə oluna biləcək hər hansı proqramlaşdırma dili ilə istifadə edə bilərsiniz. Əslində, proqramları məhdudlaşdırmır. Başqalarının dəyişdiyi zaman bəzi faylların başqalarından yenilənməsi lazım olduğu hər hansı bir vəzifəni təsvir etmək üçün istifadə edə bilərsiniz.

Məzmunu hazırlamaq üçün proqramda fayllar arasında əlaqələri təsvir edən makefile adlı bir fayl yazmalısınız və hər bir faylın yenilənməsi üçün əmrləri dövlətlərə yazmalısınız. Bir proqramda, adətən yürütülebilir fayl, öz növbəsində mənbə faylları tərtib edərək edilən obyekt fayllarından yenilənir.

Müvafiq bir makefile olduqda, bir neçə qaynaq faylını dəyişdikdə, bu sadə kabuk əmri:

etmək

Bütün zəruri kompilyasiya işləri yerinə yetirmək üçün kifayətdir. Makiya proqramı makefile verilənlər bazasını və faylların hansı gündə yenilənməsinə ehtiyac olduğunu təyin etmək üçün faylların sonuncu dəyişmə müddətlərini istifadə edir. Bu faylların hər biri üçün verilənlər bazasında qeyd olunan əmrləri verir.

bir və ya daha çox hədəf adını yeniləmək üçün makefile əmrləri yerinə yetirir, burada adı adətən bir proqramdır. Heç bir faylı seçməsək , makedanların GNUmakefile , makefileMakefile -i bu sırada göstərəcəkdir .

Normalda makefile ya makefile, ya Makefile'yi çağırmalısınız. ( Makefile'yi , bir dizin listesinin başlangıcında , README kimi digər mühüm faylların hemen yanında göründüğünden görünür.) GNUmakefile adlı birincisi , çox makefile üçün tavsiye edilmez . GNU-a aid bir makefile sahibisinizsə, bu addan istifadə etməli və digər versiyalarla başa düşülməyəcəksiniz. Makefile `- ', standart giriş oxunur.

hədəf ən son dəyişiklik olduğundan və ya hədəf mövcud olmadığı təqdirdə dəyişikliklər edilmiş ön şərtlərdən asılıdırsa, yeniləmələri bir hədəfə çevirin.

Seçimlər

-b

-m

Bu seçimlər digər versiyaların uyğunluğu ilə məhdudlaşmır.

-C dir

Makefile oxuduğunuzda və ya başqa bir şey etmədən əvvəl dizin üçün dəyişdirin. Çox- C variantları müəyyən edilirsə, hər biri əvvəlki birinə nisbətən şərh olunur: -C / -C və s. Bu, ümumiyyətlə, makiyajın recursive invocations ilə istifadə olunur.

-d

Normal işləmə ilə yanaşı, diskussiya məlumatlarını yazdırın. Hata ayıklama məlumatları, hansı faylları yenidən hazırlamaq üçün nəzərdə tutulduğunu, hansı fayl dövrlərinin müqayisə edildiyini və hansı nəticələrlə, hansı faylları həqiqətən təmizləmək lazım olduğunu, gizli qaydaları nəzərdən keçirildiyini və tətbiq olunduğunu bildirir - qərarın necə olacağı haqqında maraqlıdır nə edəcəyik.

-e

Makefile olan dəyişənlərdən ətraf mühitin prioritetindən alınan dəyişənləri verin.

-f fayl

Dosyayı makefile olaraq istifadə edin.

-i

Faylları yenidən qurmaq üçün əmrlərdə olan bütün səhvləri nəzərə almamaq.

-I dir

Daxil olan makefilesləri axtarmaq üçün dizin dir . Bir neçə variantları bir neçə təyinat təyin etmək üçün istifadə edildikdə, dizinlər göstərilən qaydada axtarış edilir. Başqa bayraqların dəlillərindən fərqli olaraq, bayraqdan sonra bayraqlar birbaşa bayraqdan sonra gələ bilər: -I dir , eləcə də -I dir. Bu sintaksis C preprocessor- I bayrağına uyğunluq üçün icazə verilir.

-j işlərdə

Eyni zamanda işləyən iş sayını (əmrləri) müəyyənləşdirir. Birdən çox -j variantı varsa, sonuncu təsirlidir. -j seçimi bir arqument olmadan verilirsə, eyni vaxtda işləyən iş sayını məhdudlaşdırma.

-k

Bir səhvdən sonra mümkün qədər davam edin. Başarısız olan hədəf və ona asılı olanlar yenidən qurula bilməzsə, bu hədəflərin digər asılılıqları eyni şəkildə işlənə bilər.

-l

yükləyin

Başqalarının işə düşməsi və yükün ən az yüklənməsidir (bir üzən nöqtə sayı) varsa yeni işlərin (əmrlərin) başlanılmadığını bildirir. Heç bir sübut olmadan əvvəlki yük limitini qaldırır.

-n

İcra ediləcək əmrləri çap et, ancaq onları icra etmə.

-o fayl

Fayl faylını , bağımlılıklarından daha böyük olsa da, bərpa etməyin və faylda dəyişiklik hesabına heç bir şeyi düzəltməyin. Əslində fayl çox köhnə kimi qəbul edilir və qaydaları nəzərə alınmır.

-p

Makefile oxuduğundan nəticələnən məlumat bazası (qaydalar və dəyişən dəyərlər); sonra adi qaydada və ya başqa şəkildə göstərildiyi kimi yerinə yetirilməlidir. Bu, həmçinin, -v keçidinin verdiyi versiya məlumatını (aşağıya bax) çap etdirir. Hər hansı bir faylları təkrar etməyə cəhd etmədən məlumat bazasını çap etmək üçün, -f / dev / null -p- istifadə edin .

-q

`` Sual müddəti ''. Heç bir əmr işləməyin və ya bir şey yazdırmayın; yalnız müəyyən edilmiş hədəflər yenə zəngin olduqda sıfır olan çıxış vəziyyətini geri qaytarır, əks halda sıfırdan başqa.

-r

Daxili örtülü qaydaların istifadəsini aradan qaldırın. Əlavə etmə qaydaları üçün əlavə olaraq sonuncu əlavələri silin.

-s

Səssiz əməliyyat; əmrlərini yerinə yetirdikləri kimi yazdırmayın.

-S

-k variantının təsirini ləğv edin. Bu, MAKEFLAGS vasitəsilə üst səviyyəli birləşmədən miras alındıqda və ya mühitinizdə MAKEFLAGS-də yerləşdiyiniz halda təkrarlanan bir məqam istisna olmaqla, bu heç vaxt lazım deyildir.

-t

Touch faylları (onları həqiqətən dəyişdirmədən gündəmə gətirin) əmrlərini yerinə yetirmək yerinə. Bu, əmrlərin gələcək çağırışlarını aldatmaq üçün həyata keçirildiyini iddia etmək üçün istifadə olunur.

-v

Marka proqramının versiyasını və bir müəlliflik hüququnu, yazarların siyahısını və heç bir zəmanət olmadığını bildiriş yazdırın.

-w

Əvvəlcədən və digər emaldan sonra iş kitabını ehtiva edən bir mesajı yazdırın. Bu recursive etmək əmrləri mürəkkəb yuvalardakı səhvləri izləmək üçün faydalı ola bilər.

-W fayl

Hedef faylın yalnız değiştirildiğini varsayın. -n bayrağı ilə istifadə edildikdə, bu faylın dəyişdirilməsi halında nə olacağını göstərir. Heç olmasa, dəyişiklik müddəti yalnız makiyaj xəyalında dəyişdirilməməsi istisna olmaqla, işləməzdən əvvəl verilmiş faylda touch əmrini işlətmək demək olar ki, eynidır.