मैं अपनी बिन और मेरी कोड फ़ाइलों को अलग निर्देशिका में विभाजित करने में सक्षम होना चाहता हूं क्योंकि यह वर्तमान स्थिति में प्रबंधन करना मुश्किल हो रहा है।मेकफ़ाइल स्रोत कोड और बाइनरी के लिए अलग निर्देशिका का उपयोग कैसे कर सकता है?
मैं आदर्श करना चाहते हैं
project_dir
|-Makefile
|-run_tests.sh
|
|__source
| |-program1.cpp
| |-program2.cpp
|
|__bin
|-program1
|-program2
हालांकि मैं मैन्युअल रूप से हर कार्यक्रम (मन में भालू है कि हर कार्यक्रम के एक है के लिए नियमों को लिखने के लिए बिना इस प्राप्त करने के लिए अपने मौजूदा प्रणाली के साथ काम करने में असमर्थ हूँ अलग कार्यक्रम, वस्तुओं की नहीं एक श्रृंखला एक साथ जुड़े हुए)
#Current make system
BIN=./bin/
SOURCE=./source/
LIST=program1 program2...
all: $(LIST)
%: $(SOURCE)%.cpp
$(CC) $(INC) $< $(CFLAGS) -o $(BIN)[email protected] $(LIBS)
यह छोड़कर काम करता है मैं इसे वर्तमान पथ में लक्ष्य नहीं देख सकते हैं तो यह लगता है कि यह हमेशा बाइनरी पुनर्निर्माण भले ही स्रोत फ़ाइलें नहीं है बदला हुआ।
इस समय मेरा एकमात्र विचार मेकफ़ाइल बनाने के लिए एक प्रोग्राम लिखना है, लेकिन मैं ऐसा नहीं करना चाहता हूं। उपयोग automake
:
पारंपरिक दृष्टिकोण स्रोत निर्देशिका 'src' को कॉल करना, वहां बाइनरी बनाना है, और एक अलग चरण' इंस्टॉल 'है जिसमें बाइनरी को' bin' निर्देशिका में कॉपी किया गया है - यहां तक कि एक विशेष उपयोगिता भी है ' ऐसा करने के लिए 'इंस्टॉल करें। – reinierpost