মেকফাইলে কি?


94
KDIR ?= $(shell uname -r)

এর অর্থ কী ?=?

আমি এর মধ্যে পার্থক্য বুঝেছি :=, +=এবং =অন্য থ্রেড স্ট্যাক ওভারফ্লো পাওয়া যায়, কিন্তু অক্ষম থেকে ব্যাখ্যা খুঁজে পেতে ?=

উত্তর:


132

?=KDIRভেরিয়েবলটি সেট না করতে কেবল ইঙ্গিত করে যদি এটির সেট না থাকে / মান না থাকে।

উদাহরণ স্বরূপ:

KDIR ?= "foo"
KDIR ?= "bar"

test:
    echo $(KDIR)

"ফু" মুদ্রণ করবে

জিএনইউ ম্যানুয়াল: http://www.gnu.org/software/make/manual/html_node/Setting.html


4
এর অর্থ কি এই যে কেডিআইআর ইতিমধ্যে সিস্টেমের কোথাও ঘোষিত হয়েছে?
কোডেডক

4
এটি হওয়ার দরকার নেই, যেহেতু ?=কোনও ভেরিয়েবলের জন্য ডিফল্ট / ফ্যালব্যাক মান প্রয়োগ করতে ব্যবহৃত হতে পারে, এটি KDIRপরিবেশে সেট করার অনুমতি দিচ্ছে।
সাইমন

4
@ সিমন নোট করুন যে ইতিমধ্যে প্রয়োজন ছাড়াই মেকফিল ভেরিয়েবলকে ওভাররাইড করতে কমান্ড লাইন আর্গুমেন্টগুলি ?=
সিএমসিডিগ্রাঙ্কাই

12

সাইমন এবং আরটি তাদের দ্রুত এবং সঠিক প্রতিক্রিয়ার জন্য ধন্যবাদ।

এছাড়াও, আমি জিএনইউ ম্যানুয়ালটি পেয়েছি যা সমস্ত কিছু বিস্তারিতভাবে ব্যাখ্যা করে: http://www.gnu.org/software/make/manual/html_node/Setting.html

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.