imake - ক্লাউডে অনলাইন

এটি হল কমান্ড ইমেক যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


imake - মেক ইউটিলিটি সি প্রিপ্রসেসর ইন্টারফেস

সাইনোপিসিস


আমি তৈরি করি [ -Dনির্ধারণ করা ] [ -IDir ] [ -Uনির্ধারণ করা ] [ -Tটেমপ্লেট ] [ -f ফাইলের নাম ] [ -C ফাইলের নাম ] [
-s ফাইলের নাম ] [ -e ] [ -v ]

বর্ণনাঃ


আমি তৈরি করি উৎপন্ন করতে ব্যবহৃত হয় মেকফাইলস একটি টেমপ্লেট থেকে, একটি সেট CPP ম্যাক্রো ফাংশন, এবং ক
প্রতি-ডিরেক্টরি ইনপুট ফাইলকে বলা হয় ইমেকফাইল. এটি মেশিন নির্ভরতাকে অনুমতি দেয় (যেমন
কম্পাইলার বিকল্প, বিকল্প কমান্ডের নাম এবং বিশেষ করা নিয়ম) আলাদা রাখতে হবে
নির্মাণ করা বিভিন্ন আইটেম বর্ণনা থেকে.

বিকল্প


নিম্নলিখিত কমান্ড লাইন বিকল্প পাস করা যেতে পারে আমি তৈরি করি:

-Dনির্ধারণ করা
এই বিকল্পটি সরাসরি পাস করা হয় CPP. এটি সাধারণত ডিরেক্টরি সেট করতে ব্যবহৃত হয়-
নির্দিষ্ট ভেরিয়েবল। উদাহরণস্বরূপ, X উইন্ডো সিস্টেম সেট করতে এই পতাকা ব্যবহার করে TOPDIR
কোর ডিস্ট্রিবিউশনের শীর্ষে থাকা ডিরেক্টরির নামে এবং
কুর্দির বর্তমান ডিরেক্টরির নামে, শীর্ষের সাথে সম্পর্কিত।

-Iডিরেক্টরি
এই বিকল্পটি সরাসরি পাস করা হয় CPP. এটি সাধারণত নির্দেশ করতে ব্যবহৃত হয়
ডিরেক্টরি যেখানে আমি তৈরি করি টেমপ্লেট এবং কনফিগারেশন ফাইল পাওয়া যেতে পারে।

-Uনির্ধারণ করা
এই বিকল্পটি সরাসরি পাস করা হয় CPP. এটি সাধারণত ভেরিয়েবল আনসেট করতে ব্যবহৃত হয়
ডিবাগ করার সময় আমি তৈরি করি কনফিগারেশন ফাইল।

-Tটেমপ্লেট
এই বিকল্পটি মাস্টার টেমপ্লেট ফাইলের নাম নির্দিষ্ট করে (যা সাধারণত হয়
এর সাথে নির্দিষ্ট ডিরেক্টরিতে অবস্থিত -I) দ্বারা ব্যবহৃত CPP। ডিফল্ট হয়
Imake.tmpl.

-f ফাইলের নাম
এই বিকল্পটি প্রতি-ডিরেক্টরি ইনপুট ফাইলের নাম নির্দিষ্ট করে। ডিফল্ট হয়
ইমেকফাইল.

-C ফাইলের নাম
এই বিকল্পটি .c ফাইলের নাম উল্লেখ করে যা বর্তমানের মধ্যে নির্মিত
ডিরেক্টরি ডিফল্ট হয় ইমেকফাইল.সি.

-s ফাইলের নাম
এই বিকল্পটির নাম উল্লেখ করে করা বর্ণনা ফাইল তৈরি করতে হবে কিন্তু
করা আহ্বান করা উচিত নয়। যদি ফাইলের নাম একটি ড্যাশ (-), আউটপুট লেখা হয়
থেকে stdout. ডিফল্ট হল জেনারেট করা, কিন্তু চালানো নয়, a Makefile নামক.

-e এই বিকল্পটি নির্দেশ করে আমি তৈরি করি উৎপন্ন করা উচিত Makefile নামক. দ্য
ডিফল্ট হল এটি ব্যবহারকারীর কাছে ছেড়ে দেওয়া।

-v এই বিকল্পটি নির্দেশ করে আমি তৈরি করি প্রিন্ট করা উচিত CPP কমান্ড লাইন যে এটা
তৈরি করতে ব্যবহার করে Makefile নামক.

কেমন IT WORKS


আমি তৈরি করি পূজা CPP যে কোন কিছুর সাথে -I or -D পতাকা কমান্ড লাইনে পাস করে এবং নাম পাস করে
নিম্নলিখিত 3 লাইন ধারণকারী একটি ফাইলের:

# IMAKE_TEMPLATE "Imake.tmpl" সংজ্ঞায়িত করুন
#INCLUDE_IMAKEFILE সংজ্ঞায়িত করুন
# IMAKE_TEMPLATE অন্তর্ভুক্ত করুন

কোথায় Imake.tmpl এবং ইমেকফাইল দ্বারা ওভাররাইড করা হতে পারে -T এবং -f কমান্ড অপশন,
যথাক্রমে.

IMAKE_TEMPLATE সাধারণত মেশিন-নির্ভর পরামিতি ধারণকারী ফাইলে পড়ে
( হিসাবে উল্লেখ করা হয়েছে CPP প্রতীক), একটি সাইট-নির্দিষ্ট পরামিতি ফাইল, একটি ফাইল সংজ্ঞায়িত ভেরিয়েবল, a
ফাইল ধারণকারী CPP তৈরির জন্য ম্যাক্রো ফাংশন করা নিয়ম, এবং অবশেষে ইমেকফাইল
(INCLUDE_IMAKEFILE দ্বারা নির্দিষ্ট) বর্তমান ডিরেক্টরিতে। দ্য ইমেকফাইল ম্যাক্রো ব্যবহার করে
কোন লক্ষ্যগুলি তৈরি করা উচিত তা নির্দেশ করার ফাংশন; আমি তৈরি করি উৎপন্ন যত্ন নেয়
উপযুক্ত নিয়ম।

আমি তৈরি করি কনফিগারেশন ফাইলে দুই ধরনের ভেরিয়েবল থাকে, ইমেক ভেরিয়েবল এবং মেক
ভেরিয়েবল imake ভেরিয়েবল cpp দ্বারা ব্যাখ্যা করা হয় যখন আমি তৈরি করি চালানো হয় কনভেনশন দ্বারা
তারা মিশ্র কেস হয়. মেক ভেরিয়েবলের মধ্যে লেখা হয় Makefile নামক পরে জন্য
দ্বারা ব্যাখ্যা ভুলবেন না। নিয়ম অনুসারে ভেরিয়েবলগুলি বড় হাতের হয়।

নিয়ম ফাইল (সাধারণত নামে Imake.rules কনফিগারেশন ডিরেক্টরিতে) রয়েছে a
অনেক প্রকারের CPP ম্যাক্রো ফাংশন যা বর্তমান প্ল্যাটফর্ম অনুযায়ী কনফিগার করা হয়।
আমি তৈরি করি স্ট্রিং ``@@'' এর যেকোনো ঘটনাকে একটি নতুন লাইন দিয়ে প্রতিস্থাপন করে যাতে ম্যাক্রোকে অনুমতি দেওয়া যায়
একাধিক লাইন তৈরি করুন করা নিয়ম উদাহরণস্বরূপ, ম্যাক্রো

#প্রোগ্রাম_টার্গেট সংজ্ঞায়িত করুন (প্রোগ্রাম, অবজেলিস্ট) @@
প্রোগ্রাম: অবজেলিস্ট @@
$(CC) -o $@ অবজেলিস্ট $(LDFLAGS)

যখন সাথে ডাকা হয় প্রোগ্রাম_টার্গেট(foo, foo1.o foo2.o) পর্যন্ত প্রসারিত হবে

foo: foo1.o foo2.o
$(CC) -o $@ foo1.o foo2.o $(LDFLAGS)

আমি তৈরি করি এছাড়াও ``XCOMM'' শব্দের যেকোনো সংঘটনকে ``#'' অক্ষর দিয়ে প্রতিস্থাপন করে
এর থেকে ``অবৈধ নির্দেশিকা' ত্রুটি সৃষ্টি না করেই মেকফাইলে মন্তব্য করার অনুমতি দিন
প্রিপ্রসেসর

কিছু জটিল আমি তৈরি করি ম্যাক্রো তৈরি করা প্রয়োজন করা ভেরিয়েবল স্থানীয় প্রতিটি আহ্বান
ম্যাক্রো, প্রায়শই কারণ তাদের মান ম্যাক্রোতে পাস করা প্যারামিটারের উপর নির্ভর করে। যেমন
একটি ব্যবহার করে ভেরিয়েবল তৈরি করা যেতে পারে আমি তৈরি করি ফর্মের পরিবর্তনশীল XVARdefn, কোথায় n ইহা একটি
একক অঙ্ক. একটি অনন্য করা পরিবর্তনশীল প্রতিস্থাপিত হবে। এর পরবর্তী ঘটনা
পরিবর্তনশীল XVARusen সংশ্লিষ্ট দ্বারা তৈরি ভেরিয়েবল দ্বারা প্রতিস্থাপিত হবে XVARdefn.

সিস্টেমে যার CPP একাধিক ট্যাব এবং স্পেস একক স্পেসে কমিয়ে দেয়, আমি তৈরি করি প্রচেষ্টা
যেকোনো প্রয়োজনীয় ট্যাব ফিরিয়ে রাখুন (করা ট্যাব এবং মধ্যে পার্থক্য সম্পর্কে খুব বাছাই করা হয়
শূন্যস্থান)। এই কারণে, কমান্ড লাইনে কোলন (:) একটি ব্যাকস্ল্যাশ দ্বারা আগে থাকা আবশ্যক
(\)।

ব্যবহারের সঙ্গে দ্য X জানলা সিস্টেম


এক্স উইন্ডো সিস্টেম ব্যবহৃত হয় আমি তৈরি করি X11R6.9 রিলিজের মাধ্যমে ব্যাপকভাবে, উভয়ের জন্য সম্পূর্ণ
সোর্স ট্রি এবং বাহ্যিক সফ্টওয়্যারের মধ্যে তৈরি করে। X তখন থেকে GNU autoconf-এ চলে গেছে
এবং X11R7.0 এবং পরবর্তী রিলিজে এর বিল্ড সিস্টেমের জন্য অটোমেক, কিন্তু এখনও ইমেক বজায় রাখে
বিদ্যমান বাহ্যিক সফ্টওয়্যার প্রোগ্রামগুলি তৈরি করার জন্য যা এখনও রূপান্তরিত হয়নি।

উপরে উল্লিখিত হিসাবে, দুটি বিশেষ ভেরিয়েবল, TOPDIR এবং কুর্দির, রেফারেন্স করতে সেট করা হয়
আপেক্ষিক পাথ নাম ব্যবহার করে ফাইল সহজ. উদাহরণস্বরূপ, নিম্নলিখিত কমান্ড তৈরি করা হয়
স্বয়ংক্রিয়ভাবে নির্মাণ Makefile নামক ডিরেক্টরিতে lib/X/ (উপরের সাথে আপেক্ষিক
সূত্র):

% ../.././config/imake -I../.././config
-DTOPDIR=../../ -DCURDIR=./lib/X
উৎস গাছের বাইরে এক্স প্রোগ্রাম তৈরি করার সময়, একটি বিশেষ প্রতীক ইনস্টল করা ব্যবহার করুন সংজ্ঞায়িত করা
এবং TOPDIR এবং কুর্দির বাদ দেওয়া হয় কনফিগারেশন ফাইলগুলো ঠিকঠাক থাকলে
ইনস্টল করা হয়েছে, স্ক্রিপ্ট xmkmf(1) ব্যবহার করা যেতে পারে।

ইনপুট নথি পত্র


এখানে পড়া ফাইলগুলির একটি সারাংশ রয়েছে৷ আমি তৈরি করি X দ্বারা ব্যবহৃত হিসাবে। ইন্ডেন্টেশন কি দেখায়
ফাইল অন্যান্য ফাইল অন্তর্ভুক্ত.
Imake.tmpl জেনেরিক ভেরিয়েবল
site.def সাইট-নির্দিষ্ট, BeforeVendorCF সংজ্ঞায়িত
*.cf মেশিন-নির্দিষ্ট
*Lib.rules শেয়ার করা লাইব্রেরির নিয়ম
site.def সাইট-নির্দিষ্ট, AfterVendorCF সংজ্ঞায়িত
Imake.rules নিয়ম
Project.tmpl এক্স-নির্দিষ্ট ভেরিয়েবল
*Lib.tmpl শেয়ার করা লাইব্রেরি ভেরিয়েবল
ইমেকফাইল
Library.tmpl লাইব্রেরি নিয়ম
Server.tmpl সার্ভারের নিয়ম
Threads.tmpl মাল্টি-থ্রেডেড নিয়ম

মনে রাখবেন যে site.def এর আগে একবার, দুইবার অন্তর্ভুক্ত হয় *.cf ফাইল এবং একবার পরে।
যদিও বেশিরভাগ সাইট কাস্টমাইজেশনের পরে নির্দিষ্ট করা উচিত *.cf ফাইল, কিছু, যেমন
কম্পাইলারের পছন্দ, আগে নির্দিষ্ট করা প্রয়োজন, কারণ অন্যান্য পরিবর্তনশীল সেটিংস হতে পারে
তাদের উপর নির্ভরশীল।

প্রথমবার site.def অন্তর্ভুক্ত করা হয়েছে, ভেরিয়েবল BeforeVendorCF সংজ্ঞায়িত করা হয়েছে, এবং
দ্বিতীয়বার, পরিবর্তনশীল AfterVendorCF সংজ্ঞায়িত করা হয়েছে। সমস্ত কোড ইন site.def ভিতরে থাকা উচিত
এই চিহ্নগুলির একটির জন্য একটি #ifdef.

onworks.net পরিষেবা ব্যবহার করে অনলাইন ইমেক ব্যবহার করুন



সর্বশেষ লিনাক্স এবং উইন্ডোজ অনলাইন প্রোগ্রাম