वहाँ make
में एक स्ट्रिंग (मेरे मामले में एक पथ नाम) से एक उपसर्ग दूर करने के लिए कोई तरीका है?निकालें उपसर्ग
उदाहरण के लिए, मान लीजिए कि मैं स्ट्रिंग था:
FILES = a/b/c.d a/b/e.f
मैं a/
दूर करने के लिए, और b/c.d b/e.f
साथ छोड़ा जा रहा से dir
, notdir
और basename
के विभिन्न संयोजनों का उपयोग कर की कोशिश की है चाहता हूँ GNU make manual, लेकिन कोई भी अच्छा समाधान प्रदान नहीं करता है।
$(dir $(FILE)) # a/b a/b
$(notdir $(FILE)) # c.d e.f
$(basename $(FILE)) # a/b/c a/b/e
एक ही रास्ता मैं अब तक यह करने के लिए मिल गया है है:
$(join $(basename $(dir $(FILE))), $(notdir $(FILE)))
कौन वास्तव में बदसूरत और घना है। मुझे वास्तव में क्या चाहिए $(removeprefix ...)
फ़ंक्शन। मान लीजिए कि मुझे उपसर्ग (a/
) को हटाने के लिए पता है, क्या यह किसी प्रकार की स्ट्रिंग मैनिपुलेशन के साथ किया जा सकता है?
धन्यवाद। वह चाल थी जिसे मैं याद कर रहा था। –