ធ្វើ - ពាក្យបញ្ជាលីនុច - ពាក្យបញ្ជាយូនីក

ធ្វើឱ្យ GNU ធ្វើឱ្យមានប្រយោជន៍ដើម្បីរក្សាក្រុមកម្មវិធី

សង្ខេប

ធ្វើ [ -f makefile ] [ជម្រើស] ... គោលដៅ ...

ព្រមាន

ទំព័រនេះគឺជាការដកស្រង់នៃឯកសាររបស់ GNU make ។ វាត្រូវបានធ្វើបច្ចុប្បន្នភាពតែម្តងម្កាលប៉ុណ្ណោះដោយសារតែគម្រោង GNU មិនប្រើ nroff ។ សម្រាប់ឯកសារពេញលេញឯកសារបច្ចុប្បន្នសូមយោងទៅឯកសារ Info make.info ដែលត្រូវបានបង្កើតពីឯកសារប្រភព Texinfo make.texinfo

ការពិពណ៌នា

គោលបំណងនៃការ បង្កើត ឧបករណ៍នេះគឺដើម្បីកំណត់ដោយស្វ័យប្រវត្តិនូវបំណែកនៃកម្មវិធីធំ ៗ ដែលត្រូវធ្វើឡើងវិញនិងចេញ ពាក្យបញ្ជា ដើម្បីចងក្រងពួកវាឡើងវិញ។ សៀវភៅនេះរៀបរាប់ពីការអនុវត្ដន៍របស់ GNU ដែលត្រូវបានសរសេរដោយលោករីឆាតស្តាលម៉ាន់និងរ៉ូលដម៉ាក់ហ្គ្រីត។ ឧទាហរណ៏របស់យើងបង្ហាញកម្មវិធី C ព្រោះវាមានលក្ខណៈសាមញ្ញបំផុតប៉ុន្តែអ្នកអាចប្រើជាមួយនឹងភាសាសរសេរកម្មវិធីណាមួយដែលកម្មវិធីចងក្រងអាចត្រូវបានរត់ជាមួយពាក្យបញ្ជាសែល។ ជាការពិតការ បង្កើត មិនត្រូវបានកំណត់ចំពោះកម្មវិធីទេ។ អ្នកអាចប្រើវាដើម្បីពិពណ៌នាអំពីភារកិច្ចណាមួយដែលឯកសារមួយចំនួនត្រូវធ្វើបច្ចុប្បន្នភាពដោយស្វ័យប្រវត្តិពីអ្នកដទៃនៅពេលដែលអ្នកដទៃផ្លាស់ប្ដូរ។

ដើម្បីរៀបចំដើម្បីប្រើការ ធ្វើ អ្នកត្រូវសរសេរឯកសារមួយដែលហៅថា makefile ដែលពិពណ៌នាអំពីទំនាក់ទំនងរវាងឯកសារនៅក្នុងកម្មវិធីរបស់អ្នកហើយនិងពាក្យបញ្ជាសម្រាប់ការធ្វើបច្ចុប្បន្នភាពឯកសារនីមួយៗ។ នៅក្នុងកម្មវិធីមួយជាទូទៅឯកសារដែលអាចប្រតិបត្តិបានត្រូវបានធ្វើបច្ចុប្បន្នភាពពីឯកសារវត្ថុដែលត្រូវបានបង្កើតឡើងដោយការចងក្រងឯកសារប្រភព។

នៅពេលដែល makefile សមស្របមានរាល់ពេលដែលអ្នកប្តូរឯកសារប្រភពមួយចំនួនពាក្យបញ្ជាសែលសាមញ្ញនេះ:

បង្កើត

គ្រប់គ្រាន់ដើម្បីអនុវត្តការចងក្រងចាំបាច់ទាំងអស់។ កម្មវិធី ធ្វើឱ្យ ប្រើមូលដ្ឋានទិន្នន័យ makefile និងពេលវេលាកែប្រែចុងក្រោយនៃឯកសារដើម្បីសម្រេចថាតើឯកសារមួយណាត្រូវការធ្វើបច្ចុប្បន្នភាព។ សម្រាប់ឯកសារនីមួយៗនោះវានឹងចេញនូវពាក្យបញ្ជាដែលបានកត់ត្រាក្នុងមូលដ្ឋានទិន្នន័យ។

ធ្វើ ពាក្យបញ្ជាប្រតិបត្តិក្នុង makefile ដើម្បីធ្វើឱ្យទាន់សម័យ ឈ្មោះ គោលដៅមួយឬច្រើនដែល ឈ្មោះ ជាធម្មតាជាកម្មវិធី។ ប្រសិនបើគ្មានជម្រើស -f ទេនោះនឹងរកមើល makefiles GNUmakefile makefile និង Makefile នៅក្នុងលំដាប់នោះ។

។ ជាធម្មតាអ្នកគួរហៅ makefile របស់អ្នកថា makefileMakefile ។ (យើងសូមផ្ដល់អនុសាសន៍ Makefile ពីព្រោះវាលេចឡើងនៅជិតការចាប់ផ្ដើមនៃការរាយបញ្ជីថតនៅខាងស្ដាំឯកសារសំខាន់ៗដទៃទៀតដូចជា README ។ ) ឈ្មោះដំបូងដែលបានធីកគឺ GNUmakefile មិនត្រូវបានណែនាំសម្រាប់ makefiles ច្រើនទេ។ អ្នកគួរតែប្រើឈ្មោះនេះប្រសិនបើអ្នកមាន makefile ដែលជាក់លាក់ចំពោះការ បង្កើត GNU ហើយនឹងមិនត្រូវបានយល់ដោយកំណែផ្សេងទៀតនៃការ បង្កើត ។ ប្រសិនបើ makefile គឺ `- ', ការបញ្ចូលស្តង់ដារត្រូវបានអាន។

ធ្វើឱ្យ ទាន់សម័យគោលដៅមួយប្រសិនបើវាអាស្រ័យលើឯកសារដែលត្រូវបានកែប្រែមុនពេលដែលគោលដៅត្រូវបានកែប្រែចុងក្រោយឬប្រសិនបើគោលដៅមិនមាន។

ជម្រើស

- ខ

-m

ជម្រើសទាំងនេះត្រូវបានអើពើសម្រាប់ភាពឆបគ្នាជាមួយកំណែនៃការ បង្កើតផ្សេងទៀត

- ស៊ីឌី

ប្តូរទៅ ថត dir មុនពេលអាន makefiles ឬធ្វើអ្វីផ្សេងទៀត។ ប្រសិនបើជម្រើស C ត្រូវបានកំណត់នីមួយៗត្រូវបានបកប្រែទាក់ទងទៅមួយមុន: -C / -C etc គឺស្មើនឹង -C / etc ។ នេះត្រូវបានគេប្រើជាទូទៅជាមួយពាក្យពេចន៍ដែលហៅថាការហៅខ្លួនឯង។

-d

បោះពុម្ពព័ត៌មានបំបាត់កំហុសបន្ថែមលើដំណើរការធម្មតា។ ព័ត៌មានបំបាត់កំហុសនិយាយថាឯកសារណាខ្លះត្រូវបានពិចារណាសម្រាប់ការថតឡើងវិញនៅពេលដែលឯកសារត្រូវបានប្រៀបធៀបនិងលទ្ធផលដែលទិន្នន័យត្រូវធ្វើឡើងវិញដែលច្បាប់ត្រូវបានពិចារណានិងដែលត្រូវបានអនុវត្ត --- អ្វីគ្រប់យ៉ាងគួរឱ្យចាប់អារម្មណ៍អំពីរបៀបសម្រេចចិត្ត អ្វី​ដែល​ត្រូវធ្វើ។

- e

ផ្តល់អថេរដែលបានយកមកពីអាទិភាពបរិស្ថានលើអថេរពី makefiles ។

-f

ប្រើ ឯកសារ ជា makefile ។

-i

មិនអើពើកំហុសទាំងអស់នៅក្នុងពាក្យសម្ងាត់ដែលត្រូវបានអនុវត្តដើម្បីថតឯកសារឡើងវិញ។

- i dir

បញ្ជាក់ថត dir ដើម្បីស្វែងរកសម្រាប់ makefiles រួមបញ្ចូល។ ប្រសិនបើជម្រើសច្រើន - I ត្រូវបានប្រើដើម្បីបញ្ជាក់ថតជាច្រើនថតត្រូវបានស្វែងរកក្នុងលំដាប់ដែលបានបញ្ជាក់។ មិនដូចអាគុយម៉ង់ទៅទង់ផ្សេងៗនៃការ បង្កើត ថតដែលបានផ្ដល់ជាមួយ - ទង់ជាតិអាចចូលដោយផ្ទាល់បន្ទាប់ពីទង់ជាតិ: -I dir ត្រូវបានអនុញ្ញាតក៏ដូចជា -I dir ។ វាក្យសម្ព័ន្ធនេះត្រូវបានអនុញ្ញាតសម្រាប់ភាពឆបគ្នាជាមួយនឹងទង់ទង់របស់ C-preprocessor ។

- j

បញ្ជាក់ចំនួនការងារ (ពាក្យបញ្ជា) ដើម្បីដំណើរការក្នុងពេលដំណាលគ្នា។ ប្រសិនបើមានច្រើនជាងមួយ -j ជម្រើស, ចុងក្រោយមួយមានប្រសិទ្ធិភាព។ ប្រសិនបើជម្រើស j ត្រូវបានផ្តល់ឱ្យដោយគ្មានអាគុយម៉ង់ ធ្វើ នឹងមិនកំណត់ចំនួនការងារដែលអាចរត់ក្នុងពេលដំណាលគ្នាបានទេ។

-k

បន្តកាន់តែច្រើនតាមដែលអាចធ្វើបានបន្ទាប់ពីមានកំហុស។ ខណៈដែលគោលដៅដែលបរាជ័យហើយអ្នកដែលពឹងផ្អែកលើវាមិនអាចជួសជុលឡើងវិញភាពអាស្រ័យផ្សេងទៀតនៃគោលដៅទាំងនេះអាចត្រូវបានដំណើរការដូចគ្នាទាំងអស់។

-l

- លី ផ្ទុក

បញ្ជាក់ថាគ្មានការងារថ្មី (ពាក្យបញ្ជា) គួរត្រូវបានចាប់ផ្តើមបើមានការងារផ្សេងទៀតដែលកំពុងដំណើរការហើយចំនួនផ្ទុកផ្ទុកយ៉ាងហោចណាស់ ផ្ទុក (ចំនួនទសភាគ) ។ ដោយគ្មានអាគុយម៉ង់យកចេញដែនកំណត់ផ្ទុកមុន។

-n

បោះពុម្ពពាក្យបញ្ជាដែលនឹងត្រូវបានប្រតិបត្តិប៉ុន្តែកុំប្រតិបត្តិពួកវា។

-o

កុំរំលឹកឯកសារ ឯកសារឡើងវិញ ទោះបីជាវាចាស់ជាងភាពអាស្រ័យរបស់វាក៏ដោយហើយកុំធ្វើអ្វីឡើងវិញនៅលើគណនីនៃការផ្លាស់ប្តូរ ឯកសារ ។ ជាមូលដ្ឋានឯកសារត្រូវបានចាត់ទុកថាចាស់ហើយច្បាប់របស់វាត្រូវបានគេមិនអើពើ។

-p

បោះពុម្ពមូលដ្ឋានទិន្នន័យ (ក្បួននិងតម្លៃអថេរ) ដែលលទ្ធផលពីការអាន makefiles; បន្ទាប់មកប្រតិបត្តិតាមធម្មតាឬតាមការបញ្ជាក់ផ្សេងពីនេះ។ វាក៏បោះពុម្ពព័ត៌មានកំណែដែលបានផ្ដល់ដោយការប្ដូរ -v (សូមមើលខាងក្រោម) ។ ដើម្បីបោះពុម្ពមូលដ្ឋានទិន្នន័យដោយមិនព្យាយាមថតឯកសារឡើងវិញសូមប្រើ make -p -f / dev / null ។

-q

`` របៀបសំណួរ '' ។ កុំរត់ពាក្យបញ្ជាណាមួយឬបោះពុម្ពអ្វី ៗ គ្រាន់តែត្រឡប់ស្ថានភាពចេញដែលជាសូន្យប្រសិនបើមានគោលដៅដែលបានបញ្ជាក់មានភាពទាន់សម័យរួចទៅហើយ, nonzero បើមិនដូច្នេះទេ។

-r

លុបបំបាត់ការប្រើក្បួនដែលមានស្រាប់។ ក៏បានជម្រះចេញបញ្ជីលំនាំដើមនៃបច្ច័យសម្រាប់ច្បាប់បច្ច័យ។

-s

ប្រតិបត្តិការស្ងៀមស្ងាត់ កុំបោះពុម្ពពាក្យបញ្ជានៅពេលដែលវាត្រូវបានប្រតិបត្តិ។

-

បោះបង់បែបផែននៃជម្រើស -k ។ វាមិនចាំបាច់ទេលើកលែងតែនៅក្នុងការហៅខ្លួនឯងថា -k អាចនឹងទទួលបានមកពីការ បង្កើត កម្រិតកំពូលតាមរយៈ MAKEFLAGS ឬប្រសិនបើអ្នកកំណត់ - k នៅក្នុង MAKEFLAGS នៅក្នុងបរិស្ថានរបស់អ្នក។

- ត

ប៉ះឯកសារ (សម្គាល់ពួកវាឱ្យទាន់សម័យដោយមិនបានផ្លាស់ប្ដូរពួកគេពិតប្រាកដ) ជំនួសឱ្យការរត់ពាក្យបញ្ជារបស់ពួកគេ។ នេះត្រូវបានប្រើដើម្បីធ្វើពុតជាពាក្យបញ្ជាត្រូវបានធ្វើដើម្បីលួចបន្លំការ បង្កើត នាពេលអនាគត។

- v

បោះពុម្ពកំណែកម្មវិធី ធ្វើ កម្មវិធីបូកនឹងការរក្សាសិទ្ធិបញ្ជីអ្នកនិពន្ធនិងសេចក្តីជូនដំណឹងថាគ្មានការធានាឡើយ។

-w

បោះពុម្ពសារដែលមានឯកសារធ្វើការមុននិងក្រោយដំណើរការផ្សេង។ នេះអាចមានប្រយោជន៍សម្រាប់ការចុះតាមដានកំហុសពីសំបុកស្មុគ្រស្មាញនៃពាក្យបញ្ជា ធ្វើឱ្យ ហៅខ្លួនឯង។

- W

ស្រមៃថា ឯកសារ គោលដៅទើបតែត្រូវបានកែប្រែ។ នៅពេលប្រើជាមួយទង់ -n វាបង្ហាញអ្នកពីអ្វីដែលនឹងកើតឡើងបើអ្នកត្រូវកែប្រែឯកសារនោះ។ បើគ្មាន -n វាស្ទើរតែដូចគ្នានឹងការរត់ពាក្យបញ្ជា touch លើឯកសារដែលបានផ្តល់មុនពេល ធ្វើការ រត់លើកលែងតែពេលវេលាកែប្រែត្រូវបានផ្លាស់ប្តូរតែនៅក្នុងការស្រមើលស្រមៃនៃការ បង្កើត ប៉ុណ្ណោះ។