2012-01-23 17 views
6

make install के साथ मैं निष्पादन के लिए एक लक्ष्य फ़ोल्डर में अपनी बाइनरी, कॉन्फ़िगर इत्यादि की प्रतिलिपि बना सकता हूं।सेमेक रिमोट मशीन पर "इंस्टॉल करें"?

अब मैं निम्नलिखित स्थिति है: हम एक निर्माण मेजबान, और एक अलग वास्तविक Linux मशीन एक लक्ष्य मंच के रूप में के रूप में एक आभासी मशीन सेटअप।

मैं make install अपनी रिमोट मशीन (scp या इसी तरह के) के माध्यम से फ़ाइलों को सीधे कॉपी करना चाहता हूं। मैं उसे कैसे प्राप्त कर सकता हूं?

+0

ठीक है, चलो 'scp' निष्पादित करें। –

उत्तर

1

make स्थापना के दौरान एक विशिष्ट उपसर्ग के साथ काम कर सकते हैं:

  • को
    make prefix=$dest/usr install 
    

    आपकी समस्या का एक समाधान है अपने निर्माण मशीन पर लक्ष्य मशीन के फाइल सिस्टम माउंट। यह NFS (लगातार) के माध्यम से या sshfs (आसान) के माध्यम से किया जा सकता है, माउंटप्वाइंट को

  • सेट $ गंतव्य और ऊपर
+0

उपसर्ग कुछ भी नहीं प्रतीत होता है। DESTDIR काम करता है (जैसा कि दूसरे उत्तर में है।) हालांकि, माउंटिंग एक बार में सभी काम करने के लिए जाने का तरीका है (और सर्वर स्थानीय नेटवर्क कंप्यूटरों के लिए एक एसएसएच माउंट का उपयोग कर रिमोट हो सकता है।) –

5

आप आदेश चला अक्सर तो

make install DESTDIR=/tmp/mydest/ 

कर सकता है संग्रह है कि गंतव्य निर्देशिका

tar czvf /tmp/mydest.tgz -C /tmp mydest 

फिर उसकी प्रतिलिपि कि दूरदराज जगह

करने के लिए संग्रह पिछले पर

, रिमोट पर संग्रह अनटार और उचित जगह

+0

असल में मैं चाहूंगा इन सभी मध्यवर्ती चरणों को रोकें। मुझे लगता है कि cmake फ़ाइलों की प्रतिलिपि बनाने के लिए एक प्रति (सीपी) कमांड का उपयोग करता है। किसी भी तरह से cmp को स्कैन का उपयोग करने के लिए कहने का कोई तरीका होना चाहिए ... – Danoo

+0

DESTDIR ने cmake मेकफ़ाइल के साथ काम किया। वास्तव में मुझे क्या चाहिए। –

+0

अक्सर स्रोत "README" नाम की फ़ाइल के साथ आता है। उस फ़ाइल की सामग्री एक सुराग दे सकती है। उदाहरण के लिए Pcre-8.39 टैरबॉल बनाने के लिए 'मेक डिस्ट' और/या 'डिस्टचेक' बनाने का सुझाव देता है। –

1

पर इसे कॉपी cmake 2.8.14, आदेश का उपयोग करना "add_custom_command" CMakeLists.txt में भी इस्तेमाल किया जा सकता:

add_custom_command(TARGET my_target POST_BUILD COMMAND scp $<TARGET_FILE:my_target> [email protected]_host:dest_dir_path) 

लाभ: जब लक्ष्य पुनर्निर्माण किया जाता है तो केवल कॉल करें।

संबंधित मुद्दे