กฎ
objc_import
ดูแหล่งที่มาของกฎobjc_import(name, deps, hdrs, alwayslink, archives, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, includes, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
กฎนี้จะรวมไลบรารีแบบคงที่ที่คอมไพล์แล้วในรูปแบบไฟล์ .a
นอกจากนี้ ยังช่วยให้ส่งออกส่วนหัวและทรัพยากรได้โดยใช้แอตทริบิวต์เดียวกันที่ objc_library
รองรับ
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ ต้องระบุ ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
deps
|
รายการป้ายกํากับ ค่าเริ่มต้นคือ |
hdrs
|
รายการป้ายกํากับ ค่าเริ่มต้นคือ ส่วนหัวเหล่านี้จะอธิบายอินเทอร์เฟซสาธารณะของไลบรารีและจะพร้อมให้แหล่งที่มารวมไว้ในกฎนี้หรือกฎที่เกี่ยวข้อง ส่วนหัวที่ลูกค้าของไลบรารีนี้ไม่ได้ตั้งใจจะรวมไว้ควรแสดงในแอตทริบิวต์ srcs แทน ระบบจะคอมไพล์ไฟล์เหล่านี้แยกจากซอร์สหากเปิดใช้โมดูล |
alwayslink
|
บูลีน ค่าเริ่มต้นคือ srcs และ non_arc_srcs แม้ว่าบางไฟล์จะไม่มีสัญลักษณ์ที่ไบนารีอ้างอิงก็ตาม
ซึ่งมีประโยชน์ในกรณีที่โค้ดในไบนารีไม่ได้เรียกใช้โค้ดของคุณอย่างชัดเจน เช่น ในกรณีที่โค้ดลงทะเบียนเพื่อรับการเรียกกลับบางอย่างที่บริการบางอย่างให้ไว้
|
archives
|
รายการป้ายกำกับ (ต้องระบุ) รายการไฟล์.a ที่ส่งไปยังเป้าหมาย Objective-C ที่ขึ้นอยู่กับเป้าหมายนี้
|
includes
|
รายการสตริง ค่าเริ่มต้นคือ #include/#import เส้นทางการค้นหาที่จะเพิ่มลงในเป้าหมายนี้ และเป้าหมายที่เกี่ยวข้องทั้งหมด
การดำเนินการนี้มีไว้เพื่อรองรับไลบรารีของบุคคลที่สามและไลบรารีโอเพนซอร์สที่ไม่ได้ระบุเส้นทางเวิร์กスペースทั้งหมดในคำสั่ง #import/#include
ระบบจะตีความเส้นทางตามไดเรกทอรีแพ็กเกจ และรวมรูท genfiles และ bin (เช่น ซึ่งแตกต่างจาก COPTS เนื่องจากระบบจะเพิ่ม Flag เหล่านี้สำหรับกฎนี้และกฎทุกข้อที่ขึ้นอยู่กับกฎนี้ (หมายเหตุ: ไม่ใช่กฎที่ใช้กับแอตทริบิวต์) โปรดใช้ความระมัดระวังอย่างยิ่ง เนื่องจากการดำเนินการนี้อาจมีผลที่ตามมาอย่างกว้างขวาง หากไม่แน่ใจ ให้เพิ่ม Flag "-iquote" ลงใน COPTS แทน |
sdk_dylibs
|
รายการสตริง ค่าเริ่มต้นคือ |
sdk_frameworks
|
รายการสตริง ค่าเริ่มต้นคือ เมื่อลิงก์ไบนารีระดับบนสุดของ Apple ระบบจะลิงก์เฟรมเวิร์ก SDK ทั้งหมดที่แสดงในกราฟ Dependency แบบทรานซิทีฟของไบนารีนั้น |
sdk_includes
|
รายการสตริง ค่าเริ่มต้นคือ #include/#import ที่จะเพิ่มลงในเป้าหมายนี้ และเป้าหมายทั้งหมดที่ขึ้นต่อกัน โดยแต่ละเส้นทางจะสัมพันธ์กับ $(SDKROOT)/usr/include
|
textual_hdrs
|
รายการป้ายกํากับ ค่าเริ่มต้นคือ |
weak_sdk_frameworks
|
รายการสตริง ค่าเริ่มต้นคือ |
objc_library
ดูแหล่งที่มาของกฎobjc_library(name, deps, srcs, data, hdrs, alwayslink, compatible_with, copts, defines, deprecation, distribs, enable_modules, exec_compatible_with, exec_properties, features, implementation_deps, includes, linkopts, module_map, module_name, non_arc_srcs, pch, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, stamp, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
กฎนี้จะสร้างไลบรารีแบบคงที่จากไฟล์ซอร์ส Objective-C ที่ระบุ
อาร์กิวเมนต์
Attributes | |
---|---|
name |
ชื่อ ต้องระบุ ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้ |
deps
|
รายการป้ายกํากับ ค่าเริ่มต้นคือ |
srcs
|
รายการป้ายกํากับ ค่าเริ่มต้นคือ |
hdrs
|
รายการป้ายกํากับ ค่าเริ่มต้นคือ ส่วนหัวเหล่านี้จะอธิบายอินเทอร์เฟซสาธารณะของไลบรารีและจะพร้อมให้แหล่งที่มารวมไว้ในกฎนี้หรือกฎที่เกี่ยวข้อง ส่วนหัวที่ลูกค้าของไลบรารีนี้ไม่ได้ตั้งใจจะรวมไว้ควรแสดงในแอตทริบิวต์ srcs แทน ระบบจะคอมไพล์ไฟล์เหล่านี้แยกจากซอร์สหากเปิดใช้โมดูล |
alwayslink
|
บูลีน ค่าเริ่มต้นคือ srcs และ non_arc_srcs แม้ว่าบางไฟล์จะไม่มีสัญลักษณ์ที่ไบนารีอ้างอิงก็ตาม
ซึ่งมีประโยชน์ในกรณีที่โค้ดในไบนารีไม่ได้เรียกใช้โค้ดของคุณอย่างชัดเจน เช่น ในกรณีที่โค้ดลงทะเบียนเพื่อรับการเรียกกลับบางอย่างที่บริการบางอย่างให้ไว้
|
copts
|
รายการสตริง ค่าเริ่มต้นคือ โปรดทราบว่าสำหรับโปรเจ็กต์ Xcode ที่สร้างขึ้น ระบบจะแยกวิเคราะห์เส้นทางไดเรกทอรีที่ระบุโดยใช้ Flag "-I" ใน copts โดยนำ "$(WORKSPACE_ROOT)/" มาไว้ข้างหน้าหากเป็นเส้นทางแบบสัมพัทธ์ และเพิ่มลงในเส้นทางการค้นหาส่วนหัวสำหรับเป้าหมาย Xcode ที่เชื่อมโยง |
defines
|
รายการสตริง ค่าเริ่มต้นคือ -D เพิ่มเติมที่จะส่งไปยังคอมไพเลอร์ โดยควรอยู่ในรูปแบบ KEY=VALUE หรือเพียงแค่ KEY และไม่เพียงส่งไปยังคอมไพเลอร์สําหรับเป้าหมายนี้ (เช่นเดียวกับ copts ) เท่านั้น แต่ยังส่งไปยัง objc_ ทั้งหมดที่ขึ้นกับเป้าหมายนี้ด้วย
ขึ้นอยู่กับการแทนที่ "Make variable" และการแยกออกเป็นโทเค็นของ Bourne shell
|
enable_modules
|
บูลีน ค่าเริ่มต้นคือ |
implementation_deps
|
รายการป้ายกํากับ ค่าเริ่มต้นคือ deps ตรงที่ส่วนหัวและเส้นทางรวมของไลบรารีเหล่านี้ (และไลบรารีทั้งหมดที่ขึ้นต่อกัน) จะใช้สำหรับการคอมไพล์ไลบรารีนี้เท่านั้น ไม่ใช่ไลบรารีที่ขึ้นต่อกัน ไลบรารีที่ระบุด้วย implementation_deps จะยังคงลิงก์อยู่ในเป้าหมายไบนารีที่ขึ้นอยู่กับไลบรารีนี้
|
includes
|
รายการสตริง ค่าเริ่มต้นคือ #include/#import เส้นทางการค้นหาที่จะเพิ่มลงในเป้าหมายนี้ และเป้าหมายที่เกี่ยวข้องทั้งหมด
การดำเนินการนี้มีไว้เพื่อรองรับไลบรารีของบุคคลที่สามและไลบรารีโอเพนซอร์สที่ไม่ได้ระบุเส้นทางเวิร์กスペースทั้งหมดในคำสั่ง #import/#include
ระบบจะตีความเส้นทางตามไดเรกทอรีแพ็กเกจ และรวมรูท genfiles และ bin (เช่น ซึ่งแตกต่างจาก COPTS เนื่องจากระบบจะเพิ่ม Flag เหล่านี้สำหรับกฎนี้และกฎทุกข้อที่ขึ้นอยู่กับกฎนี้ (หมายเหตุ: ไม่ใช่กฎที่ใช้กับแอตทริบิวต์) โปรดใช้ความระมัดระวังอย่างยิ่ง เนื่องจากการดำเนินการนี้อาจมีผลที่ตามมาอย่างกว้างขวาง หากไม่แน่ใจ ให้เพิ่ม Flag "-iquote" ลงใน COPTS แทน |
linkopts
|
รายการสตริง ค่าเริ่มต้นคือ |
module_map
|
ป้ายกํากับ ค่าเริ่มต้นคือ |
module_name
|
สตริง ค่าเริ่มต้นคือ |
non_arc_srcs
|
รายการป้ายกํากับ ค่าเริ่มต้นคือ |
pch
|
ป้ายกํากับ ค่าเริ่มต้นคือ |
sdk_dylibs
|
รายการสตริง ค่าเริ่มต้นคือ |
sdk_frameworks
|
รายการสตริง ค่าเริ่มต้นคือ เมื่อลิงก์ไบนารีระดับบนสุดของ Apple ระบบจะลิงก์เฟรมเวิร์ก SDK ทั้งหมดที่แสดงในกราฟ Dependency แบบทรานซิทีฟของไบนารีนั้น |
sdk_includes
|
รายการสตริง ค่าเริ่มต้นคือ #include/#import ที่จะเพิ่มลงในเป้าหมายนี้ และเป้าหมายทั้งหมดที่ขึ้นต่อกัน โดยแต่ละเส้นทางจะสัมพันธ์กับ $(SDKROOT)/usr/include
|
stamp
|
บูลีน ค่าเริ่มต้นคือ |
textual_hdrs
|
รายการป้ายกํากับ ค่าเริ่มต้นคือ |
weak_sdk_frameworks
|
รายการสตริง ค่าเริ่มต้นคือ |