2012-09-07 15 views
13

मैं एक Makefile में नियमों की एक संख्या देख रहा हूँ इस तरह दिखेगा कि:Makefile नियम परिभाषा में अर्धविराम

$(PATH)/foo.inc:; 
include $(PATH)/foo.inc 

$(PATH)/bar.inc:; 
include $(PATH)/bar.inc 

नियम परिभाषा के अंत नो-सेशन में सेमी-कोलन है या क्या करता है इसका एक विशेष अर्थ है?

+0

इस संदर्भ में, यह एक नो-ऑप है। यदि उसके बाद एक ही पंक्ति पर कुछ किया जाता है, तो यह नो-ऑप नहीं होगा। –

उत्तर

15

लक्ष्य-पूर्व शर्त के साथ लाइन पर एक अर्धविराम कम से कम जीएनयू बनाने में इस नियम के लिए निष्पादित करने वाली पहली कमांड लाइन है।

मैनुअल के 5 अध्याय से:

एक नियम के आदेशों शेल कमांड लाइनों से मिलकर बनता है एक के बाद एक निष्पादित किया जाना है। प्रत्येक कमांड लाइन को टैब के साथ शुरू होना चाहिए, सिवाय इसके कि पहले कमांड लाइन को लक्ष्य-और-पूर्वापेक्षाएँ लाइन से बीच में अर्धविराम के साथ जोड़ा जा सकता है।

आपके मामले में अर्द्ध-कोलन के बाद कोई आदेश नहीं है, तो यह नो-ऑप होने के बाद समाप्त होता है।