ഉണ്ടാക്കുക - ലിനക്സ് ആജ്ഞ - യുണിക്സ് കമാൻഡ്

ഉണ്ടാക്കുക - ഗ്രൂപ്പിന്റെ പ്രോഗ്രാമുകൾ നിലനിർത്താൻ ഗ്നു പ്രയോജനപ്പെടുത്തുന്നു

സംഗ്രഹം

[ -f makefile ] [option] ... ലക്ഷ്യം ഉണ്ടാക്കുക ...

മുന്നറിയിപ്പ്

ഗ്നു നിർമ്മിയ്ക്കുന്നതിനുള്ള വിവരണക്കുറിപ്പുകളാണു് ഈ താൾ . ഗ്നു പ്രൊജക്റ്റ് ഉപയോഗിയ്ക്കുന്നില്ല കാരണം ചിലപ്പോൾ ഇത് പുതുക്കിയിരിയ്ക്കുന്നു. പൂർണ്ണമായി, നിലവിലെ ഡോക്യുമെന്റേഷൻ, Texinfo സോഴ്സ് ഫയൽ make.texinfo നിർമ്മിച്ചിരിക്കുന്ന ഇൻഫോക്സ് ഫയൽ making.info റഫർ ചെയ്യുക .

വിവരണം

ഒരു വലിയ പ്രോഗ്രാമിന്റെ വലിയ ഭാഗങ്ങൾ വീണ്ടും കംപൈൽ ചെയ്യേണ്ടതും അവ വീണ്ടും വീണ്ടും കംപൈൽ ചെയ്യാൻ കമാൻഡുകൾ പുറപ്പെടുവിക്കേണ്ടതുമാണ് സ്വയം നിർണ്ണയിക്കുന്നത്. റിച്ചാർഡ് സ്റ്റാൾമാൻ, റോലാണ്ട് മക്ഗ്രാത്ത് എന്നിവ രചിച്ച ഗ്നു നടപ്പിലാക്കുന്ന നിർവ്വചനം മാനുവൽ വിവരിക്കുന്നു. ഏറ്റവും സാധാരണമായതിനാൽ ഞങ്ങളുടെ ഉദാഹരണങ്ങൾ സി പ്രോഗ്രാമുകൾ കാണിക്കുന്നു, എന്നാൽ ഏത് പ്രോഗ്രാമിങ് ഭാഷയിലും നിങ്ങൾക്ക് ഉപയോഗിക്കാം, അതിൻറെ കമ്പൈലർ ഷെൽ കമാന്ഡിലൂടെ പ്രവർത്തിപ്പിക്കാം. വാസ്തവത്തിൽ, പരിപാടികൾ പരിമിതപ്പെടുത്തുന്നില്ല. മറ്റുള്ളവർ മാറ്റം വരുത്തുമ്പോൾ ചില ഫയലുകൾ മറ്റുള്ളവരിൽ നിന്ന് സ്വപ്രേരിതമായി പുതുക്കേണ്ടുന്ന ഏത് ടാസ്ക്നെയും വിവരിക്കാൻ ഇത് ഉപയോഗിക്കാം.

തയ്യാറാക്കാൻ തയ്യാറാകാൻ, നിങ്ങളുടെ പ്രോഗ്രാമിലെ ഫയലുകളുടെ തമ്മിലുള്ള ബന്ധങ്ങളെ വിവരിക്കുന്ന makefile എന്ന് ഒരു ഫയലും, ഓരോ ഫയലും അപ്ഡേറ്റ് ചെയ്യുന്നതിനുള്ള കമാൻഡുകൾ രേഖപ്പെടുത്തണം. ഒരു പ്രോഗ്രാമിൽ, സാധാരണയായി എക്സിക്യൂട്ടബിൾ ഫയൽ ഒബ്ജക്റ്റ് ഫയലുകളിൽ നിന്നും അപ്ഡേറ്റ് ചെയ്യപ്പെടുന്നു, അവ സ്രോതസംഖ്യകൾ കംപൈൽ ചെയ്തുകൊണ്ടാണ് നിർമ്മിച്ചിരിക്കുന്നത്.

അനുയോജ്യമായ makefile ലഭ്യമാണെങ്കിൽ, ഓരോ സ്രോതസ്സും നിങ്ങൾ ഓരോ തവണ മാറ്റിയാൽ, ഈ ലളിത ഷെൽ കമാൻഡ്:

ഉണ്ടാക്കുക

ആവശ്യമായ എല്ലാ അനുരഞ്ജനങ്ങളും ചെയ്യാൻ മതി. ഏത് ഫയലുകളാണ് അപ്ഡേറ്റ് ചെയ്യേണ്ടത് എന്ന് തീരുമാനിക്കാൻ making makefile ഡാറ്റ ബേസ്, ഫയലിന്റെ അവസാന-പരിഷ്കരിച്ച സമയം എന്നിവ ഉപയോഗിക്കുന്നത്. ഓരോ ഫയലിനും, ഡാറ്റാബേസിൽ റെക്കോർഡുചെയ്ത ആജ്ഞകൾ ഇത് നൽകുന്നു.

ഒന്നോ അതിലധികമോ ടാർഗെറ്റ് പേരുകൾ പുതുക്കുന്നതിന് makefile ലെ എക്സിക്യൂട്ട് കമാൻഡുകൾ ഉണ്ടാക്കുക , ഇവിടെ സാധാരണയായി ഒരു പ്രോഗ്രാം ആണ്. No -f ഐച്ഛികം ലഭ്യമാണെങ്കിൽ , ആ ക്രമത്തിൽ makefiles ഗ്നുമാക്ക്ഫീൽഡ് , makefile , Makefile എന്നിവ തെരയുനില്ല .

സാധാരണയായി നിങ്ങളുടെ makefile അല്ലെങ്കിൽ makefile അല്ലെങ്കിൽ Makefile കോൾ ചെയ്യണം. (നമ്മൾ Makefile ശുപാര്ശ ചെയ്യുന്നു. കാരണം ഇത് ഒരു ഡയറക്ടറി ലിസ്റ്റിന്റെ ആരംഭഭാഗത്തായിരിക്കാം , README പോലുള്ള മറ്റ് പ്രധാനപ്പെട്ട ഫയലുകള്ക്ക് സമീപമായി പ്രത്യക്ഷപ്പെടുന്നു.) പരിശോധിച്ച ആദ്യത്തെ പേര്, ഗ്നുമാക്ക്ഫെയ്ക്ക് , മിക്ക മോട്ടൈഫയലുകള്ക്കും ഉചിതമല്ല. നിങ്ങൾക്കു് ഗ്നു നിർമ്മിത വിശേഷതയ്ക്കു് Makefile ഉണ്ടെങ്കിൽ ഈ പേരു് ഉപയോഗിയ്ക്കണം, കൂടാതെ, മറ്റ് രൂപാന്തരങ്ങളുപയോഗിച്ചു് മനസ്സിലാകുന്നതുമല്ല. ' Makefile ' ആണെങ്കിൽ `സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് ആണ് വായിക്കുന്നത്.

ലക്ഷ്യം പരിഷ്ക്കരിച്ചതിനു ശേഷം പരിഷ്ക്കരിച്ച മുൻകരുതൽ ഫയലുകളെ ആശ്രയിച്ചിരിക്കുന്നു, അല്ലെങ്കിൽ ലക്ഷ്യം നിലവിലില്ലെങ്കിൽ അപ്ഡേറ്റുകൾ ഒരു ലക്ഷ്യം ഉണ്ടാക്കുക .

ഓപ്ഷനുകൾ

-ബി

-m

മറ്റ് പതിപ്പുകളുമായി പൊരുത്തപ്പെടുന്നതിന് ഈ ഓപ്ഷനുകൾ അവഗണിക്കും.

-C dir

Makefiles വായിക്കുന്നതിനോ അല്ലെങ്കിൽ മറ്റെന്തെങ്കിലും ചെയ്യുന്നതിനോ മുമ്പ് ഡയറക്ടറി ഡിറിലേക്ക് മാറുക. ഒന്നിലധികം -C ഉപാധികൾ വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, ഓരോന്നും മുൻപത്തെ ബന്ധുമില്ലാതെയാണ് സൂചിപ്പിക്കുന്നത്: -C / -C തുടങ്ങിയവ -C / etc ന് തുല്യമാണ്. ഇത് ഉണ്ടാക്കുന്ന റിക്കർഷിഷ് ഇൻവോക്കേഷനുകളുപയോഗിച്ച് ഇത് സാധാരണയായി ഉപയോഗിക്കും.

-d

സാധാരണ പ്രോസസ്സിംഗ് കൂടാതെ ഡീബഗ്ഗിംഗ് വിവരങ്ങളും അച്ചടിക്കുക. ഡീബഗ്ഗിംഗ് വിവരങ്ങളിൽ റിമൈക്കിംഗിനായി ഏത് ഫയലുകളാണ് പരിഗണിക്കുന്നത്, ഏത് ഫയൽ-ടൈമുകൾ താരതമ്യം ചെയ്യുന്നു, എന്ത് ഫലങ്ങളാണ് യഥാർത്ഥത്തിൽ പുനർനിർമ്മിക്കേണ്ടത്, ആധികാരികമായ നിയമങ്ങൾ പരിഗണിക്കപ്പെടുകയും അവ ബാധകമാവുകയും ചെയ്യുന്നു --- എങ്ങനെ തീരുമാനമെടുക്കുന്നു എന്നതിനെക്കുറിച്ചുള്ള രസകരമായത് എന്തുചെയ്യും.

-ഇ

ചരക്ക് കൈമാറ്റം ചെയ്യുന്നതിൽ നിന്നും വേരിയബിളുകൾ മുഖേന പരിസ്ഥിതി മുൻഗണനയിൽ നിന്നും വേരിയബിളുകൾ നൽകുക.

-f ഫയൽ

Makefile ആയി ഫയൽ ഉപയോഗിയ്ക്കുക .

-i

റീമേക്ക് ഫയലുകൾക്കായി നിർവ്വചിച്ച കമാൻഡുകളിൽ എല്ലാ പിശകുകളും അവഗണിക്കുക.

- ഞാൻ സർ

ഉള്പ്പെടുത്തുന്നത് makefiles തിരയുന്നതിനായി ഒരു ഡയറക്ടറി dir വ്യക്തമാക്കുന്നു. അനവധി ഡയറക്ടറികൾ നിഷ്കർഷിക്കുന്നതിനായി അനവധി -ഐഐഐകൾ ഉപയോഗിയ്ക്കുന്നെങ്കിൽ, നൽകിയിരിക്കുന്ന ക്രമത്തിൽ ഒരെണ്ണം തിരയുന്നു. മറ്റ് ഫ്ലാഗുകൾക്കുള്ള ആർഗ്യുമെന്റുകളിൽ നിന്ന് വ്യത്യസ്തമായി, ഐ-ഫ്ലാഗുകൾ നൽകിയിരിക്കുന്ന ഡയറക്ടറികൾ പതാകത്തിനുശേഷം നേരിട്ട് വരാം: -I dir അനുവദനീയമാണ്, കൂടാതെ -I dir. സി പ്രീപ്രോസസറിന്റെ-ഐ ഫ്ലാഗ് പൊരുത്തപ്പെടുത്താൻ ഈ സിന്റക്സ് അനുവദിച്ചിരിക്കുന്നു.

-j ജോലികൾ

ഒരേ സമയത്തു് പ്രവർത്തിപ്പിയ്ക്കുന്നതിനുള്ള ജോലികളുടെ എണ്ണം (കമാൻഡുകൾ) വ്യക്തമാക്കുന്നു. ഒന്നിലധികം- j ഓപ്ഷൻ ഉണ്ടെങ്കിൽ, അവസാനത്തേത് ഫലപ്രദമാണ്. ഒരു വാദമുഖമില്ലാതെ -j ഐച്ഛികം നൽകിയിട്ടുണ്ടെങ്കിൽ, ഒരേ സമയത്ത് പ്രവർത്തിപ്പിക്കാനാകുന്ന തൊഴിലുകളുടെ എണ്ണം പരിമിതപ്പെടുത്തുകയുമില്ല.

-k

ഒരു പിശക് ശേഷം കഴിയുന്നത്രയും തുടരുക. പരാജയപ്പെട്ട ലക്ഷ്യം, അതിൽ ആശ്രയിക്കുന്നവയെ പുനർവിഭജിക്കാൻ കഴിയില്ല, ഈ ടാർജറ്റിന്റെ മറ്റ് ആശ്രിതതകൾ എല്ലാം ഒരേപോലെത്തന്നെ പ്രക്രിയപ്പെടുത്തുന്നു.

-l

-l ലോഡ്

മറ്റുള്ളവരെ ജോലി ചെയ്യുന്നതും ലോഡ് ശരാശരി കുറഞ്ഞത് കുറഞ്ഞതും (ഫ്ലോട്ടിങ് പോയിന്റ് നമ്പർ) ആണെങ്കിൽ പുതിയ ജോലികൾ (ആജ്ഞകൾ) ആരംഭിക്കരുത് എന്ന് നിർദ്ദേശിക്കുന്നു. ഒരു വാദം ഇല്ലാതെ, ഒരു മുൻ ലോഡ് പരിധി നീക്കം ചെയ്യുന്നു.

-n

എക്സിക്യൂട്ട് ചെയ്യുന്ന ആജ്ഞകൾ പ്രിന്റ് ചെയ്യുക, പക്ഷെ അവ നടപ്പിലാക്കരുത്.

-o ഫയൽ

ഫയലിന്റെ ഫയൽ അതിന്റെ ഡിപൻഡൻസികളേക്കാൾ പഴയതാണെങ്കിൽ പോലും ഫയൽ റീമെയിൽ ചെയ്യരുത്, കൂടാതെ ഫയലിലെ മാറ്റങ്ങളുടെ അടിസ്ഥാനത്തിൽ ഒന്നും റീമാറെ ചെയ്യരുത്. അടിസ്ഥാനപരമായി ഫയൽ വളരെ പഴയതാണ്, അതിന്റെ നിയമങ്ങൾ അവഗണിക്കുകയാണ്.

-p

Makefiles വായിക്കുന്നതിൽ നിന്ന് ലഭിച്ച ഡാറ്റ ബേസ് (റൂളുകൾ, വേരിയബിൾ മൂല്യങ്ങൾ) അച്ചടിക്കുക; സാധാരണ പോലെ അല്ലെങ്കിൽ നിർദ്ദിഷ്ടമായി നിർവ്വചിക്കുക. -v സ്വിച്ച് (താഴെ കാണുക) നൽകിയ പതിപ്പു് വിവരങ്ങളും ഇതു് പ്രിന്റ് ചെയ്യുന്നു. ഏതെങ്കിലും ഫയൽ റീമെയിലാക്കാതെ ഡാറ്റ ബേസ് പ്രിന്റ് ചെയ്യാൻ, make -p -f / dev / null ഉപയോഗിക്കുക.

-ഖാ

`` ചോദ്യ മോഡ് ''. ഏതെങ്കിലും ഒരു കമാൻഡ് പ്രവർത്തിപ്പിക്കുക, അല്ലെങ്കിൽ ഒന്നും പ്രിന്റ് ചെയ്യരുത്; നിർദ്ദിഷ്ട ടാർഗെറ്റുകൾ നേരത്തെ തന്നെ കാലികമാണെങ്കിൽ, പൂജ്യമില്ലാത്ത ഒരു എക്സിറ്റ് സ്റ്റാറ്റസ് തിരികെ നൽകുക.

-ആർ

അന്തർനിർമ്മിത ഇൻറ്റിറ്റ് നിയമങ്ങൾ ഒഴിവാക്കുക. സഫിക്സ് നിയമങ്ങളുടെ പ്രത്യകങ്ങളുടെ പട്ടികയും നീക്കം ചെയ്യുക.

-s

നിശബ്ദ പ്രവർത്തനം; കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ അച്ചടിക്കാൻ പാടില്ല.

-S

-k ഐച്ഛികത്തിന്റെ ഫലം റദ്ദാക്കുക. MAKEFLAGS മുഖേന മുകളിൽ ലെവൽ ഉണ്ടാക്കുന്നതിനോ അല്ലെങ്കിൽ നിങ്ങളുടെ പരിതസ്ഥിതിയിൽ നിങ്ങൾ MAKEFLAGS- ൽ സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിലോ ഒരു പുനർവായനത്തിനുള്ളിൽ ഇത് ഒരിക്കലും ആവശ്യമില്ല.

-t

അവരുടെ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് പകരം ഫയലുകൾ സ്പർശിക്കുക (യഥാർത്ഥത്തിൽ അവ മാറ്റാതെ തന്നെ അവയെ അടയാളപ്പെടുത്തുക). ഭാവിയിൽ വരുത്തേണ്ട നിർദ്ദേശങ്ങൾ കെട്ടിച്ചമയ്ക്കുന്നതിനുവേണ്ടി ആജ്ഞകൾ നടന്നതായി ഭാവിക്കാൻ ഇത് ഉപയോഗിക്കുന്നു.

-v

നിർമ്മാണ പ്രോഗ്രാമിന്റെ പതിപ്പും പകര്പ്പവകാശവും, രചയിതാക്കളുടെ ഒരു ലിസ്റ്റും, യാതൊരു വാറന്റിയും ഇല്ലെന്ന അറിയിപ്പും അച്ചടിക്കുക.

-w

മറ്റ് പ്രോസസ്സിംഗിനും ശേഷവും പ്രവർത്തിച്ച ഡയറക്ടറി അടങ്ങുന്ന ഒരു സന്ദേശം പ്രിന്റ് ചെയ്യുക. പുനർപരിശോധന നടത്താനുള്ള കമാൻഡുകളുടെ സങ്കീർണ്ണമായ കൂടുകളിൽ നിന്ന് പിശകുകൾ ട്രാക്കുചെയ്യുന്നതിന് ഇത് ഉപയോഗപ്രദമാകും.

-W ഫയൽ

ടാർഗെറ്റ് ഫയൽ ഇപ്പോൾ പരിഷ്ക്കരിച്ചിട്ടുണ്ട് എന്ന് ഭാവിക്കുന്നു. -n ഫ്ലാഗ് ഉപയോഗിച്ച് ഉപയോഗിക്കുമ്പോൾ, ആ ഫയൽ നിങ്ങൾ പരിഷ്ക്കരിക്കണമെങ്കിൽ എന്ത് സംഭവിക്കുമെന്ന് ഇത് കാണിച്ചുതരുന്നു. N അല്ലാതെ, ഇതു് പ്രവർത്തിയ്ക്കുന്നതിനു് മുമ്പു് ഒരു ടച്ച് കമാൻഡ് പ്രവർത്തിയ്ക്കുന്നതു് ഏതാണ്ടു് തന്നെയാണെങ്കിലും, മാറ്റം വരുത്തിയ സമയത്തിന്റെ മാറ്റം മാത്രമേ മാറ്റം വരുത്തുവാൻ സാധിക്കൂ.