से प्रभावित मैं एक makefile कि कमांड लाइनफोर्स GNU संकलन परिभाषा
make OPTION_1=1
मूल्य के आधार पर पर विकल्प लेता है यह वस्तुओं के एक सबसेट के लिए अतिरिक्त संकलक परिभाषाएँ जोड़ देगा है वस्तुओं के पुनर्निर्माण के लिए बनाते हैं।
ifeq ($(OPTION_1), 1)
CC_FLAGS += -DOPTION_1_ON
endif
परिभाषा में परिवर्तन शामिल हेडर फाइल की सामग्री को प्रभावित करता है - एक ठूंठ या एक कार्यान्वयन वस्तु फ़ाइलों के संपर्क में है।
मैं इस विकल्प के द्वारा 'प्रभावित' फ़ाइलों को पुनर्निर्माण कैसे कर सकता हूं?
उदाहरण के लिए धन्यवाद। शर्म की बात यह है कि यह एक temp फ़ाइल के बिना ऐसा करने के लिए संभव नहीं दिखता है। – Oliver
'compiler_flags.tmp' बनाने से बचने के लिए संपादित, यह थोड़ा साफ दिखता है। मुझे संदेह है कि इसका मतलब यह नहीं है कि आपका क्या मतलब है। सेटिंग को याद रखने के लिए * कुछ * फ़ाइल बनाने के आसपास कोई रास्ता नहीं है, क्योंकि कई आमंत्रणों में राज्य को संरक्षित करने का कोई अन्य तरीका नहीं है। – slowdog
यदि आपका निर्माण बड़ा हो जाता है तो यह एक टैड अक्षम से अधिक है। यह एक शेल आमंत्रण का तात्पर्य है और एक फ़ाइल को अद्यतित निर्माण के लिए भी पढ़ा जाता है। इन परिस्थितियों में, _filename_ में कंपाइलर झंडे को एन्कोड करें। – bobbogo