ធ្វើឱ្យ 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 របស់អ្នកថា makefile ឬ Makefile ។ (យើងសូមផ្ដល់អនុសាសន៍ 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 លើឯកសារដែលបានផ្តល់មុនពេល ធ្វើការ រត់លើកលែងតែពេលវេលាកែប្រែត្រូវបានផ្លាស់ប្តូរតែនៅក្នុងការស្រមើលស្រមៃនៃការ បង្កើត ប៉ុណ្ណោះ។