Გააკეთეთ - Linux Command - Unix Command

გააკეთე - GNU გაადვილება პროგრამების ჯგუფების შენარჩუნებას

სინოფსისი

გააკეთეთ [ -f makefile ] [ვარიანტი] ... სამიზნე ...

გაფრთხილება

ეს გვერდი არის GNU- ის დოკუმენტაციის ამონაწერი . მხოლოდ განახლება ხდება მხოლოდ იმიტომ, რომ GNU პროექტი არ იყენებს nroff. სრული, მიმდინარე დოკუმენტაცია, იხილეთ ინფორმაცია ფაილი make.info რომელიც მზადდება Texinfo წყაროს ფაილის make.texinfo .

აღწერა

მიზანშეწონილობის მიზანია, ავტომატურად განსაზღვროს, თუ რომელი პროგრამის დიდი ნაწილი უნდა ხელახლა ჩაიწეროს და ბრძანებები გამოსწორდეს მათთვის. სახელმძღვანელო აღწერს GNU შესრულების გაკეთებას , რომელიც დაიწერა რიჩარდ სტალინმა და როლანდ მაკგრეტმა. ჩვენი მაგალითები აჩვენებს C პროგრამებს, რადგან ისინი ყველაზე გავრცელებულია, მაგრამ შეგიძლიათ გამოიყენოთ ნებისმიერი პროგრამირების ენა, რომლის შემდგენელიც შეიძლება შეასრულოს shell ბრძანება. სინამდვილეში, გააკეთე არ შემოიფარგლება პროგრამები. თქვენ შეგიძლიათ გამოიყენოთ ის ნებისმიერი ამოცანის აღწერისთვის, სადაც სხვები შეცვლილნი არიან სხვებისგან ავტომატურად განახლება.

მოსამზადებლად გამოსაყენებლად გამოიყენეთ ფაილი, რომელსაც უწოდებთ makefile- ს, რომელიც აღწერს თქვენს პროგრამებში ფაილებს შორის კავშირებს და აცხადებს თითოეული ფაილის განახლების ბრძანებებს. პროგრამაში, როგორც წესი, შესრულებადი ფაილი განახლდება ობიექტის ფაილი, რომლებიც თავის მხრივ მიერ შედგენა წყარო ფაილი.

ერთხელ შესაფერისი makefile არსებობს, ყოველ დროს, თქვენ შეცვლით წყაროს ფაილები, ამ მარტივი ჭურვი ბრძანება:

გააკეთოს

საკმარისია შეასრულოს ყველა საჭირო რეკომიზაცია. პროგრამის შექმნა იყენებს filefile- ის მონაცემთა ბაზას და ფაილების ბოლო მოდიფიკაციის დროს, რომელთა გადაწყვეტისას საჭიროა ფაილების განახლება. თითოეული ამ ფაილებისთვის, ის მონაცემთა ბაზაში ჩაწერილი ბრძანებებია.

განახორციელოს ბრძანებები makefile, რომ განაახლოს ერთი ან მეტი სამიზნე სახელები , სადაც სახელი , როგორც წესი, პროგრამა. თუ არაფრის ვარიანტი არსებობს, შეამოწმეთ შემუშავებული დანადგარები: GNUmakefile , makefile და Makefile , ამ მიზნით.

როგორც წესი, თქვენ უნდა დარეკოთ თქვენი makefile ან makefile ან Makefile . (ჩვენ ვურჩევთ Makefile- ს, რადგან ის ჩნდება დირექტორიაში არსებულ სხვა მნიშვნელოვან ფაილებთან ახლოს, როგორიცაა: README .) პირველი სახელი შეამოწმა, GNUmakefile არ არის რეკომენდებული ყველაზე მეტად. თქვენ უნდა გამოიყენოთ ეს სახელი, თუ თქვენ გაქვთ makefile, რომელიც სპეციფიკურია GNU, და ვერ გაიგებს სხვა ვერსიები. თუ ' makefile' არის `- ', სტანდარტული შეყვანა წაიკითხავს.

იცვლება სამიზნე, თუ ის დამოკიდებულია წინაპირობების ფაილებზე, რომლებიც შეცვლილია, რადგან სამიზნე შეცვლილია, ან თუ სამიზნე არ არსებობს.

პარამეტრები

-ბ

-m

ეს პარამეტრები იგნორირებულია სხვა ვერსიების შესადარებლად.

-C რეჟ

შეცვალეთ დირექტორიაში, სანამ კითხულობს ხელსაწყოებს ან აკეთებს სხვა რამეს. თუ მრავალჯერადი -C პარამეტრები განსაზღვრულია, თითოეული ინტერპრეტაციას ახდენს შედარებით ადრე: -C / -C და ა.შ. ეს, როგორც წესი, გამოიყენება რეკურსიული invocations მიიღოს .

-d

დაბეჭდვის სარეზერვო ინფორმაციის გარდა ნორმალური დამუშავების გარდა. სადისერტაციო ინფორმაცია ითვალისწინებს რა ფაილებს განიხილავს remaking, რომელიც ფაილ-ჯერ შედარებით ხდება და რა შედეგებს იძლევა ფაილები, რომელთა რეალურად რეაგირება უნდა მოხდეს, რაც ითვალისწინებს დაფარულ წესებს და რომლებიც გამოიყენება - ყველაფერი საინტერესოა, თუ როგორ გადაწყვეტს რა უნდა ვქნა.

-ე

მიეცით ცვლადები აღებული გარემოს უპირატესობა ცვლადები საწყისი makefiles.

-f ფაილი

გამოიყენეთ ფაილი , როგორც makefile.

-მე

ყველა შეცდომის იგნორირება ბრძანებებით, რათა შესრულდეს ფაილების გადამუშავება.

დიახ

განსაზღვრავს დირექტორიის რეჟიმს, რათა მოიძიოთ ჩადგმული ჩანართები. თუ რამდენიმე-ის ვარიანტს მიმართავს რამდენიმე დირექტორიის მითითება, მითითებები მითითებულია ბრძანებით. სხვა დროშებისგან განსხვავებული არგუმენტებისგან განსხვავებით, დროშის დროებით შეიძლება მივიდეს პირდაპირ დროში: -I dir დასაშვებია, ისევე როგორც -I dir. ეს სინტაქსი დასაშვებია C პროპროცესორი-ის დროშათ.

-ჯ სამუშაოები

განსაზღვრავს სამუშაო ადგილების (ბრძანებების) რაოდენობა ერთდროულად. თუ არსებობს ერთზე მეტი- j ვარიანტი, ბოლო არის ეფექტური. თუ -j პარამეტრი არგუმენტის გარეშეა, არ შეზღუდავს სამუშაო ადგილების რაოდენობას, რომელიც შეიძლება ერთდროულად განახორციელოს.

-k

შეცდომის შემდეგ მაქსიმალურად გააგრძელეთ. მიუხედავად იმისა, რომ სამიზნე, რომელიც ვერ მოხერხდა, და ის, რომ მასზე დამოკიდებული, არ შეიძლება remade, სხვა dependencies ამ სამიზნეების შეიძლება დამუშავებული ყველა იგივე.

-l

-l დატვირთვა

განსაზღვრავს, რომ არ არის ახალი სამუშაო ადგილები (ბრძანებები) უნდა დაიწყოს თუ სხვა სამუშაო ადგილია დატვირთვის საშუალო დატვირთვა (მცურავი პუნქტიანი რიცხვი). არგუმენტით, მოხსნის წინა დატვირთვის ლიმიტს.

-ნ

ამობეჭდე ბრძანება, რომელიც შესრულდება, მაგრამ არ შეასრულებს მათ.

-o ფაილი

არ ხელახლა ჩაიწეროთ ფაილური ფაილიც კი, თუ ეს უფრო ძველია, ვიდრე მისი დამოკიდებულებები და არ ხელახლა გადაკეთება ფაილში ცვლილებების გამო. არსებითად ფაილი განიხილება, როგორც ძალიან ძველი და მისი წესები იგნორირებულია.

-p

ბეჭდვითი მონაცემების ბაზა (წესები და ცვლადი მნიშვნელობები), რომელიც შედეგების წაკითხვის შედეგებს იწვევს; შემდეგ შეასრულოს ჩვეულებრივი ან სხვაგვარად მითითებული. ეს ასევე ბეჭდავს ვერსია ინფორმაცია მიერ -v შეცვლა (იხ. ქვემოთ). მონაცემთა ბაზის დასაბეჭდად ნებისმიერი ფაილების გადამუშავების გარეშე, გამოიყენეთ make -p -f / dev / null.

-q

`` კითხვის რეჟიმი ''. არ აწარმოოთ ნებისმიერი ბრძანება, ან ბეჭდვითი არაფერი; მხოლოდ დაბრუნების გასასვლელად სტატუსი, რომელიც ნულოვანია, თუ კონკრეტული სამიზნეები უკვე დღემდეა, nonzero სხვაგვარად.

-რ

აღმოფხვრა ჩამონტაჟებული დაფარული წესების გამოყენება. ასევე გასუფთავდება სუფიქსის წესების ნაგულისხმევ სიას.

-გ

მდუმარე ოპერაცია; არ ახსენოთ ბრძანებები, როგორც ისინი შესრულებულია.

-S

გაუქმება- k ვარიანტი. ეს არასდროს არ არის აუცილებელი, გარდა რეკურსიული ხელსაწყოებით, სადაც შეიძლება იყოს მემკვიდრეობა მაღალ დონეზე, რათა გაააქტიუროთ MAKEFLAGS- ის საშუალებით ან თქვენს გარემოში MAKEFLAGS- ში.

-t

შეეხეთ ფაილებს (მათი განახლების გარეშე), მათი ბრძანებების ნაცვლად. ეს გამოიყენება იმისთვის, რომ ბრძანებები გაკეთდა იმისათვის, რომ მომავალში მოატყუოთ შემოთავაზებები.

-ვ

ბეჭდვის ვერსია პროგრამა ასევე საავტორო, ავტორთა სია და შენიშვნა, რომ არ არსებობს გარანტია.

-w

ბეჭდვის გზავნილის შემცველი სამუშაო დამუშავების დაწყებამდე და დამთავრების შემდეგ. ეს შეიძლება სასარგებლო იყოს რეკურსიული ბრძანებების გართულებული ბუდეებისგან.

-W ფაილი

ვარაუდობენ, რომ სამიზნე ფაილი ახლახანს შეცვლილია. როდესაც გამოყენებულია -n დროშა, ეს გვიჩვენებს, რა მოხდება, თუ იყო შეცვლილი ეს ფაილი. უშედეგოდ, ეს თითქმის იგივეა, როგორც გაშვებული ბრძანება მოცემულ ფაილზე გაშვებამდე, გარდა იმ ცვლილებისა, რომ მოდიფიკაციის დრო შეიცვალოს მხოლოდ წარმოდგენაში.