ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

fmake - ออนไลน์ในคลาวด์

เรียกใช้ fmake ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง fmake ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


ทำ — รักษาการพึ่งพาโปรแกรม

เรื่องย่อ


ทำ [-ABPSXeiknpqrstv] [-C ไดเรกทอรี] [-D ตัวแปร] [-d ธง] [-E ตัวแปร] [-f ทำไฟล์]
[-I ไดเรกทอรี] [-j max_jobs] [-m ไดเรกทอรี] [-V ตัวแปร] [-x Warning_options]
[ตัวแปร=ความคุ้มค่า] [เป้า ...]

DESCRIPTION


พื้นที่ ทำ ยูทิลิตี้เป็นโปรแกรมที่ออกแบบมาเพื่อทำให้การบำรุงรักษาโปรแกรมอื่นๆ ง่ายขึ้น มันคือ
อินพุตเป็นรายการข้อกำหนดที่อธิบายความสัมพันธ์การพึ่งพาระหว่างรุ่น
ของไฟล์และโปรแกรมต่างๆ

ก่อนอื่น รายการเริ่มต้นของข้อกำหนดจะถูกอ่านจาก makefile ของระบบ
ซิส.เอ็มเคเว้นแต่จะยับยั้งด้วย -r ตัวเลือก. มาตรฐาน ซิส.เอ็มเค ตามที่จัดส่งด้วย FreeBSD
ยังจับ make.conf(5) เส้นทางเริ่มต้นที่สามารถเปลี่ยนแปลงได้ผ่านทาง ทำ ตัวแปร
__ทำ_CONF.

จากนั้นครั้งแรกของ BSDmakefile, ทำไฟล์และ Makefile ที่หาได้ในปัจจุบัน
ไดเร็กทอรี, ไดเร็กทอรีอ็อบเจ็กต์ (ดู .OBJDIR) หรือเส้นทางการค้นหา (ดูที่ -I ตัวเลือก) จะถูกอ่าน
สำหรับรายการหลักของข้อกำหนดการพึ่งพา makefile อื่นหรือรายการของพวกเขาสามารถ
จัดส่งผ่าน -f ตัวเลือก). สุดท้ายถ้าไฟล์ .ขึ้นอยู่กับ สามารถพบได้ใน
สถานที่ดังกล่าวจะถูกอ่านด้วย (ดู มคพ(พ.ศ. 1)).

เมื่อ ทำ ค้นหา makefile ชื่อของไฟล์มีความสำคัญเหนือตำแหน่ง สำหรับ
ตัวอย่าง, BSDmakefile ในไดเรกทอรีวัตถุจะได้รับการสนับสนุนมากกว่า Makefile ในปัจจุบัน
ไดเรกทอรี

ตัวเลือกมีดังนี้:

-A ทำให้ข้อผิดพลาดในการเก็บถาวรไม่ร้ายแรงทำให้ ทำ เพื่อข้ามส่วนที่เหลือหรือทั้งหมด
เก็บถาวรและดำเนินการต่อหลังจากพิมพ์ข้อความ

-B พยายามเข้ากันได้แบบย้อนหลังโดยเรียกใช้เชลล์ตัวเดียวต่อคำสั่งและโดย
ดำเนินการคำสั่งเพื่อสร้างแหล่งที่มาของบรรทัดการพึ่งพาตามลำดับ นี้
ถูกเปิดใช้งานโดยค่าเริ่มต้นเว้นแต่ -j ถูกนำมาใช้.

-C ไดเรกทอรี
เปลี่ยนไป ไดเรกทอรี ก่อนอ่าน makefiles หรือทำอย่างอื่น ถ้า
หลาย -C มีการระบุตัวเลือก แต่ละตัวเลือกจะถูกตีความโดยสัมพันธ์กับตัวเลือกก่อนหน้า:
-C / -C ฯลฯ เทียบเท่ากับ -C / ฯลฯ.

-D ตัวแปร
กำหนด ตัวแปร ให้เป็น 1 ในบริบทโลก

-d ธง
เปิดการดีบักและระบุว่าส่วนใดของ ทำ คือการพิมพ์ดีบัก
ข้อมูล. การโต้เถียง ธง เป็นอย่างใดอย่างหนึ่งต่อไปนี้:

A พิมพ์ข้อมูลการดีบักที่เป็นไปได้ทั้งหมด เทียบเท่ากับการระบุทั้งหมดของ
แฟล็กการดีบัก

a พิมพ์ข้อมูลการดีบักเกี่ยวกับการค้นหาที่เก็บถาวรและการแคช

c พิมพ์ข้อมูลการดีบักเกี่ยวกับการประเมินตามเงื่อนไข

d พิมพ์ข้อมูลการดีบักเกี่ยวกับการค้นหาไดเรกทอรีและการแคช

f พิมพ์ข้อมูลการดีบักเกี่ยวกับการดำเนินการ for loops

g1 พิมพ์กราฟอินพุตก่อนทำสิ่งใด

g2 พิมพ์กราฟอินพุตหลังจากทำทุกอย่างแล้วหรือก่อนออกจากข้อผิดพลาด

j พิมพ์ข้อมูลการดีบักเกี่ยวกับการรันหลายเชลล์

l พิมพ์คำสั่งใน Makefiles ไม่ว่าจะขึ้นต้นด้วยหรือไม่ก็ตาม
โดย @ หรือแฟล็ก "เงียบ" อื่นๆ เรียกอีกอย่างว่าพฤติกรรม "เสียงดัง"

m พิมพ์ข้อมูลการดีบักเกี่ยวกับการสร้างเป้าหมาย รวมถึงการดัดแปลง
วันที่.

s พิมพ์ข้อมูลการดีบักเกี่ยวกับกฎการแปลงส่วนต่อท้าย

t พิมพ์ข้อมูลการดีบักเกี่ยวกับการบำรุงรักษารายการเป้าหมาย

v พิมพ์ข้อมูลการดีบักเกี่ยวกับการกำหนดตัวแปร

-E ตัวแปร
ระบุตัวแปรที่มีค่าสภาพแวดล้อม (ถ้ามี) จะแทนที่การกำหนดค่ามาโคร
ภายใน makefiles

-e ระบุว่าค่าสภาพแวดล้อมแทนที่การกำหนดแมโครภายใน makefiles ทั้งหมด
ตัวแปร

-f ทำไฟล์
ระบุ makefile ที่จะอ่านแทนค่าเริ่มต้น ถ้า ทำไฟล์ ไม่ใช่
ชื่อพาธแบบสัมบูรณ์, ทำ จะค้นหาตามที่อธิบายไว้ข้างต้น เผื่อ ทำไฟล์ is
'-' อินพุตมาตรฐานถูกอ่าน หลายรายการ -f สามารถระบุตัวเลือกและ makefiles
จะอ่านตามลำดับ ต่างจากตัวเลือกบรรทัดคำสั่งอื่นๆ -f ก็ไม่ใช่เช่นกัน
เก็บไว้ใน .ทำธง และไม่ผลักดันให้ย่อยผ่าน MAKEFLAGS ดูด้านล่างสำหรับเพิ่มเติม
รายละเอียดเกี่ยวกับตัวแปรเหล่านี้

-I ไดเรกทอรี
ระบุไดเร็กทอรีที่จะค้นหา makefiles และรวม makefiles
แพลตฟอร์มที่หลากหลาย -I สามารถระบุตัวเลือกเพื่อสร้างเส้นทางการค้นหา makefile ระบบ
ไดเร็กทอรี (หรือไดเร็กทอรี โปรดดูที่ -m ตัวเลือก) ต่อท้ายโดยอัตโนมัติที่ส่วนท้าย
ของเส้นทางนี้

-i ละเว้นการออกจากคำสั่งเชลล์ที่ไม่ใช่ศูนย์ใน makefile เทียบเท่ากับการระบุ
'-' ก่อนแต่ละบรรทัดคำสั่งใน makefile

-j max_jobs
ระบุจำนวนงานสูงสุดที่ ทำ อาจมีการทำงานที่เวลาใดเวลาหนึ่ง
ปิดโหมดความเข้ากันได้ ยกเว้นกรณีที่ -B มีการระบุแฟล็กไว้ด้วย

-k ดำเนินการต่อไปหลังจากพบข้อผิดพลาด แต่เฉพาะกับเป้าหมายที่ทำ
ไม่ขึ้นกับเป้าหมายที่การสร้างทำให้เกิดข้อผิดพลาด

-m ไดเรกทอรี
ระบุไดเร็กทอรีที่จะค้นหาระบบ makefile และ makefiles
รวมผ่านสไตล์ <...> หลายรายการ -m สามารถระบุตัวเลือกเพื่อสร้างการค้นหา
เส้นทาง. เส้นทางนี้จะแทนที่ระบบเริ่มต้นรวมถึงเส้นทาง
/usr/share/mk-freebsd. ระบบ include path จะถูกต่อท้าย . เสมอ
เส้นทางการค้นหาที่ใช้สำหรับการรวมสไตล์ "..." และการค้นหา makefile (ดูที่ -I
ตัวเลือก)

หากชื่อไฟล์หรือไดเร็กทอรีใน -m อาร์กิวเมนต์ (หรือสภาพแวดล้อม MAKESYSPATH
ตัวแปร) เริ่มต้นด้วยสตริง ".../" จากนั้น ทำ จะค้นหาไฟล์ที่ระบุ
หรือไดเร็กทอรีที่มีชื่ออยู่ในส่วนที่เหลือของสตริงอาร์กิวเมนต์ การค้นหาเริ่มต้นขึ้น
ด้วยไดเร็กทอรีปัจจุบันของ Makefile จากนั้นทำงานขึ้นไปที่รูทของ
ระบบไฟล์ หากการค้นหาสำเร็จ ไดเร็กทอรีผลลัพธ์จะแทนที่
ข้อกำหนด ".../" ใน -m การโต้แย้ง. หากใช้คุณสมบัตินี้จะช่วยให้ ทำ ไปยัง
ค้นหาไฟล์ sys.mk ที่กำหนดเองในแผนผังต้นทางปัจจุบันได้อย่างง่ายดาย (เช่นโดยใช้
".../mk/sys.mk" เป็นอาร์กิวเมนต์) สังเกตว่า a -C ที่มาก่อนในคำสั่ง
เส้นส่งผลกระทบต่อที่ -m ".../" ค้นหา

-n แสดงคำสั่งที่จะถูกดำเนินการ แต่ไม่ได้ดำเนินการจริง
พวกเขา

-P เปรียบเทียบผลลัพธ์ของงานที่กำหนดและแสดงเฉพาะเมื่องานเสร็จสิ้นเท่านั้น แทน
ของการผสมเอาท์พุตของงานคู่ขนานเข้าด้วยกัน ตัวเลือกนี้ไม่มีผลเว้นแต่ -j
ก็ใช้เช่นกัน

-p พิมพ์เฉพาะกราฟอินพุต ไม่ดำเนินการคำสั่งใดๆ ผลลัพธ์จะเหมือนกับ
-d g1. เมื่อรวมกับ -f / dev / null, เฉพาะกฎในตัวของ ทำ เป็น
แสดง

-Q เงียบเป็นพิเศษ สำหรับงานหลายงาน จะทำให้ไฟล์แบนเนอร์ไม่เป็น
สร้างขึ้น

-q อย่ารันคำสั่งใดๆ แต่ให้ออกจาก 0 หากเป้าหมายที่ระบุเป็นข้อมูลล่าสุดและ
1 มิฉะนั้น

-r อย่าประมวลผล makefile ของระบบ

-S หยุดการประมวลผลเมื่อพบข้อผิดพลาด พฤติกรรมเริ่มต้น นี่เป็นสิ่งจำเป็นเพื่อ
ปฏิเสธ -k ตัวเลือกระหว่างการสร้างแบบเรียกซ้ำ

-s อย่าสะท้อนคำสั่งใด ๆ ในขณะที่ดำเนินการ เทียบเท่ากับการระบุ '@' ก่อน
แต่ละบรรทัดคำสั่งใน makefile

-t แทนที่จะสร้างเป้าหมายใหม่ตามที่ระบุใน makefile ให้สร้างหรืออัปเดต
เวลาแก้ไขเพื่อให้ปรากฏเป็นปัจจุบัน

-V ตัวแปร
พิมพ์ ทำความคิดของค่าของ ตัวแปรในบริบทของโลก อย่าสร้างเลย
เป้าหมาย อาจมีการระบุตัวเลือกนี้หลายอินสแตนซ์ ตัวแปรจะเป็น
พิมพ์หนึ่งรายการต่อบรรทัด โดยมีบรรทัดว่างสำหรับตัวแปร null หรือตัวแปรที่ไม่ได้กำหนดแต่ละรายการ ถ้า
ตัวแปร ประกอบด้วย '$' จากนั้นค่าจะถูกขยายก่อนพิมพ์

-v มีความละเอียดอ่อนเป็นพิเศษ พิมพ์ข้อมูลเพิ่มเติม

-X เมื่อใช้ -V ตัวเลือกในการพิมพ์ค่าของตัวแปร ห้ามขยายซ้ำ
ค่า

ตัวแปร=ความคุ้มค่า
ตั้งค่าตัวแปร ตัวแปร ไปยัง ความคุ้มค่า.

-x Warning_options
ระบุตัวเลือกคำเตือนเพิ่มเติม ตัวเลือกนี้อาจระบุหลายครั้ง อา
Warning_option นำหน้าด้วย "ไม่" ซึ่งในกรณีนี้จะปิดการเตือน
ตัวเลือกที่มีอยู่ในปัจจุบันคือ:

ไดรซินแท็กซ์
เตือนหากมีสิ่งใดยกเว้นช่องว่างและความคิดเห็นดังต่อไปนี้ .endif or .อื่น
คำสั่ง

ดูเพิ่มเติมที่ .เตือน เป้าหมายพิเศษ

บรรทัดใน makefile มีเจ็ดประเภท: ข้อกำหนดการพึ่งพาไฟล์
คำสั่งเชลล์, การกำหนดตัวแปร, รวมคำสั่ง, คำสั่งตามเงื่อนไข, สำหรับลูป,
และความคิดเห็น

โดยทั่วไป บรรทัดอาจต่อจากบรรทัดหนึ่งไปอีกบรรทัดหนึ่งโดยลงท้ายด้วยแบ็กสแลช
('\'). อักขระขึ้นบรรทัดใหม่ต่อท้ายและช่องว่างเริ่มต้นในบรรทัดต่อไปนี้คือ
อัดแน่นเป็นช่องเดียว

ไฟล์ การพึ่งพาอาศัยกัน ข้อมูลจำเพาะ


รายการการพึ่งพาประกอบด้วยเป้าหมายอย่างน้อยหนึ่งรายการ ตัวดำเนินการ และแหล่งที่มาศูนย์หรือมากกว่า
สิ่งนี้สร้างความสัมพันธ์ที่เป้าหมาย "ขึ้นอยู่กับ" แหล่งที่มาและมักจะ
ที่สร้างขึ้นจากพวกเขา มีการกำหนดความสัมพันธ์ที่แน่นอนระหว่างเป้าหมายและแหล่งที่มา
โดยตัวดำเนินการที่แยกพวกเขา ตัวดำเนินการทั้งสามมีดังนี้:

: เป้าหมายจะถือว่าล้าสมัยหากเวลาในการแก้ไขน้อยกว่าเป้าหมายใดๆ
ของแหล่งที่มาของมัน แหล่งที่มาสำหรับเป้าหมายสะสมบนบรรทัดการพึ่งพาเมื่อสิ่งนี้
ใช้ตัวดำเนินการ เป้าหมายจะถูกลบออกถ้า ทำ ถูกขัดจังหวะ

! เป้าหมายถูกสร้างขึ้นใหม่เสมอ แต่จะไม่จนกว่าแหล่งที่มาทั้งหมดจะได้รับการตรวจสอบและอีกครั้ง
สร้างขึ้นตามความจำเป็น แหล่งที่มาสำหรับเป้าหมายสะสมบนบรรทัดการพึ่งพาเมื่อสิ่งนี้
ใช้ตัวดำเนินการ เป้าหมายจะถูกลบออกถ้า ทำ ถูกขัดจังหวะ

:: หากไม่มีการระบุแหล่งที่มา เป้าหมายจะถูกสร้างขึ้นใหม่เสมอ มิฉะนั้นเป้าหมายคือ
ถือว่าล้าสมัยหากมีการแก้ไขแหล่งข้อมูลใด ๆ เมื่อเร็ว ๆ นี้มากกว่า
เป้า. แหล่งที่มาสำหรับเป้าหมายจะไม่สะสมบนบรรทัดการพึ่งพาเมื่อสิ่งนี้
ใช้ตัวดำเนินการ เป้าหมายจะไม่ถูกลบหาก ทำ ถูกขัดจังหวะ

เป้าหมายและแหล่งที่มาอาจมีนิพจน์สัญลักษณ์แทนเชลล์ '?', '*', '[]' และ '{}' ดิ
นิพจน์ '?', '*' และ '[]' สามารถใช้เป็นส่วนหนึ่งขององค์ประกอบสุดท้ายของเป้าหมายเท่านั้น
หรือต้นทางและต้องใช้อธิบายไฟล์ที่มีอยู่ นิพจน์ '{}' ไม่จำเป็นต้อง
จำเป็นต้องใช้เพื่ออธิบายไฟล์ที่มีอยู่ ส่วนขยายอยู่ในลำดับไดเร็กทอรี ไม่ใช่
ตามตัวอักษรเหมือนที่ทำในเปลือก

SHELL คำสั่ง


เป้าหมายแต่ละเป้าหมายอาจเชื่อมโยงกับชุดคำสั่งเชลล์ ซึ่งปกติใช้เพื่อสร้าง
เป้าหมาย. แต่ละคำสั่งในสคริปต์นี้ ต้อง นำหน้าด้วยแท็บ ในขณะที่ใดๆ
เป้าหมายอาจปรากฏบนบรรทัดการพึ่งพา มีเพียงหนึ่งในการอ้างอิงเหล่านี้เท่านั้นที่อาจตามด้วยa
สคริปต์การสร้าง เว้นแต่ว่า '::' ใช้ตัวดำเนินการ

หากอักขระตัวแรกของบรรทัดคำสั่งคือ '@','-' และ/หรือ '+' คำสั่งได้รับการปฏิบัติ
เป็นพิเศษ เอ '@' ทำให้คำสั่งไม่สะท้อนก่อนที่จะดำเนินการ NS '-' สาเหตุ
สถานะการออกที่ไม่ใช่ศูนย์ของบรรทัดคำสั่งที่จะถูกละเว้น เอ '+' ทำให้คำสั่งเป็น
ถูกประหารชีวิตแม้ว่า -n ระบุไว้ในบรรทัดคำสั่ง

ตัวแปร การมอบหมาย


ตัวแปรใน ทำ เหมือนกับตัวแปรในเชลล์ และตามธรรมเนียมแล้ว ประกอบด้วย all
ตัวพิมพ์ใหญ่ ตัวดำเนินการห้าตัวที่ใช้กำหนดค่าให้กับตัวแปรได้คือ
ดังต่อไปนี้:

= กำหนดค่าให้กับตัวแปร ค่าก่อนหน้าจะถูกแทนที่

+= ต่อท้ายค่ากับค่าปัจจุบันของตัวแปร

?= กำหนดค่าให้กับตัวแปรหากยังไม่ได้กำหนดไว้

:= กำหนดด้วยการขยาย กล่าวคือ ขยายค่าก่อนที่จะกำหนดให้กับตัวแปร
โดยปกติ การขยายจะไม่ทำจนกว่าจะมีการอ้างอิงตัวแปร

!= ขยายค่าและส่งผ่านไปยังเชลล์เพื่อดำเนินการและกำหนดผลลัพธ์ให้กับ
ตัวแปร. การขึ้นบรรทัดใหม่ในผลลัพธ์จะถูกแทนที่ด้วยช่องว่าง

ช่องว่างใด ๆ ก่อนได้รับมอบหมาย ความคุ้มค่า จะถูกลบออก; หากมีการต่อท้ายค่า a
ช่องว่างเดียวถูกแทรกระหว่างเนื้อหาก่อนหน้าของตัวแปรและต่อท้าย
มูลค่า

ตัวแปรถูกขยายโดยล้อมรอบชื่อตัวแปรด้วยเครื่องหมายปีกกา ('{}') หรือ
วงเล็บ ('()') และนำหน้าด้วยเครื่องหมายดอลลาร์ ('$') หากชื่อตัวแปรประกอบด้วย
แค่ตัวอักษรตัวเดียว ไม่ต้องใส่เครื่องหมายวงเล็บหรือวงเล็บ สั้นกว่านี้
ไม่แนะนำแบบฟอร์ม

การแทนที่ตัวแปรจะเกิดขึ้นสองครั้ง ขึ้นอยู่กับว่าตัวแปรอยู่ที่ไหน
ใช้แล้ว. ตัวแปรในบรรทัดการขึ้นต่อกันจะถูกขยายเมื่ออ่านบรรทัด ตัวแปรในเชลล์
คำสั่งจะถูกขยายเมื่อดำเนินการคำสั่งเชลล์

ตัวแปรสี่ประเภทที่แตกต่างกัน (ตามลำดับความสำคัญที่เพิ่มขึ้น) คือ:

ตัวแปรสภาพแวดล้อม
ตัวแปรที่กำหนดเป็นส่วนหนึ่งของ ทำสิ่งแวดล้อม

ตัวแปรส่วนกลาง
ตัวแปรที่กำหนดไว้ใน makefile หรือใน makefiles ที่รวมอยู่

ตัวแปรบรรทัดคำสั่ง
ตัวแปรที่กำหนดเป็นส่วนหนึ่งของบรรทัดคำสั่งและตัวแปรที่ได้รับจาก
MAKEFLAGS ตัวแปรสภาพแวดล้อมหรือ .ทำธง เป้า

ตัวแปรท้องถิ่น
ตัวแปรที่กำหนดไว้เฉพาะเจาะจงกับเป้าหมายที่แน่นอน

หากชื่อของตัวแปรสภาพแวดล้อมปรากฏใน makefile ทางด้านซ้ายมือของ an
การมอบหมาย ตัวแปรส่วนกลางที่มีชื่อเดียวกันจะถูกสร้างขึ้น และส่วนหลังจะเงา
ก่อนตามลำดับความสำคัญญาติของพวกเขา ในกรณีนี้สภาพแวดล้อมจะไม่เปลี่ยนแปลงและ
การเปลี่ยนแปลงจะไม่ถูกส่งออกไปยังโปรแกรมที่ดำเนินการโดย ทำ. อย่างไรก็ตาม ตัวแปรบรรทัดคำสั่ง
จริง ๆ แล้วแทนที่ตัวแปรสภาพแวดล้อมของชื่อเดียวกันหากมีอยู่ซึ่งก็คือ
มองเห็นได้ในโปรแกรมย่อย

มีเจ็ดตัวแปรท้องถิ่นใน ทำ:

.ALLSRC รายการแหล่งที่มาทั้งหมดสำหรับเป้าหมายนี้ เรียกอีกอย่างว่า '>'

.คลังเก็บเอกสารสำคัญ ชื่อของไฟล์เก็บถาวร เรียกอีกอย่างว่า '!'

.IMPSRC ชื่อ/เส้นทางของแหล่งที่มาซึ่งเป้าหมายจะถูกแปลง (the
แหล่งที่มา "โดยนัย"); เรียกอีกอย่างว่า '<'

.สมาชิก ชื่อของสมาชิกที่เก็บถาวร เรียกอีกอย่างว่า '%'

.OODATE รายการแหล่งที่มาสำหรับเป้าหมายนี้ที่ถือว่าล้าสมัย ยังเป็นที่รู้จักกันในนาม
'?'

.คำนำหน้า คำนำหน้าไฟล์ของไฟล์ ที่มีเฉพาะส่วนของไฟล์ ไม่มีคำต่อท้ายหรือ
ส่วนประกอบไดเร็กทอรีก่อนหน้า; เรียกอีกอย่างว่า '*'

.เป้า ชื่อของเป้าหมาย; เรียกอีกอย่างว่า '@'

แบบฟอร์มที่สั้นกว่า '@','!','<','%','?','>'และ'*' อนุญาตให้ย้อนหลังได้
เข้ากันได้และไม่แนะนำ หกตัวแปร '@F','@D','<F','<D','*F', และ
'*D' ได้รับอนุญาตสำหรับความเข้ากันได้กับ makefiles ของ AT&T System V UNIX และไม่ใช่
แนะนำ

ตัวแปรท้องถิ่นสี่ตัวอาจถูกใช้ในแหล่งที่มาบนบรรทัดการพึ่งพาเพราะพวกมันขยาย
เป็นค่าที่เหมาะสมสำหรับแต่ละเป้าหมายในบรรทัด ตัวแปรเหล่านี้คือ .เป้า, .คำนำหน้า,
.คลังเก็บเอกสารสำคัญและ .สมาชิก.

นอกจากนี้ ทำ กำหนดหรือรู้เกี่ยวกับตัวแปรภายในหรือสภาพแวดล้อมต่อไปนี้
ตัวแปร

$ เครื่องหมายดอลลาร์เดียว '$' เช่น '$$' จะขยายเป็นเครื่องหมายดอลลาร์เดียว

MAKE ชื่อนั้น ทำ ถูกประหารชีวิตด้วย (หาเรื่อง[0])

.เคอร์ดีร์ เส้นทางไปยังไดเร็กทอรีโดยที่ ทำ ถูกประหารชีวิต ดิ ทำ ชุดยูทิลิตี้
.เคอร์ดีร์ สู่เส้นทางบัญญัติที่กำหนดโดย รับcwd(3)

.OBJDIR พาธไปยังไดเร็กทอรีที่สร้างเป้าหมาย เมื่อเริ่มต้น ทำ
ค้นหาไดเร็กทอรีสำรองเพื่อวางไฟล์เป้าหมาย จะพยายาม
เพื่อเปลี่ยนเป็นไดเร็กทอรีพิเศษนี้และจะค้นหาไดเร็กทอรีนี้สำหรับ
ไม่พบ makefiles ในไดเร็กทอรีปัจจุบัน ไดเร็กทอรีต่อไปนี้คือ
ลองตามลำดับ:

1. ${MAKEOBJDIRPREFIX}/`pwd -P`
2. ${MAKEOBJDIR}
3. obj.${เครื่องจักร}
4. วัตถุ
5. /usr/obj/`pwd -P`

ไดเร็กทอรีแรกที่ ทำ ใช้การเปลี่ยนแปลงได้สำเร็จ ถ้าอย่างใดอย่างหนึ่ง
MAKEOBJDIRPREFIX หรือ MAKEOBJDIR ถูกตั้งค่าในสภาพแวดล้อมแต่ ทำ ไม่สามารถ
เพื่อเปลี่ยนเป็นไดเร็กทอรีที่เกี่ยวข้อง จากนั้นไดเร็กทอรีปัจจุบันคือ
ใช้โดยไม่ตรวจสอบส่วนที่เหลือของรายการ หากไม่ได้กำหนดไว้และ
ทำ ไม่สามารถเปลี่ยนเป็นไดเร็กทอรีสามไดเร็กทอรีที่เหลือได้ดังนั้น
ไดเร็กทอรีปัจจุบันถูกใช้ โปรดทราบว่า MAKEOBJDIRPREFIX และ MAKEOBJDIR
ต้องเป็นตัวแปรสภาพแวดล้อมและไม่ควรตั้งค่าไว้ ทำบรรทัดคำสั่งของ

พื้นที่ ทำ ชุดยูทิลิตี้ .OBJDIR สู่เส้นทางบัญญัติที่กำหนดโดย รับcwd(3)

.MAKEFILE_LIST As ทำ อ่าน makefiles ต่างๆ รวมถึงไฟล์เริ่มต้นและ any
ได้รับจากบรรทัดคำสั่งและ .รวม และ .sclude คำสั่งของพวกเขา
ชื่อจะถูกผนวกเข้ากับ .โดยอัตโนมัติ .MAKEFILE_LIST ตัวแปร. พวกเขา
จะเพิ่มไว้ก่อน ทำ เริ่มที่จะแยกพวกเขาเพื่อให้ชื่อของ
makefile ปัจจุบันเป็นคำสุดท้ายในตัวแปรนี้

MAKEFLAGS ตัวแปรสภาพแวดล้อม MAKEFLAGS อาจมีสิ่งใดที่อาจ
ระบุไว้ใน ทำบรรทัดคำสั่งของ รวมทั้ง -f ตัวเลือก). หลังจาก
การประมวลผล เนื้อหาจะถูกเก็บไว้ใน .ทำธง ตัวแปรทั่วโลก
แม้ว่าจะมี -f ตัวเลือกจะถูกละเว้น จากนั้นตัวเลือกและตัวแปรทั้งหมด
งานที่ระบุใน ทำบรรทัดคำสั่งของ ยกเว้น -fถูกต่อท้าย
.ทำธง ตัวแปร

เมื่อไรก็ตาม ทำ รันโปรแกรม มันตั้งค่า MAKEFLAGS ในโปรแกรม's
สิ่งแวดล้อมกับมูลค่าปัจจุบันของ .ทำธง ตัวแปรระดับโลก ดังนั้น,
ถ้า MAKEFLAGS ใน ทำสภาพแวดล้อมของมีใดๆ -f ตัวเลือกจะไม่
ผลักลงโปรแกรมลูกโดยอัตโนมัติ ดิ ทำ ประโยชน์ใช้สอยอย่างมีประสิทธิภาพ
กรองออก -f ตัวเลือกจากสภาพแวดล้อมและบรรทัดคำสั่งแม้ว่าจะ
ส่งต่อตัวเลือกที่เหลือไปยังการสร้างย่อยผ่าน MAKEFLAGS โดยค่าเริ่มต้น

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

.ทำธง เริ่มแรก ตัวแปรส่วนกลางนี้ประกอบด้วย ทำตัวเลือกรันไทม์ปัจจุบันของ
จากสภาพแวดล้อมและบรรทัดคำสั่งตามที่อธิบายไว้ข้างต้น ภายใต้ MAKEFLAGS
โดยการปรับเปลี่ยนเนื้อหาของ .ทำธง ตัวแปรโกลบอล makefile
สามารถเปลี่ยนเนื้อหาของตัวแปรสภาพแวดล้อม MAKEFLAGS ได้
สำหรับโปรแกรมทั้งหมดที่ ทำ ดำเนินการ ซึ่งรวมถึงการเพิ่ม -f ตัวเลือก).
มูลค่าปัจจุบันของ .ทำธง เป็นเพียงการคัดลอกคำต่อคำไปยัง MAKEFLAGS ใน
สภาพแวดล้อมของโปรแกรมเด็ก

โปรดทราบว่าตัวเลือกใด ๆ ที่ป้อนไปยัง .ทำธง ไม่กระทบกระแส
อินสแตนซ์ของ ทำ และไม่ปรากฏในสำเนา MAKEFLAGS ของตัวเองในทันที
อย่างไรก็ตาม พวกมันจะแสดงในตัวแปรสภาพแวดล้อม MAKEFLAGS ของโปรแกรม
ดำเนินการโดย ทำ. ในทางกลับกัน การมอบหมายโดยตรงกับ MAKEFLAGS
ไม่กระทบต่อกรณีปัจจุบันของ ทำ มิได้ส่งต่อไปยัง ทำ's
เด็ก. เปรียบเทียบกับ .ทำธง เป้าหมายพิเศษด้านล่าง

เอ็มแฟลกส์ ตัวแปรนี้มีให้สำหรับความเข้ากันได้แบบย้อนหลังและมี
ตัวเลือกจากตัวแปรสภาพแวดล้อม MAKEFLAGS บวกกับตัวเลือกใดๆ ที่ระบุ
on ทำบรรทัดคำสั่งของ

.ทำ.PID รหัสกระบวนการของ ทำ.

.ทำ.PPID รหัสกระบวนการหลักของ ทำ.

.MAKE.JOB.คำนำหน้า
If ทำ ทำงานด้วย -j -v จากนั้นเอาต์พุตสำหรับแต่ละเป้าหมายจะถูกนำหน้าด้วย a
โทเค็น '--- เป้าหมาย ---' ส่วนแรกที่สามารถควบคุมได้ผ่าน
.MAKE.JOB.คำนำหน้า.
ตัวอย่างเช่น: .MAKE.JOB.PREFIX=${.newline}---${MAKE:T}[${.MAKE.PID}] จะ
สร้างโทเค็นเช่น '---make[1234] target ---' หรือ
.MAKE.JOB.PREFIX=---pid[${.MAKE.PID}],ppid[${.MAKE.PPID}] จะสร้าง
โทเค็นเช่น '---pid[56789],ppid[1234] target ---' ทำให้ง่ายต่อการติดตาม
ระดับของการบรรลุความเท่าเทียมกัน

.เป้าหมาย รายชื่อเป้าหมาย ทำ กำลังสร้าง

.รวมถึง ดู .รวมถึง เป้าหมายพิเศษ

.LIBS ดู .LIBS เป้าหมายพิเศษ

เครื่อง ชื่อของสถาปัตยกรรมเครื่อง ทำ กำลังดำเนินการอยู่ ได้รับจากการ
ตัวแปรสภาพแวดล้อม MACHINE หรือผ่าน uname(3) ถ้าไม่ได้กำหนดไว้

เครื่องจักร_ARCH ชื่อของสถาปัตยกรรมเครื่อง ทำ ถูกรวบรวมสำหรับ, กำหนดไว้ที่
เวลารวบรวม

วีพาธ Makefiles อาจกำหนดรายการไดเร็กทอรีที่คั่นด้วยโคลอนให้กับ วีพาธ. เหล่านี้
ไดเร็กทอรีจะถูกค้นหาไฟล์ต้นฉบับโดย ทำ หลังทำเสร็จ
แยกวิเคราะห์ makefile อินพุตทั้งหมด

ตัวแปร ตัวปรับเปลี่ยน
การขยายตัวแปรอาจปรับเปลี่ยนเพื่อเลือกหรือแก้ไขแต่ละคำของตัวแปรได้ (โดยที่ a
“word” คือลำดับอักขระที่คั่นด้วยช่องว่าง) รูปแบบทั่วไปของตัวแปร
การขยายมีดังนี้:

{ตัวแปร[:ตัวแก้ไข[:...]]}

ตัวปรับแต่งแต่ละตัวเริ่มต้นด้วยเครื่องหมายทวิภาคและหนึ่งในอักขระพิเศษต่อไปนี้ ลำไส้ใหญ่
อาจหนีด้วยแบ็กสแลช ('\')

:C/Belt hold /การแทนที่/[1g]
แก้ไขแต่ละคำของค่า แทนที่ทุกรายการที่ตรงกันของค่าปกติที่ขยายเพิ่ม
การแสดงออก Belt hold (ดู จัดรูปแบบใหม่(7)) กับ ed(1)-สไตล์ การแทนที่ เชือก
โดยปกติการเกิดรูปแบบครั้งแรกในแต่ละคำของค่าคือ
เปลี่ยน. ตัวแก้ไข '1' ทำให้การแทนที่มีผลกับคำได้ไม่เกินหนึ่งคำ
ตัวแก้ไข 'g' ทำให้การแทนที่มีผลกับอินสแตนซ์จำนวนมากของ
รูปแบบการค้นหาที่เกิดขึ้นในคำหรือคำที่พบ โปรดทราบว่า '1' และ
'g' เป็นมุมฉาก; อดีตระบุว่าหลายคำอาจเป็นไปได้
ได้รับผลกระทบ ภายหลังว่าอาจมีการทดแทนหลายครั้งภายใน
แต่ละคำที่ได้รับผลกระทบ

:E แทนที่แต่ละคำในตัวแปรด้วยคำต่อท้าย

:H แทนที่แต่ละคำในตัวแปรด้วยทุกอย่าง ยกเว้นองค์ประกอบสุดท้าย

:L แปลงตัวแปรเป็นตัวพิมพ์เล็ก (เลิกใช้แล้ว)

:MBelt hold เลือกเฉพาะคำที่ตรงกับส่วนที่เหลือของตัวแก้ไข เปลือกมาตรฐาน
อาจใช้อักขระตัวแทน ('*', '?' และ '[]') อักขระตัวแทน
อาจหนีด้วยแบ็กสแลช ('\')

:NBelt hold มันเหมือนกับ :Mแต่เลือกคำทั้งหมดที่ไม่ตรงกับคำที่เหลือของ
ตัวแก้ไข

:O เรียงลำดับทุกคำในตัวแปรตามตัวอักษร

:Q อ้างอิงทุกอักขระเมตาของเชลล์ในตัวแปร เพื่อให้สามารถส่งผ่านได้
ได้อย่างปลอดภัยผ่านการเรียกซ้ำของ ทำ.

:R แทนที่แต่ละคำในตัวแปรด้วยทุกอย่าง ยกเว้นคำต่อท้าย

:S/old_string/new_string/[g]
แก้ไขการเกิดขึ้นครั้งแรกของ old_string ในแต่ละคำของค่าตัวแปร
แทนที่ด้วย new_string. หาก 'g' ต่อท้ายเครื่องหมายทับสุดท้ายของ
แบบแผน เหตุการณ์ทั้งหมดในแต่ละคำจะถูกแทนที่ ถ้า old_string เริ่มต้นด้วย
คาเร็ต ('^'), old_string ถูกยึดไว้ที่จุดเริ่มต้นของแต่ละคำ ถ้า
old_string ลงท้ายด้วยเครื่องหมายดอลลาร์ ('$') ซึ่งถูกยึดไว้ที่ส่วนท้ายของแต่ละอัน
คำ. ข้างใน new_stringเครื่องหมายและ ('&') จะถูกแทนที่ด้วย old_string. ใด
อักขระอาจใช้เป็นตัวคั่นสำหรับส่วนต่างๆ ของสตริงตัวปรับแต่ง ดิ
อักขระที่ยึด เครื่องหมาย และตัวคั่นอาจใช้หลีกด้วยเครื่องหมายแบ็กสแลช
('\').

การขยายตัวของตัวแปรเกิดขึ้นในลักษณะปกติภายในทั้งสองอย่าง old_string และ
new_string โดยมีข้อยกเว้นเพียงข้อเดียวที่ใช้แบ็กสแลชเพื่อป้องกัน
การขยายตัวของเครื่องหมายดอลลาร์ ('$') ไม่ใช่เครื่องหมายดอลลาร์ที่อยู่ข้างหน้าตามปกติ

:old_string=new_string
นี่คือการแทนที่ตัวแปรสไตล์ AT&T System V UNIX มันคงเป็นครั้งสุดท้าย
ตัวแก้ไขที่ระบุ ถ้า old_string or new_string ไม่มีรูปแบบ
จับคู่ตัวอักษร % แล้วสันนิษฐานว่าทอดสมออยู่ที่ส่วนท้ายของ
แต่ละคำ จึงสามารถแทนที่ได้เฉพาะคำต่อท้ายหรือทั้งคำเท่านั้น มิฉะนั้น % คือ
สตริงย่อยของ old_string จะถูกแทนที่ใน new_string.

:T แทนที่แต่ละคำในตัวแปรด้วยองค์ประกอบสุดท้าย

:tl แปลงตัวแปรเป็นตัวพิมพ์เล็ก

: อ แปลงตัวแปรเป็นตัวพิมพ์ใหญ่

:U แปลงตัวแปรเป็นตัวพิมพ์ใหญ่ (เลิกใช้แล้ว)

:u ลบคำที่ซ้ำกันที่อยู่ติดกัน (like มีเอกลักษณ์(พ.ศ. 1)).

คำสั่ง เงื่อนไข AND สำหรับ ลูป


Directives, conditionals, and for loops ที่ชวนให้นึกถึงภาษาซีคือ
จัดให้ใน ทำ. โครงสร้างดังกล่าวทั้งหมดจะถูกระบุโดยบรรทัดที่ขึ้นต้นด้วยจุดเดียว
('.') อักขระ. รองรับคำสั่งต่อไปนี้:

.รวม

.รวม "ไฟล์"
รวม makefile ที่ระบุ ตัวแปรระหว่างวงเล็บมุมหรือ double
เครื่องหมายคำพูดถูกขยายเพื่อสร้างชื่อไฟล์ หากใช้วงเล็บมุม ให้รวม
makefile คาดว่าจะอยู่ในไดเร็กทอรี makefile ของระบบ ถ้าเครื่องหมายอัญประกาศคู่คือ
ใช้ รวมถึงไดเร็กทอรีของ makefile และไดเร็กทอรีใด ๆ ที่ระบุโดยใช้ -I
ตัวเลือกจะถูกค้นหาก่อนไดเร็กทอรี makefile ของระบบ

.sclude

.sclude "ไฟล์"
Like .รวมแต่จะถูกละเว้นโดยไม่แสดงเจตนาหากไม่พบและเปิดไฟล์นั้น

.undef ตัวแปร
ยกเลิกการกำหนดตัวแปรส่วนกลางที่ระบุ เฉพาะตัวแปรส่วนกลางเท่านั้นที่ไม่สามารถกำหนดได้

.ข้อผิดพลาด ข่าวสาร
ยุติการประมวลผล makefile ทันที ชื่อไฟล์ของ makefile, the
บรรทัดที่พบข้อผิดพลาดและข้อความที่ระบุถูกพิมพ์ไปที่
เอาต์พุตข้อผิดพลาดมาตรฐานและ ทำ สิ้นสุดด้วยรหัสทางออก 1 ตัวแปรใน
ข้อความถูกขยาย

.คำเตือน ข่าวสาร
ส่งข้อความเตือน ชื่อไฟล์ของ makefile บรรทัดที่คำเตือน
พบ และข้อความที่ระบุถูกพิมพ์ไปยังเอาต์พุตข้อผิดพลาดมาตรฐาน
ตัวแปรในข้อความถูกขยาย

Conditionals ใช้เพื่อกำหนดว่าส่วนใดของ Makefile ที่จะประมวลผล ใช้แล้ว
คล้ายกับเงื่อนไขที่รองรับโดยตัวประมวลผลล่วงหน้า C เงื่อนไขต่อไปนี้
ได้รับการสนับสนุน:

.ถ้า -การแสดงออก [ผู้ประกอบการ การแสดงออก ...]
ทดสอบค่าของนิพจน์

.ifdef -ตัวแปร [ผู้ประกอบการ ตัวแปร ...]
ทดสอบค่าของตัวแปร

.ifndef -ตัวแปร [ผู้ประกอบการ ตัวแปร ...]
ทดสอบค่าของตัวแปร

.ifmake -เป้า [ผู้ประกอบการ เป้า ...]
ทดสอบเป้าหมายที่กำลังสร้าง

.ifnmake -เป้า [ผู้ประกอบการ เป้า ...]
ทดสอบเป้าหมายที่กำลังสร้าง

.อื่น ย้อนกลับความรู้สึกของเงื่อนไขสุดท้าย

.เอลฟ์ -การแสดงออก [ผู้ประกอบการ การแสดงออก ...]
การรวมกันของ .อื่น ตามมาด้วย .ถ้า.

.elifdef -ตัวแปร [ผู้ประกอบการ ตัวแปร ...]
การรวมกันของ .อื่น ตามมาด้วย .ifdef.

.elifndef -ตัวแปร [ผู้ประกอบการ ตัวแปร ...]
การรวมกันของ .อื่น ตามมาด้วย .ifndef.

.elifmake -เป้า [ผู้ประกอบการ เป้า ...]
การรวมกันของ .อื่น ตามมาด้วย .ifmake.

.elifnmake -เป้า [ผู้ประกอบการ เป้า ...]
การรวมกันของ .อื่น ตามมาด้วย .ifnmake.

.endif สิ้นสุดเนื้อความของเงื่อนไข

พื้นที่ ผู้ประกอบการ อาจเป็นข้อใดข้อหนึ่งต่อไปนี้:

|| ตรรกะหรือ

&& ตรรกะและ; ที่มีลำดับความสำคัญสูงกว่า '||'

เช่นเดียวกับในซี ทำ จะประเมินเงื่อนไขเท่าที่จำเป็นเพื่อกำหนด
ค่า. วงเล็บอาจใช้เพื่อเปลี่ยนลำดับการประเมิน ตัวดำเนินการบูลีน '!'
อาจใช้เพื่อลบล้างเงื่อนไขทั้งหมดอย่างมีเหตุผล มีลำดับความสำคัญสูงกว่า
'&&'

คุณค่าของ การแสดงออก อาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้:

กำหนด ใช้ชื่อตัวแปรเป็นอาร์กิวเมนต์และประเมินว่าเป็นจริงหากตัวแปร has
ถูกกำหนด

ทำ ใช้ชื่อเป้าหมายเป็นอาร์กิวเมนต์และประเมินว่าเป็นจริงถ้าเป้าหมายเป็น
ระบุไว้เป็นส่วนหนึ่งของ ทำบรรทัดคำสั่งของหรือได้รับการประกาศให้เป็นเป้าหมายเริ่มต้น
(ไม่ว่าจะโดยนัยหรือโดยชัดแจ้ง ดู .หลัก) ก่อนบรรทัดที่มี the
มีเงื่อนไข

ไม่มีข้อมูล รับตัวแปรพร้อมตัวปรับแต่งที่เป็นไปได้ และประเมินว่าเป็นจริงถ้า
การขยายตัวแปรจะส่งผลให้สตริงว่าง

ที่มีอยู่ ใช้ชื่อไฟล์เป็นอาร์กิวเมนต์และประเมินว่าเป็นจริงหากมีไฟล์อยู่ NS
ไฟล์ถูกค้นหาบนเส้นทางการค้นหาของระบบ (ดู .เส้นทาง).

เป้า ใช้ชื่อเป้าหมายเป็นอาร์กิวเมนต์และประเมินผลเป็นจริงถ้าเป้าหมายได้รับ
ที่กำหนดไว้

An การแสดงออก อาจเป็นการเปรียบเทียบตัวเลขหรือสตริงก็ได้ ในกรณีนี้ ด้านซ้ายมือ
ต้อง be การขยายตัวแปรในขณะที่ด้านขวาอาจเป็นค่าคงที่หรือตัวแปร
การขยาย. การขยายตัวแปรดำเนินการทั้งสองด้าน หลังจากนั้นจึงได้ค่าผลลัพธ์
จะถูกเปรียบเทียบ ค่าจะถูกตีความว่าเป็นเลขฐานสิบหกหากนำหน้าด้วย 0x มิฉะนั้น ค่านั้น
เป็นทศนิยม ไม่รองรับเลขฐานแปด

การเปรียบเทียบสตริงสามารถใช้ได้เฉพาะ '==' หรือ '!=' ตัวดำเนินการ ในขณะที่ค่าตัวเลข (ทั้ง
จำนวนเต็มและจุดลอยตัว) สามารถเปรียบเทียบได้โดยใช้ '>','>=','<'และ'<='
ผู้ประกอบการ

หากไม่มีการกำหนดโอเปอเรเตอร์เชิงสัมพันธ์ (และค่ามือขวา) ให้ '!= 0' ถูกนำมาใช้.
อย่างไรก็ตาม โปรดใช้คุณลักษณะนี้อย่างระมัดระวังโดยเฉพาะอย่างยิ่งเมื่อตัวแปรด้านซ้ายมือ
ส่วนขยายส่งกลับสตริง

เมื่อ ทำ กำลังประเมินหนึ่งในนิพจน์เงื่อนไขเหล่านี้ และพบคำ it
ไม่รู้จักนิพจน์ "make" หรือ "defined" ที่ใช้กับนิพจน์ทั้งนี้ขึ้นอยู่กับ
รูปแบบของเงื่อนไข ถ้าแบบฟอร์มคือ .ถ้า, .ifdef or .ifndef, "กำหนด"
นิพจน์ถูกนำไปใช้ ในทำนองเดียวกัน ถ้าแบบฟอร์มคือ .ifmake or .ifnmake, นิพจน์ "ทำ"
ถูกนำมาใช้

หากเงื่อนไขประเมินเป็นจริง การแยกวิเคราะห์ของ makefile จะดำเนินต่อไปเหมือนเมื่อก่อน ถ้ามัน
ประเมินเป็นเท็จ ข้ามบรรทัดต่อไปนี้ ในทั้งสองกรณีนี้จะดำเนินต่อไปจนถึง a
.อื่น or .endif พบ

For loop มักใช้เพื่อนำชุดกฎไปใช้กับรายการไฟล์ ไวยากรณ์ของ a
สำหรับลูปคือ:

.สำหรับ ตัวแปร in การแสดงออก

.endfor

หลังจาก for การแสดงออก ประเมินแล้วแบ่งเป็นคำ การวนซ้ำ ตัวแปร is
กำหนดทีละคำและแทนที่ด้วย กฎเกณฑ์ ภายในร่างกายของ for
ห่วง

ความคิดเห็น


ความคิดเห็นเริ่มต้นด้วยอักขระแฮช ('#') ทุกที่ยกเว้นในบรรทัดคำสั่งเชลล์ และ
ไปต่อท้ายแถว

พิเศษ แหล่งที่มา


.ไม่สนใจ ละเว้นข้อผิดพลาดจากคำสั่งที่เกี่ยวข้องกับเป้าหมายนี้ เหมือนกับว่า
ทั้งหมดนำหน้าด้วยเครื่องหมายขีดกลาง ('-')

.ทำ ดำเนินการคำสั่งที่เกี่ยวข้องกับเป้าหมายนี้แม้ว่า -n or -t ตัวเลือก
ถูกระบุ ปกติใช้เพื่อทำเครื่องหมายแบบเรียกซ้ำ ทำ's

.ไม่ใช่ ปกติ ทำ เลือกเป้าหมายแรกที่เจอเป็นเป้าหมายเริ่มต้นที่จะ
สร้างขึ้นหากไม่มีการระบุเป้าหมาย แหล่งที่มานี้ป้องกันไม่ให้เป้าหมายนี้ถูก
เลือก

.ไม่จำเป็น หากเป้าหมายถูกทำเครื่องหมายด้วยแอตทริบิวต์นี้และ ทำ ไม่สามารถหาวิธี
สร้างมันขึ้นมา มันจะละเลยความจริงข้อนี้และถือว่าไฟล์นั้นไม่จำเป็นหรืออยู่แล้ว
ที่มีอยู่

.ล้ำค่า เมื่อ ทำ ถูกขัดจังหวะ โดยจะลบเป้าหมายที่สร้างไว้บางส่วนออก ที่มานี้
ป้องกันไม่ให้เป้าหมายถูกลบออก

.เงียบ อย่าสะท้อนคำสั่งใดๆ ที่เกี่ยวข้องกับเป้าหมายนี้ เหมือนกับว่าคำสั่งเหล่านั้น
ทั้งหมดนำหน้าด้วยเครื่องหมาย at ('@')

.ใช้ เปลี่ยนเป้าหมายเป็น ทำเวอร์ชันของมาโคร เมื่อเป้าหมายถูกใช้เป็น
source สำหรับเป้าหมายอื่น อีกเป้าหมายหนึ่งได้รับคำสั่ง source และ
คุณลักษณะ (ยกเว้นสำหรับ .ใช้) ของแหล่งที่มา หากเป้าหมายมีคำสั่งอยู่แล้ว
.ใช้ คำสั่งของเป้าหมายจะถูกผนวกเข้ากับพวกเขา

.รอ ถ้าพิเศษ .รอ source ปรากฏในบรรทัดการพึ่งพา แหล่งที่มาที่อยู่ข้างหน้า
มันถูกสร้างขึ้นก่อนที่แหล่งที่มาที่ประสบความสำเร็จในบรรทัด ลูปไม่เป็น
ตรวจพบและเป้าหมายที่วนซ้ำจะถูกละเว้น

พิเศษ เป้าหมาย


เป้าหมายพิเศษไม่สามารถรวมเข้ากับเป้าหมายอื่นได้ กล่าวคือ ต้องเป็นเป้าหมายเดียว
ระบุไว้

.เริ่ม บรรทัดคำสั่งใดๆ ที่แนบมากับเป้าหมายนี้จะถูกดำเนินการก่อนสิ่งอื่นใด
เสร็จแล้ว

.ค่าเริ่มต้น นี่มัน sort .ใช้ กฎสำหรับเป้าหมายใด ๆ (ที่ใช้เป็นแหล่งที่มาเท่านั้น) ว่า
ทำ ไม่สามารถหาวิธีอื่นในการสร้างได้ ใช้เฉพาะเชลล์สคริปต์เท่านั้น
พื้นที่ .IMPSRC ตัวแปรของเป้าหมายที่สืบทอด .ค่าเริ่มต้นคำสั่งของถูกตั้งค่าเป็น
ชื่อของเป้าหมายเอง

.END บรรทัดคำสั่งใดๆ ที่แนบมากับเป้าหมายนี้จะถูกดำเนินการหลังจากทุกอย่างเป็น
เสร็จแล้ว

.ไม่สนใจ ทำเครื่องหมายแหล่งที่มาแต่ละแหล่งด้วย .ไม่สนใจ คุณลักษณะ. หากไม่มีแหล่งที่มา
ที่ระบุนี้เทียบเท่ากับการระบุ -i ตัวเลือก

.รวมถึง รายการส่วนต่อท้ายที่ระบุไฟล์ที่สามารถรวมไว้ในไฟล์ต้นทางได้
ต้องประกาศคำต่อท้ายด้วย .แล้ว .คำต่อท้าย; คำต่อท้ายใด ๆ ดังนั้น
ประกาศจะมีไดเร็กทอรีในเส้นทางการค้นหา (ดู .เส้นทาง) วางไว้ใน
.รวมถึง ตัวแปรพิเศษ นำหน้าด้วย a -I ธง.

.ขัดจังหวะ If ทำ ถูกขัดจังหวะ คำสั่งสำหรับเป้าหมายนี้จะถูกดำเนินการ

.LIBS สิ่งนี้ทำเพื่อห้องสมุดอะไร .รวมถึง ใช้สำหรับรวมไฟล์ ยกเว้นว่า
ธงที่ใช้คือ -L.

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

.เมคไฟล์เดปส์
เปิดใช้งานฟังก์ชัน "Remaking Makefiles" ตามที่อธิบายไว้ใน การถอด
เมคไฟล์ ด้านล่าง

.ทำธง เป้าหมายนี้มีวิธีการระบุแฟล็กสำหรับ ทำ เมื่อใช้ makefile
แฟล็กนั้นเหมือนกับพิมพ์ลงบนเชลล์แม้ว่า -f ตัวเลือกจะไม่มี
ผล. แฟล็ก (ยกเว้นสำหรับ -f) และการกำหนดตัวแปรที่ระบุเป็นแหล่งที่มา
สำหรับเป้าหมายนี้จะถูกผนวกเข้ากับ .ทำธง ตัวแปรภายใน โปรด
สังเกตความแตกต่างระหว่างเป้าหมายนี้กับ .ทำธง ตัวแปรภายใน:
การระบุตัวเลือกหรือการกำหนดค่าตัวแปรเป็นแหล่งสำหรับเป้าหมายนี้
มีผลต่อ ทั้งสอง makefile ปัจจุบันและกระบวนการทั้งหมดที่ ทำ ดำเนินการ

.MFLAGS เช่นเดียวกับข้างต้น สำหรับความเข้ากันได้ย้อนหลัง

.ไม่ขนานกัน
ปิดใช้งานโหมดคู่ขนาน

.NO_PARALLEL
เช่นเดียวกับข้างต้น เพื่อความเข้ากันได้กับผู้อื่น พีเมค สายพันธุ์

.คำสั่ง เป้าหมายที่มีชื่อจะทำตามลำดับ

.เส้นทาง แหล่งที่มาคือไดเร็กทอรีที่จะค้นหาไฟล์ที่ไม่พบใน
ไดเรกทอรีปัจจุบัน หากไม่มีการระบุแหล่งที่มาใด ๆ ที่ระบุไว้ก่อนหน้านี้
ไดเร็กทอรีจะถูกลบออก หากเป็นไปได้ ให้ใช้ .เส้นทาง เป็นที่ต้องการมากกว่าการใช้
วีพาธ ตัวแปร

.เส้นทางวิภัตติ
แหล่งที่มาคือไดเร็กทอรีที่จะค้นหาไฟล์ต่อท้ายไม่ใช่
พบในไดเร็กทอรีปัจจุบัน ดิ ทำ ยูทิลิตี้ค้นหาคำต่อท้าย .ก่อน
ค้นหาเส้นทางก่อนที่จะเปลี่ยนกลับเป็นเส้นทางเริ่มต้นหากไม่พบไฟล์
ที่นั่น. แบบฟอร์มนี้จำเป็นสำหรับ .LIBS และ .รวมถึง ในการทำงาน

.ปลอม สมัคร .ปลอม แอตทริบิวต์ไปยังแหล่งใด ๆ ที่ระบุ ตั้งเป้าไว้แบบนี้
แอตทริบิวต์จะถือว่าล้าสมัยเสมอ

.POSIX ปรับ ทำพฤติกรรมของเพื่อให้ตรงกับข้อกำหนดของ POSIX ที่เกี่ยวข้อง (หมายเหตุ
ปิดใช้งานคุณลักษณะ "การสร้างไฟล์ใหม่")

.ล้ำค่า สมัคร .ล้ำค่า แอตทริบิวต์ไปยังแหล่งใด ๆ ที่ระบุ หากไม่มีแหล่งที่มา
ระบุ, the .ล้ำค่า แอตทริบิวต์ถูกนำไปใช้กับทุกเป้าหมายในไฟล์

.เปลือก เลือกเชลล์อื่น แหล่งที่มาของเป้าหมายนี้มีรูปแบบ สำคัญ=ความคุ้มค่า.
พื้นที่ สำคัญ เป็นหนึ่งใน:

เส้นทาง ระบุพาธไปยังเชลล์ใหม่

ชื่อ ระบุชื่อเชลล์ใหม่ นี่อาจเป็นอย่างใดอย่างหนึ่งของ
เชลล์ในตัวสามตัว (ดูด้านล่าง) หรือชื่ออื่น

เงียบสงบ ระบุคำสั่งเชลล์เพื่อปิดเสียงสะท้อน

เสียงสะท้อน ระบุคำสั่งเชลล์เพื่อเปิดเสียงสะท้อน

กรอง โดยปกติเชลล์จะพิมพ์คำสั่ง echo off ก่อนที่จะปิดการสะท้อนกลับ
นี่คือสตริงที่แน่นอนที่จะพิมพ์โดยเชลล์และ is
ใช้เพื่อกรองเอาต์พุตของเชลล์เพื่อลบคำสั่ง echo off

เสียงสะท้อน ตัวเลือกเชลล์ที่เปิดก้อง

ข้อผิดพลาด ตัวเลือกเชลล์เพื่อเปิดการตรวจสอบข้อผิดพลาด หากเปิดการตรวจสอบข้อผิดพลาด
เชลล์ควรออกหากคำสั่งส่งคืนสถานะที่ไม่ใช่ศูนย์

มีErrCtl เป็นจริงหากเชลล์มีการควบคุมข้อผิดพลาด

ตรวจสอบ If มีErrCtl เป็นจริง นี่คือคำสั่งเชลล์เพื่อเปลี่ยน error
กำลังตรวจสอบ ถ้า มีErrCtl เป็นเท็จ นี่คือเทมเพลตคำสั่ง
เพื่อสะท้อนคำสั่งที่ปิดใช้งานการตรวจสอบข้อผิดพลาด แม่แบบ
ต้องมี '%s'

ไม่สนใจ If มีErrCtl เป็นจริง นี่คือคำสั่งเชลล์เพื่อเปลี่ยน error
กำลังตรวจสอบ ถ้า มีErrCtl เป็นเท็จ นี่คือเทมเพลตคำสั่งของ
รันคำสั่งเพื่อไม่ให้เกิดข้อผิดพลาด แม่แบบต้อง
มี '%s'

เมตา นี่คือสตริงของอักขระเมตาของเชลล์

บิวอิน นี่คือสตริงที่เก็บคำสั่งในตัวของเชลล์ทั้งหมดแยกจากกัน
โดยช่องว่าง ดิ เมตา และ บิวอิน ใช้สตริงในโหมดใช้งานร่วมกัน
เมื่อบรรทัดคำสั่งไม่มีอักขระเมตาหรือขึ้นต้นด้วย
เชลล์บิวด์อิน มันถูกดำเนินการโดยตรงโดยไม่ต้องเรียกใช้เชลล์
เมื่อหนึ่งในสตริงเหล่านี้ (หรือทั้งสอง) ว่าง คำสั่งทั้งหมดคือ
ดำเนินการผ่านเปลือก

ยกเลิกการตั้งค่า หากเป็น true ให้ลบตัวแปรสภาพแวดล้อม ENV ออกก่อนดำเนินการใดๆ
สั่งการ. สิ่งนี้มีประโยชน์สำหรับ Korn-shell (ครับ).

ค่าที่เป็นสตริงต้องล้อมรอบด้วยเครื่องหมายคำพูดคู่ ค่าบูลีนคือ
ระบุเป็น 'T' หรือ 'Y' (ในกรณีใดกรณีหนึ่ง) เพื่อหมายถึงจริง ค่าอื่นใดจะถูกนำมา
หมายถึงเท็จ

มีประโยชน์หลายประการของ .เปลือก เป้า:

· การเลือกหนึ่งในเชลล์ในตัว ทำได้โดยเพียงแค่ระบุ
ชื่อของเปลือกด้วย ชื่อ คำสำคัญ. นอกจากนี้ยังสามารถปรับเปลี่ยน
พารามิเตอร์ของบิวด์อินเชลล์โดยเพียงแค่ระบุคีย์เวิร์ดอื่นๆ (ยกเว้น
for เส้นทาง).

· การใช้โปรแกรมเรียกทำงานอื่นสำหรับเชลล์ที่มีอยู่แล้วภายในตัวใดตัวหนึ่ง นี้ทำโดย
ระบุพาธไปยังไฟล์ปฏิบัติการด้วยคำสั่ง เส้นทาง คำสำคัญ. ถ้าสุดท้าย
คอมโพเนนต์จะเหมือนกับชื่อบิวด์อินเชลล์ ไม่จำเป็นต้องมีชื่อ
ระบุ; ถ้าต่างกันต้องให้ชื่อ:

.SHELL: path="/usr/local/bin/sh"

เลือกบิวด์อินเชลล์ “sh” แต่จะรันจาก /usr/local/bin/sh.
เช่นเดียวกับในกรณีก่อนหน้านี้ เป็นไปได้ที่จะแก้ไขพารามิเตอร์ของ
เชลล์บิวด์อินโดยเพียงแค่ระบุ

· โดยใช้เปลือกที่แตกต่างกันโดยสิ้นเชิง ทำได้โดยการระบุคีย์เวิร์ดทั้งหมด

เชลล์ในตัวคือ "sh", "csh" และ "ksh" เพราะ FreeBSD ไม่มี ครับ in
/ bin, เป็นการไม่ฉลาดที่จะระบุ ชื่อ="ksh" โดยไม่ระบุพาธด้วย

.เงียบ สมัคร .เงียบ แอตทริบิวต์ไปยังแหล่งใด ๆ ที่ระบุ หากไม่มีแหล่งที่มา
ระบุ, the .เงียบ แอตทริบิวต์ถูกนำไปใช้กับทุกคำสั่งในไฟล์

.คำต่อท้าย แต่ละแหล่งระบุคำต่อท้ายถึง ทำ. หากไม่มีการระบุแหล่งที่มาใดๆ
คำต่อท้ายที่ระบุก่อนหน้านี้จะถูกลบออก

.เตือน แต่ละแหล่งระบุแฟล็กคำเตือนตามที่อธิบายไว้ก่อนหน้านี้สำหรับ -x คำสั่ง
ตัวเลือกบรรทัด แฟล็กคำเตือนที่ระบุในบรรทัดคำสั่งมีความสำคัญเหนือกว่า
แฟล็กที่ระบุใน makefile นอกจากนี้ แฟล็กคำเตือนบรรทัดคำสั่งจะถูกผลักไปที่
สร้างย่อยผ่านตัวแปรสภาพแวดล้อม MAKEFLAGS เพื่อให้แฟล็กคำเตือน
ระบุไว้ในบรรทัดคำสั่งจะมีผลกับการสร้างย่อยทั้งหมด หลายธงสามารถ
ระบุไว้ในที่เดียว .เตือน เป้าหมายโดยคั่นด้วยช่องว่าง

การถอด เมคไฟล์


ถ้าเป้าหมายพิเศษ .เมคไฟล์เดปส์ มีอยู่ใน Makefile ทำ เปิดใช้งาน “การสร้างใหม่
คุณสมบัติ Makefiles” หลังจากอ่าน Makefile และไฟล์ทั้งหมดที่รวมไว้โดยใช้
.รวม or .sclude คำสั่ง (ที่มา Makefiles) ทำ ถือว่า Makefile แต่ละแหล่งที่มาเป็น a
กำหนดเป้าหมายและพยายามสร้างใหม่ มีการตรวจสอบกฎทั้งโดยชัดแจ้งและโดยปริยายและแหล่งที่มาทั้งหมด
Makefiles จะได้รับการอัปเดตหากจำเป็น หาก Makefiles ต้นทางใด ๆ ถูกสร้างขึ้นใหม่ ทำ
รีสตาร์ทจากสถานะที่สะอาด

เพื่อป้องกันการวนซ้ำไม่สิ้นสุด เป้าหมาย Makefile ต้นทางต่อไปนี้จะถูกละเว้น:

· :: เป้าหมายที่ไม่มีข้อกำหนดเบื้องต้น

· ! เป้าหมาย

· เป้าหมายที่มี .ปลอม or .EXEC แอตทริบิวต์

· เป้าหมายโดยไม่มีข้อกำหนดเบื้องต้นและไม่มีคำสั่ง

เมื่อสร้างตัวเลือก Makefile ต้นทางใหม่ -t (สัมผัสเป้าหมาย) -q (โหมดแบบสอบถาม) และ -n (ไม่มีผู้บริหาร)
ไม่มีผล เว้นแต่แหล่ง Makefile จะถูกระบุอย่างชัดเจนเป็นเป้าหมายใน ทำ
บรรทัดคำสั่ง.

นอกจากนี้ makefiles ระบบและ .ขึ้นอยู่กับ ไม่ถือว่าเป็น Makefiles ที่สามารถ
สร้างใหม่

และพวกเรา


พื้นที่ ทำ ยูทิลิตีใช้ตัวแปรสภาพแวดล้อมต่อไปนี้ หากมี: MACHINE, MAKE,
MAKEFLAGS, MAKEOBJDIR, MAKEOBJDIRPREFIX และ MAKESYSPATH

ใช้ fmake ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    ทำความสะอาดล้ำลึก
    ทำความสะอาดล้ำลึก
    สคริปต์ Kotlin ที่สร้างนิวเคลียร์ทั้งหมด
    แคชจากโครงการ Gradle/Android
    มีประโยชน์เมื่อ Gradle หรือ IDE ให้คุณ
    ลง. สคริปต์ได้รับการทดสอบแล้ว
    macOS แต่...
    ดาวน์โหลด ทำความสะอาดอย่างล้ำลึก
  • 2
    ปลั๊กอิน Eclipse Checkstyle
    ปลั๊กอิน Eclipse Checkstyle
    ปลั๊กอิน Eclipse Checkstyle
    รวมโค้ด Checkstyle Java
    ผู้ตรวจสอบบัญชีใน Eclipse IDE ดิ
    ปลั๊กอินให้ข้อเสนอแนะแบบเรียลไทม์กับ
    ผู้ใช้เกี่ยวกับการละเมิด...
    ดาวน์โหลดปลั๊กอิน Eclipse Checkstyle
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player เป็นเครื่องเล่นสื่อฟรี
    ซอฟต์แวร์ ส่วนหนึ่งขึ้นอยู่กับ WMP และ VLC เดอะ
    เครื่องเล่นในสไตล์มินิมอลด้วย
    ธีมสีมากกว่าสิบสีและยังสามารถ
    ข ...
    ดาวน์โหลด AstrOrzPlayer
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV และ ADDON สำหรับ XBMC/
    Kodi que อนุญาต disponer de un
    ตัวถอดรหัสของ los servicios IPTV ของ
    Movistar รวมเข้าด้วยกัน
    ศูนย์สื่อแม...
    ดาวน์โหลด movistartv
  • 5
    รหัส :: บล็อก
    รหัส :: บล็อก
    Code::Blocks เป็นโอเพ่นซอร์สฟรี
    ข้ามแพลตฟอร์ม C, C++ และ Fortran IDE
    สร้างขึ้นเพื่อตอบสนองความต้องการสูงสุด
    ของผู้ใช้ มันถูกออกแบบมาให้มาก
    ขยาย...
    ดาวน์โหลด Code::Blocks
  • 6
    ท่ามกลาง
    ท่ามกลาง
    ท่ามกลางหรือส่วนต่อประสาน Minecraft ขั้นสูง
    และการติดตามข้อมูล/โครงสร้างเป็นเครื่องมือในการ
    แสดงภาพรวมของ Minecraft
    โลกโดยไม่ต้องสร้างมันขึ้นมาจริงๆ มัน
    สามารถ ...
    ดาวน์โหลดท่ามกลาง
  • เพิ่มเติม»

คำสั่ง Linux

Ad