คำถามติดแท็ก gnu-make

แท็กนี้มีไว้สำหรับคำถามเกี่ยวกับ "gmake" ซึ่งเป็นยูทิลิตี้ "make" เวอร์ชัน GNU เพื่อบำรุงรักษาและอัปเดตโปรแกรม


16
แสดงรายการเป้าหมาย / เป้าหมายใน GNU ที่มีตัวแปรในนิยาม
ฉันมี makefile ขนาดใหญ่พอสมควรที่สร้างเป้าหมายจำนวนมากได้ทันทีโดยคำนวณชื่อจากตัวแปร (เช่น foo $ (VAR): $ (PREREQS)) มีวิธีใดบ้างที่ทำให้ gnu สามารถมั่นใจได้ว่าจะพ่นรายการเป้าหมายออกมาหลังจากขยายตัวแปรเหล่านี้แล้ว? ฉันต้องการที่จะได้รับเป้าหมายสำหรับ makefile aribitrary ฉันกำลังพยายามเขียนฟังก์ชันที่สมบูรณ์สำหรับเชลล์ของฉัน
100 makefile  gnu-make 

7
จะใช้ GNU Make บน Windows ได้อย่างไร?
ผมติดตั้ง MinGW และ MSYS เพิ่มC:\MinGW\binไปPATHแต่ฉันยังคงไม่สามารถทำงานบน Windows Makefile cmdฉันต้องการเรียกใช้ cmd.exe และมีประเภทเช่นmake allแต่ cmd ของฉันบอกว่าไม่มีคำสั่งดังกล่าว ฉันควรทำอย่างไรดี? ฉันไม่ต้องการใช้ MSYS เชลล์นั่นไม่ใช่ประเด็น มีความคิดอย่างไรในการใช้ GNU Make ใน Windows cmd เท่าที่ทำได้ใน Ubuntu Cygwinฉันไม่ได้สนใจใน

6
อักขระตัวแทนแบบเรียกซ้ำใน GNU ทำให้?
เป็นเวลานานแล้วที่ฉันใช้makeดังนั้นอดทนกับฉัน ... ฉันมีไดเร็กทอรีflacซึ่งมีไฟล์. FLAC ฉันมีไดเร็กทอรีที่เกี่ยวข้องซึ่งmp3มีไฟล์ MP3 หากไฟล์ FLAC ใหม่กว่าไฟล์ MP3 ที่เกี่ยวข้อง (หรือไม่มีไฟล์ MP3 ที่เกี่ยวข้อง) ฉันต้องการเรียกใช้คำสั่งมากมายเพื่อแปลงไฟล์ FLAC เป็นไฟล์ MP3 และคัดลอกแท็ก นักเตะ: ฉันต้องการค้นหาflacไดเร็กทอรีซ้ำและสร้างไดเร็กทอรีย่อยที่เกี่ยวข้องในmp3ไดเร็กทอรี ไดเร็กทอรีและไฟล์สามารถมีช่องว่างในชื่อและตั้งชื่อใน UTF-8 และฉันต้องการใช้makeเพื่อขับเคลื่อนสิ่งนี้

10
GNU make: จำนวนงานควรเท่ากับจำนวนแกน CPU ในระบบหรือไม่?
ดูเหมือนจะมีข้อโต้แย้งว่าจำนวนงานใน GNU ที่ทำควรจะเท่ากับจำนวนคอร์หรือถ้าคุณสามารถเพิ่มประสิทธิภาพเวลาในการสร้างโดยการเพิ่มงานพิเศษหนึ่งงานที่สามารถจัดคิวได้ในขณะที่งานอื่น ๆ "ทำงาน" . จะดีกว่าที่จะใช้-j4หรือ-j5ในระบบ Quad Core หรือไม่? คุณเคยเห็น (หรือทำ) การเปรียบเทียบใด ๆ ที่สนับสนุนอย่างใดอย่างหนึ่งหรือไม่?

2
การหลบหนีใน makefile
ฉันพยายามทำสิ่งนี้ใน makefile และมันล้มเหลวอย่างมาก: M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}') คุณรู้ไหมว่าทำไม? ฉันเดาว่ามันเกี่ยวข้องกับการหลบหนี แต่อะไรและที่ไหน?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.