Linux ตั้งแต่เริ่มต้น [ปิด]


1

ขณะนี้ฉันกำลังทำ Linux จาก Scratch.I ดาวน์โหลดแพคเกจบางอย่างฉันคลายซิปโดยใช้คำสั่ง "tar" และทำสิ่งต่อไปนี้ภายในแพ็คเกจที่แตกออก

  1. กำหนดค่า
  2. ทำ
  3. ทำการทดสอบ
  4. ทำการติดตั้ง

อีกหนึ่งสิ่งที่ makefile คืออะไร?

โปรดอธิบายวัตถุประสงค์ของคำสั่งเหล่านี้ให้ฉันโดยเฉพาะในแง่ของ LFS ขอบคุณล่วงหน้า


สคริปต์กำหนดค่าจัดทำโดย autotools. หากคุณตรวจสอบ Google, WikiPedia เป็นต้น Makefile และ autotools configure script คุณควรได้รับทรัพยากรมากมายสำหรับการเรียนรู้เกี่ยวกับพวกเขา
BenjiWiebe

คำตอบ:


-1

ฉันรู้ว่ามันทำอะไร แต่ฉันไม่แน่ใจว่าฉันจะอธิบายได้อย่างไร

โดยทั่วไปกับลำดับของคำสั่งที่คุณกล่าวถึงว่าคุณกำลังสร้างบางสิ่งในรูปแบบไบนารีที่ปฏิบัติการได้ (โปรแกรม, ไลบรารี) จากซอร์สโค้ด (เช่นโค้ดที่เขียนด้วยภาษาโปรแกรม) และติดตั้งในระบบปฏิบัติการของคุณ (ย้ายไปยังโฟลเดอร์ที่เหมาะสม ตั้งค่าไฟล์กำหนดค่า ฯลฯ )

makefile เป็นไฟล์ข้อความที่คำสั่ง make ใช้ ช่วยงาน (อัตโนมัติ) makefile เดียวอาจมีข้อมูลสำหรับงานหรือการกระทำมากกว่าหนึ่งรายการเพื่อดำเนินการ หากไม่มี makefile คุณจะต้องทำตามขั้นตอนที่ซับซ้อนด้วยตัวเองมากมาย

"configure": (คำอธิบายมาจาก ที่นี่ ) ตรวจสอบรายละเอียดบางอย่างเกี่ยวกับเครื่องที่กำลังจะติดตั้งซอฟต์แวร์ สคริปต์นี้ตรวจสอบการพึ่งพาจำนวนมากในระบบของคุณ เพื่อให้ซอฟต์แวร์เฉพาะทำงานได้อย่างถูกต้องอาจต้องใช้หลายสิ่งในเครื่องของคุณอยู่แล้ว หากข้อกำหนดสำคัญใด ๆ ขาดหายไปในระบบของคุณสคริปต์กำหนดค่าจะออกและคุณไม่สามารถดำเนินการติดตั้งต่อได้จนกว่าคุณจะได้สิ่งที่ต้องการเหล่านั้น มิฉะนั้นจะสร้าง Makefile เพื่อใช้ในขั้นตอนต่อไป

"make" โดยไม่มีพารามิเตอร์: สั่งให้ทำการเรียกใช้การกระทำเริ่มต้น (กฎ) ใน makefile ซึ่งมักจะรวบรวมเชื่อมโยงและสร้างไบนารีที่คุณพยายามสร้าง (เช่นโปรแกรมหรือไลบรารี) ซึ่งมักเกี่ยวข้องกับการแปลงซอร์สโค้ดเป็นไฟล์วัตถุ (ซึ่งมักจะมี .o ส่วนขยาย) และเชื่อมโยงไปยังไฟล์ไบนารีสุดท้าย (ซึ่งในกรณีของโปรแกรม Linux มักจะไม่มีส่วนขยายหรือในกรณีของห้องสมุด Linux มักจะมี .so หรือ .a ส่วนขยาย). ฉันไม่แน่ใจเกี่ยวกับขั้นตอนเพราะฉันเป็นโปรแกรมเมอร์ Java และเราไม่ได้ทำตามขั้นตอนเหล่านี้บ่อยนัก)

"ทำการทดสอบ": ทำการทดสอบกับไบนารีนั้น

"make install": โดยทั่วไปจะย้ายไบนารีไปยังตำแหน่งโฟลเดอร์ที่เหมาะสม

แน่นอนว่าคำอธิบายนี้จะได้รับการปรับปรุงมากมายฉันแค่พยายามจะให้คุณเข้าใจกระบวนการทั่วไป

แบบฝึกหัดสั้น ๆ นี้ อาจให้ข้อมูลเพิ่มเติมบางอย่าง



@BenjiWiebe แก้ไขแล้ว Btw ในกรณีที่ downvote เป็นของคุณฉันคิดว่าคำตอบที่ไม่สมบูรณ์ไม่สมควรได้รับ downvote แต่ผิดเท่านั้น
Piovezan

โปรดอธิบายเหตุผลที่อยู่เบื้องหลัง downvote
Piovezan

3

การใช้งานของ Makefile ทำให้ชีวิตง่ายขึ้นสำหรับทั้งนักพัฒนาและผู้ใช้ โดยพื้นฐานแล้วมันเป็นกลโกงของวิธีการสร้างซอฟต์แวร์บางส่วน สำหรับ "Hello world" แบบง่าย g++ hw.cpp -o hello_world สามารถทำงานได้ อย่างไรก็ตามเมื่อคุณมีซอฟต์แวร์ที่ซับซ้อนมากขึ้นบ่อยครั้งที่ชิ้นส่วน A ต้องถูกสร้างขึ้นก่อนชิ้นส่วน B และเมื่อทั้งสองเสร็จสิ้นสามารถสร้างชิ้นส่วน C ได้ พิมพ์เหล่านั้นด้วยตนเอง - เช่นเดียวกับการแทรกเส้นทางไปยังห้องสมุดรวมไฟล์ออกชั่วคราวเส้นทางการติดตั้งขั้นสุดท้ายและอื่น ๆ (มักจะกำหนดเมื่อ configure สคริปต์ทำงาน) - สามารถนำไปสู่ข้อผิดพลาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.