ເຮັດ - GNU ເຮັດໃຫ້ປະໂຫຍດເພື່ອຮັກສາກຸ່ມຂອງໂຄງການ
Synopsis
ເຮັດ [ -f makefile ] [option] ... ເປົ້າຫມາຍ ...
ຄໍາເຕືອນ
ຫນ້ານີ້ແມ່ນສານສະກັດຈາກເອກະສານຂອງ GNU ເຮັດ. ມັນໄດ້ຖືກປັບປຸງເທົ່ານັ້ນເພາະວ່າໂຄງການ GNU ບໍ່ໃຊ້ nroff. ສໍາລັບສໍາເລັດສົມບູນ, ເອກະສານປະຈຸບັນ, ເບິ່ງແຟ້ມຂໍ້ມູນ make.info ທີ່ເຮັດຈາກ Texinfo file source make.texinfo .
ລາຍລະອຽດ
ຈຸດປະສົງຂອງການ ເຮັດໃຫ້ ຜົນປະໂຫຍດແມ່ນການກໍານົດອັດຕະໂນມັດທີ່ຕ້ອງປະກອບສ່ວນຊິ້ນສ່ວນຂອງໂຄງການທີ່ມີຂະຫນາດໃຫຍ່ແລະຕ້ອງແກ້ໄຂບັນດາ ຄໍາສັ່ງຕ່າງໆ . ຄູ່ມືອະທິບາຍການປະຕິບັດ GNU ຂອງການ ເຮັດ , ເຊິ່ງໄດ້ຖືກຂຽນໂດຍ Richard Stallman ແລະ Roland McGrath. ຕົວຢ່າງຂອງພວກເຮົາສະແດງໃຫ້ເຫັນໂຄງການ C ນັບຕັ້ງແຕ່ພວກມັນມີສ່ວນຫຼາຍ, ແຕ່ວ່າທ່ານສາມາດໃຊ້ພາສາການຂຽນທີ່ມີໂປແກຼມ compiler ສາມາດໃຊ້ໄດ້ກັບຄໍາສັ່ງ shell. ໃນຄວາມເປັນຈິງ, ເຮັດໃຫ້ ບໍ່ໄດ້ຖືກຈໍາກັດໃນໂຄງການ. ທ່ານສາມາດໃຊ້ມັນເພື່ອອະທິບາຍເຖິງວຽກງານໃດຫນຶ່ງທີ່ບາງໄຟລ໌ຕ້ອງໄດ້ຮັບການປັບປຸງໂດຍອັດຕະໂນມັດຈາກຄົນອື່ນເມື່ອໃດທີ່ຄົນອື່ນປ່ຽນແປງ.
ເພື່ອກຽມພ້ອມທີ່ຈະນໍາໃຊ້, ທ່ານຕ້ອງຂຽນໄຟລ໌ທີ່ເອີ້ນວ່າ makefile ທີ່ອະທິບາຍເຖິງການພົວພັນລະຫວ່າງໄຟລ໌ໃນໂປແກຼມຂອງທ່ານແລະລະບຸຄໍາສັ່ງສໍາລັບການປັບປຸງແຕ່ລະໄຟລ໌. ໃນໂຄງການ, ໂດຍປົກກະຕິໄຟລ໌ທີ່ປະຕິບັດໄດ້ຖືກປັບປຸງຈາກໄຟລ໌ຂອງຈຸດປະສົງ, ຊຶ່ງແມ່ນເຮັດໃນເວລາເຮັດໂດຍການລວບລວມໄຟລ໌ແຫຼ່ງ.
ເມື່ອມີ makefile ທີ່ເຫມາະສົມ, ແຕ່ລະຄັ້ງທີ່ທ່ານປ່ຽນໄຟລ໌ແຫຼ່ງບາງ, ຄໍາສັ່ງ shell ນີ້ງ່າຍດາຍ:
ເຮັດໃຫ້
ພຽງພໍທີ່ຈະປະຕິບັດທັງຫມົດ recompilations ທີ່ຈໍາເປັນ. ໂຄງການ ເຮັດໃຫ້ ໃຊ້ຖານຂໍ້ມູນ makefile ແລະເວລາປ່ຽນແປງຄັ້ງສຸດທ້າຍຂອງໄຟລ໌ເພື່ອຕັດສິນໃຈທີ່ຈະປັບປຸງໄຟລ໌ໃດຫນຶ່ງ. ສໍາລັບແຕ່ລະໄຟລ໌ເຫຼົ່ານັ້ນ, ມັນອອກຄໍາສັ່ງທີ່ບັນທຶກໄວ້ໃນຖານຂໍ້ມູນ.
ເຮັດ ບັນຊີຄໍາສັ່ງໃນ makefile ເພື່ອປັບປຸງຊື່ຫນຶ່ງຫຼືຫຼາຍ ຊື່ ເປົ້າຫມາຍ, ບ່ອນທີ່ ຊື່ ແມ່ນປົກກະຕິເປັນໂຄງການ. ຖ້າບໍ່ມີທາງເລືອກ -f ຈະ ເຮັດໃຫ້ makefiles GNUmakefile , makefile ແລະ Makefile ໃນຄໍາສັ່ງນັ້ນ.
ຕາມປົກກະຕິທ່ານຄວນໂທຫາ makefile ຂອງທ່ານໃຫ້ makefile ຫຼື Makefile . (ພວກເຮົາຂໍແນະນໍາໃຫ້ Makefile ເພາະວ່າມັນປາກົດຢູ່ໃກ້ຈຸດເລີ່ມຕົ້ນຂອງລາຍຊື່ໄດເລກະທໍລີທີ່ຢູ່ໃກ້ກັບໄຟລ໌ທີ່ສໍາຄັນອື່ນໆເຊັ່ນ README .) ຊື່ທໍາອິດທີ່ຖືກກວດສອບ, GNUmakefile , ບໍ່ແນະນໍາໃຫ້ສໍາລັບ makefiles ສ່ວນໃຫຍ່. ທ່ານຄວນໃຊ້ຊື່ນີ້ຖ້າທ່ານມີ makefile ທີ່ຖືກຕ້ອງກັບ GNU ເຮັດ , ແລະຈະບໍ່ໄດ້ຮັບການເຂົ້າໃຈໂດຍສະບັບອື່ນໆຂອງການ ເຮັດ . ຖ້າ makefile ແມ່ນ `- ', ກະລຸນາໃສ່ input ແບບມາດຕະຖານ.
ເຮັດໃຫ້ ການປັບປຸງເປົ້າຫມາຍເປົ້າຫມາຍຖ້າມັນຂຶ້ນກັບໄຟລ໌ທີ່ຕ້ອງການທີ່ຖືກປັບປຸງມາຕັ້ງແຕ່ເປົ້າຫມາຍໄດ້ຖືກດັດແກ້ເທື່ອສຸດທ້າຍ, ຫຼືຖ້າເປົ້າຫມາຍບໍ່ມີ.
OPTIONS
-b
-m
ຕົວເລືອກເຫຼົ່ານີ້ຖືກລະເວັ້ນສໍາລັບຄວາມເຂົ້າໃຈກັບສະບັບອື່ນໆຂອງການ ເຮັດ .
-C dir
ປ່ຽນພາສາ dir ກ່ອນທີ່ຈະອ່ານ makefiles ຫຼືເຮັດຫຍັງອີກ. ຖ້າມີຕົວເລືອກ C ຫຼາຍ, ແຕ່ລະຄົນຈະຖືກຕີລາຄາກັບຄ່າທີ່ຜ່ານມາ: -C / -C etc ແມ່ນເທົ່າກັບ -C / etc. ນີ້ແມ່ນຖືກນໍາໃຊ້ໂດຍປົກກະຕິກັບ invocations recursive ຂອງ ເຮັດໃຫ້ .
-d
ພິມການແກ້ໄຂຂໍ້ມູນຂ່າວສານນອກຈາກການປຸງແຕ່ງປົກກະຕິ. ຂໍ້ມູນການແກ້ໄຂຂໍ້ຂັດແຍ່ງກ່າວວ່າໄຟລ໌ໃດຖືກພິຈາລະນາສໍາລັບການ remaking, ເວລາທີ່ມີເວລາທີ່ຖືກປຽບທຽບແລະກັບຜົນໄດ້ຮັບ, ຊຶ່ງໄຟລ໌ທີ່ຕ້ອງໄດ້ຮັບການແກ້ໄຂໃຫມ່, ຊຶ່ງລະບຽບການທີ່ຖືກຕ້ອງແລະຖືກນໍາໃຊ້ - ທຸກສິ່ງທີ່ຫນ້າສົນໃຈກ່ຽວກັບວິທີການຕັດສິນໃຈ ສິ່ງທີ່ຕ້ອງເຮັດ.
-e
ໃຫ້ຕົວແປທີ່ໄດ້ຮັບຈາກສິ່ງແວດລ້ອມກ່ອນຫນ້ານີ້ກວ່າຕົວແປຈາກ makefiles.
-f file
ໃຊ້ ແຟ້ມ ເປັນ makefile
-i
ປະຕິເສດຂໍ້ຜິດພາດທັງຫມົດໃນຄໍາສັ່ງທີ່ຖືກປະຕິບັດເພື່ອ remake ໄຟລ໌.
-I dir
ລະບຸໄດເລຂອງໄດເລກະທໍລີທີ່ຈະຄົ້ນຫາສໍາລັບ makefiles ລວມ. ຖ້າມີຕົວເລືອກຫລາຍໆ I ຖືກນໍາໃຊ້ເພື່ອກໍານົດໄດເລກະທໍລີຫຼາຍ, ໄດຖືກຄົ້ນຫາໃນຄໍາສັ່ງທີ່ລະບຸໄວ້. ບໍ່ເຫມືອນກັບການໂຕ້ຖຽງກັບປ້າຍອື່ນໆຂອງການ ເຮັດ , ລາຍຊື່ທີ່ໃຫ້ກັບ -I flags ອາດຈະມາໂດຍກົງພາຍຫຼັງທີ່ທົງ: -I dir ຖືກອະນຸຍາດ, ເຊັ່ນດຽວກັນກັບ -I dir. syntax ນີ້ແມ່ນອະນຸຍາດໃຫ້ສໍາລັບການທີ່ເຫມາະສົມກັບ C preprocessor's - flag.
-j jobs
ລະບຸຈໍານວນວຽກ (ຄໍາສັ່ງ) ທີ່ຈະດໍາເນີນການພ້ອມກັນ. ຖ້າມີຫຼາຍກວ່າຫນຶ່ງທາງເລືອກ, ຫນຶ່ງສຸດທ້າຍຈະມີປະສິດຕິພາບ. ຖ້າຕົວເລືອກ -j ແມ່ນໃຫ້ໂດຍບໍ່ມີການໂຕ້ຖຽງ, ເຮັດໃຫ້ ບໍ່ຈໍາກັດຈໍານວນວຽກທີ່ສາມາດດໍາເນີນການພ້ອມໆກັນໄດ້.
-k
ສືບຕໍ່ໃຫ້ຫຼາຍເທົ່າທີ່ເປັນໄປໄດ້ຫຼັງຈາກຄວາມຜິດພາດ. ໃນຂະນະທີ່ເປົ້າຫມາຍທີ່ລົ້ມເຫລວ, ແລະຜູ້ທີ່ຂື້ນກັບມັນ, ບໍ່ສາມາດແກ້ໄຂໄດ້, ຄວາມຂັດແຍ້ງອື່ນໆຂອງເປົ້າຫມາຍເຫຼົ່ານີ້ສາມາດຖືກປະຕິບັດໄດ້ທັງຫມົດ.
-l
-l ໂຫລດ
ລະບຸວ່າບໍ່ມີວຽກໃຫມ່ (ຄໍາສັ່ງ) ທີ່ຄວນຈະເລີ່ມຖ້າມີວຽກອື່ນເຮັດວຽກແລະສະເລ່ຍການໂຫຼດແມ່ນຫນ້ອຍທີ່ສຸດ (ເປັນເລກຈຸດທີ່ຫຼາກຫຼາຍ). ມີການໂຕ້ຖຽງທີ່ບໍ່ມີ, ຖອນກໍານົດຂອບເຂດການໂຫຼດກ່ອນຫນ້ານີ້.
-n
ພິມຄໍາສັ່ງທີ່ຈະຖືກປະຕິບັດ, ແຕ່ບໍ່ປະຕິບັດພວກມັນ.
-o file
ຢ່າເຮັດ remake ໄຟລ໌ໄຟລ ໌ ເຖິງແມ່ນວ່າມັນແມ່ນອາຍຸຫຼາຍກ່ວາຄວາມຕ້ອງການຂອງຕົນ, ແລະບໍ່ remake ຫຍັງກ່ຽວກັບບັນຊີຂອງການປ່ຽນແປງໃນ ໄຟລ໌ . ໂດຍພື້ນຖານແລ້ວໄຟລ໌ນີ້ຖືກປະຕິບັດຕາມເກົ່າແລະກົດລະບຽບຂອງມັນຖືກຍົກເລີກ.
-p
ພິມຖານຂໍ້ມູນ (ກົດລະບຽບແລະຄ່າຕົວແປ) ທີ່ເກີດຈາກການອ່ານ makefiles; ຫຼັງຈາກນັ້ນດໍາເນີນການຕາມປົກກະຕິຫຼືເປັນທີ່ລະບຸໄວ້ຖ້າບໍ່ດັ່ງນັ້ນ. ນີ້ຍັງພິມຂໍ້ມູນທີ່ສະແດງໂດຍການປ່ຽນ -v (ເບິ່ງຂ້າງລຸ່ມນີ້). ການພິມຖານຂໍ້ມູນໂດຍບໍ່ຕ້ອງພະຍາຍາມທີ່ຈະລາກໄຟລ໌ໃດໆ, ໃຫ້ ໃຊ້ make -p -f / dev / null.
-q
`` ໂຫມດຄໍາຖາມ ''. ຢ່າດໍາເນີນການຄໍາສັ່ງໃດໆ, ຫຼືພິມສິ່ງໃດ; ພຽງແຕ່ກັບຄືນສະຖານະການການທ່ອງທ່ຽວທີ່ເປັນສູນຖ້າເປົ້າຫມາຍທີ່ໄດ້ກໍານົດໄວ້ແລ້ວ, ບໍ່ແມ່ນຖ້າບໍ່ດັ່ງນັ້ນ.
-r
ລົບລ້າງການນໍາໃຊ້ກົດລະບຽບທີ່ຖືກສ້າງຂຶ້ນ. ນອກຈາກນີ້ຍັງເຮັດໃຫ້ບັນດາຕົວເລກສໍາລັບຄໍາສັ່ງຍືດຫຍໍ້ຢູ່ໃນບັນຊີລາຍຊື່ເລີ່ມຕົ້ນ.
-s
ການປະຕິບັດງານ silent; ບໍ່ພິມຄໍາສັ່ງດັ່ງທີ່ພວກເຂົາຖືກປະຕິບັດ.
-S
ຍົກເລີກຜົນກະທົບຂອງຕົວເລືອກ -k . ນີ້ບໍ່ແມ່ນຄວາມຈໍາເປັນເວັ້ນເສຍແຕ່ວ່າໃນການ ເຮັດ ແບບຮຽງຕາມບ່ອນທີ່ -k ອາດຈະໄດ້ຮັບການສືບທອດມາຈາກຂັ້ນເທິງ ໃຫ້ ຜ່ານ MAKEFLAGS ຫຼືຖ້າທ່ານຕັ້ງຄ່າ KB ໃນ MAKEFLAGS ໃນສະພາບແວດລ້ອມຂອງທ່ານ.
-t
ແຕະໄຟລ໌ (ຕີໃຫ້ເຂົາເຈົ້າເຖິງວັນໂດຍບໍ່ປ່ຽນແປງມັນແທ້ໆ) ແທນທີ່ຈະເຮັດຄໍາສັ່ງຂອງເຂົາເຈົ້າ. ນີ້ແມ່ນຖືກນໍາໃຊ້ເພື່ອທໍາທ່າວ່າຄໍາສັ່ງດັ່ງກ່າວໄດ້ເຮັດ, ເພື່ອຫລີກເວັ້ນການຮຽກຮ້ອງໃນອະນາຄົດ.
-v
ພິມເວີຊັນຂອງໂປລແກລມ ເຮັດ ພ້ອມກັບລິຂະສິດ, ລາຍະການຂອງຜູ້ຂຽນແລະການແຈ້ງການທີ່ບໍ່ມີການຮັບປະກັນ.
-w
ພິມຂໍ້ຄວາມທີ່ມີໂຟເດີການເຮັດວຽກກ່ອນແລະຫຼັງການປຸງແຕ່ງອື່ນໆ. ນີ້ອາດຈະເປັນປະໂຫຍດສໍາລັບການຕິດຕາມຄວາມຜິດພາດຈາກຮັງສັບສົນຂອງຄໍາສັ່ງ ເຮັດ ຕາມແບບຮີບດ່ວນ.
-W file
ຄາດຄະເນວ່າ ໄຟລ໌ ເປົ້າຫມາຍໄດ້ຖືກດັດແກ້. ເມື່ອນໍາໃຊ້ກັບ flag -n , ນີ້ສະແດງໃຫ້ເຫັນວ່າທ່ານຈະມີຫຍັງເກີດຂຶ້ນຖ້າທ່ານຕ້ອງການແກ້ໄຂໄຟລ໌ນັ້ນ. ໂດຍບໍ່ມີ -n , ມັນແມ່ນເກືອບຄືກັນກັບການໃຊ້ຄໍາສັ່ງ ສໍາພັດ ໃນໄຟລ໌ທີ່ກໍານົດໄວ້ກ່ອນທີ່ຈະເຮັດວຽກ, ເວັ້ນເສຍແຕ່ວ່າເວລາດັດແກ້ຖືກປ່ຽນແປງພຽງແຕ່ໃນການຈິນຕະນາການຂອງການ ເຮັດ .