Score:0

ฉันจะแก้ไข makefile ที่คอมไพล์แล้วได้อย่างไร

ธง cl

สมมติว่าฉันมี makefile ซึ่งมีลักษณะดังนี้:

ทั้งหมด: a_functions.o b_functions.o c_functions.o d_functions.o main.o
     gcc -o ทั้งหมด a_functions.o b_functions.o c_functions.o d_functions.o main.o
a_functions.o: a_functions.ค
     gcc -c -o a_functions.o a_functions.c
b_functions.o: b_functions.ค
     gcc -c -o b_functions.o b_functions.c
c_functions.o: c_functions.ค
     gcc -c -o c_functions.o c_functions.c
main.o: main.c
     gcc -c -o main.o main.c

ฉันสามารถรวบรวมโดยใช้คำสั่ง

sudo make -f makefile

และโปรแกรมทำงานได้ดีถ้าฉันเรียกใช้

./ทั้งหมด

แต่จะทำอย่างไรถ้าฉันต้องการเพิ่มเช่นคำสั่ง clean ใน makefile ฉันเพิ่ม

ทำความสะอาด:
     rm *.o ทั้งหมด

ที่ส่วนท้ายของ makefile แต่เทอร์มินัลของฉันแสดง

-bash: ./clean: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว

เมื่อฉันทำ ./clean

แน่นอน makefile คอมไพล์ใหม่ก็ไม่ทำงานเช่นกัน มันแสดงให้เห็น

ยี่ห้อ: 'ทั้งหมด' เป็นปัจจุบัน

เมื่อฉันทำ sudo make -f makefile

ฉันพบที่นี่ จะแก้ไข makefile ได้อย่างไร? ที่คุณสามารถใช้ได้

$ CFLAGS="-std=c99" ทำ

คำสั่งนี้ในเทอร์มินัลหรือฉันสามารถเพิ่ม

CFLAGS=-std=c99

ใน makefile ของฉัน แต่พวกเขายังคงแสดงอยู่

ทั้งหมดเป็นปัจจุบัน

รูปภาพเป็นเพียงหลักฐานว่าการแก้ไขไม่ได้ผลสำหรับฉัน

ป้อนคำอธิบายรูปภาพที่นี่

Score:4
ธง hr

makefile จะไม่ถูกรวบรวม - มันถูกตีความโดย ทำ สั่งการ. เมื่อคุณวิ่ง

ทำ

หรือชัดเจนกว่านั้น

ทำ -f makefile

จากนั้นตามค่าเริ่มต้น ทำ สร้างครั้งแรก เป้า ใน ทำไฟล์ - ในกรณีนี้นั่นคือ ทั้งหมด เป้า. หากต้องการสร้างเป้าหมายที่ไม่ใช่ค่าเริ่มต้น คุณต้องตั้งชื่อเป้าหมายนั้นในบรรทัดคำสั่ง เช่น

ทำความสะอาด

หรือ

make -f makefile สะอาด

โปรดทราบว่า ทำความสะอาด เป้าหมายไม่ได้สร้างอะไรเลยจริง ๆ ดังนั้นจึงไม่เหมือน ./ทั้งหมด ไม่มีโปรแกรมใดเหมือน ./ทำความสะอาด เพื่อวิ่งตามไป ในความเป็นจริง คุณอาจต้องการประกาศ ทำความสะอาด กำหนดเป้าหมายเป็น เป้าหมายปลอม.

game lover avatar
cl flag
ขอบคุณ! คำตอบของคุณช่วยฉันได้มาก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา