میک فائلز کے ساتھ اپنی گو ڈویلپمنٹ کو کس طرح ہموار کریں۔

میک فائلز کے ساتھ اپنی گو ڈویلپمنٹ کو کس طرح ہموار کریں۔
آپ جیسے قارئین MUO کو سپورٹ کرنے میں مدد کرتے ہیں۔ جب آپ ہماری سائٹ پر لنکس کا استعمال کرتے ہوئے خریداری کرتے ہیں، تو ہم ملحق کمیشن حاصل کر سکتے ہیں۔ مزید پڑھ.

جدید سافٹ ویئر ڈویلپمنٹ میں، کسی پروجیکٹ کی کامیابی کے لیے موثر بلڈ آٹومیشن بہت ضروری ہے۔ میک فائلز، ایک مقبول بلڈ آٹومیشن ٹول، تمام اسٹیک کے ڈویلپرز کو پیچیدہ تعمیراتی عمل کو منظم کرنے کا ایک مختصر اور طاقتور طریقہ فراہم کرتا ہے۔





Go کے ساتھ Makefiles کو مربوط اور آپریٹ کر کے، آپ دہرائے جانے والے کاموں کو خودکار بنا سکتے ہیں، تعمیراتی عمل کو ہموار کر سکتے ہیں اور پیداواری صلاحیت کو بڑھا سکتے ہیں۔





دن کی ویڈیو کا میک یوز مواد کے ساتھ جاری رکھنے کے لیے اسکرول کریں۔

میک فائلز کو سمجھنا

  مقبول میک فائل لوگو

یہ سمجھنا کہ میک فائلز کے کام کرنے کے طریقہ کار کو مؤثر طریقے سے منظم کرنے اور آپ کے پروجیکٹ کی تعمیر کو خودکار کرنے کے لیے اہم ہے۔





میک فائلز پراجیکٹس کی تعمیر اور دیکھ بھال کے قواعد کی وضاحت کے لیے ایک مخصوص ڈھانچے اور نحو کی پیروی کرتی ہیں۔ بنیادی طور پر، ایک Makefile اصولوں پر مشتمل ہوتا ہے جس میں اہداف، انحصار اور کمانڈز کی وضاحت ہوتی ہے۔ ہر قاعدہ ایک ہدف کے ساتھ شروع ہوتا ہے، اس کے بعد اس کا انحصار اور ہدف کو بنانے یا اس پر عمل کرنے کے لیے درکار کمانڈز۔

اہداف مطلوبہ آؤٹ پٹ فائلوں یا میک فائل کے اعمال کی نمائندگی کرتے ہیں۔ اہداف فائل نام یا لیبل ہوسکتے ہیں جو کام کی وضاحت کرتے ہیں۔ مثال کے طور پر، نام کا ہدف صاف تعمیر کے عمل کے دوران پیدا ہونے والی غیر ضروری فائلوں کو ہٹا سکتا ہے۔



انحصار ایک ہدف بنانے کے لیے درکار فائلیں یا کام ہیں۔ اگر کسی انحصار میں ترمیم کی جاتی ہے، تو میک فائل اس سے متعلقہ اہداف کو دوبارہ تعمیر کرے گا تاکہ اس بات کو یقینی بنایا جا سکے کہ پراجیکٹ کے ضروری حصے کام کر رہے ہیں۔ آپ ٹارگٹ کے بعد انحصار کی وضاحت کریں گے، خالی جگہوں سے الگ۔

گوگل سرچ بار ہسٹری کو کیسے حذف کریں۔

احکامات اعمال ہیں یا شیل حکم دیتا ہے جنہیں مخصوص اہداف بنانے یا انجام دینے کے لیے عمل درآمد کی ضرورت ہوتی ہے۔ کمانڈز عام طور پر آپریٹنگ سسٹم کی شیل اسکرپٹنگ زبان میں لکھی جاتی ہیں۔





شناخت کے لیے ہر کمانڈ کا آغاز ٹیب کریکٹر سے ہونا چاہیے۔

 build: main.go utils.go 
    go build -o myapp main.go utils.go

clean:
    rm myapp

مندرجہ بالا میک فائل میں، دو اہداف ہیں: تعمیر اور صاف .





دی تعمیر ہدف پر منحصر ہے main.go اور utils.go فائلیں، اور اس سے منسلک کمانڈ ایک ایگزیکیوٹیبل نام کی تعمیر کے لیے گو کمپائلر پر چلتی ہے۔ myapp .

دوسری طرف، the صاف ہدف کو ہٹاتا ہے۔ myapp قابل عمل

اپنا گو کوڈ مرتب کرنے کے لیے، ورکنگ ڈائرکٹری پر جائیں اور چلائیں۔ تعمیر کرو کمانڈ.

 make build 

میک ٹول تالیف کے عمل کو سنبھالے گا، آپ کو کوڈ لکھنے پر توجہ مرکوز کرنے کی اجازت دیتا ہے۔

اپنے گو پروجیکٹس کے لیے میک فائلز ترتیب دینا

آپ میک فائلز کو اپنے پروگرام بنانے اور مرتب کرنے، کوڈ ٹیسٹ اور کوالٹی چیک کرنے اور مسلسل انضمام اور تعیناتی کے لیے استعمال کر سکتے ہیں۔

روٹ ڈائرکٹری میں اپنے پروجیکٹ کے لیے میک فائل بنانے کے لیے اس کمانڈ کو چلائیں۔ دی میک فائل آپ کے تعمیراتی کاموں کی وضاحت کے لیے انٹری پوائنٹ کے طور پر کام کرے گا۔

 touch Makefile 

آپ کی میک فائل میں کوئی ایکسٹینشن نہیں ہونی چاہیے۔

لامحدود ہر چیز کے ساتھ سستے فون کے منصوبے۔

میک فائل بنانے کے بعد، آپ اپنے پروجیکٹ کے آپریشنز کے لیے فائل میں کمانڈ، انحصار، اور اہداف لکھ سکتے ہیں۔

یہاں ایک مثال ہے Makefile جو آپ کے پروجیکٹ کے لیے خودکار بنانے والے ٹول کے طور پر کام کرتی ہے۔

 # Makefile 

# Variables
GOCMD=go
GOBUILD=$(GOCMD) build
GOTEST=$(GOCMD) test
GOCLEAN=$(GOCMD) clean

# Targets
build:
    $(GOBUILD) -o app .

test:
    $(GOTEST) ./...

clean:
    $(GOCLEAN)
    rm -f app

آپ اپنے پروجیکٹ کی مخصوص ضروریات کے مطابق اپنی میک فائل کو اپنی مرضی کے مطابق بنا سکتے ہیں۔

آپ کے پروجیکٹ کے ٹیسٹ یا تعمیراتی عمل کے دوران اضافی جھنڈوں اور ماحولیاتی متغیرات کو پاس کرنے کے لیے میک فائل کا ایک ترمیم شدہ ورژن یہ ہے:

 # Makefile 

# Variables
GOCMD=go
GOBUILD=$(GOCMD) build
GOTEST=$(GOCMD) test
GOCLEAN=$(GOCMD) clean
BINARY_NAME=app
TEST_FLAGS=-v

# Targets
build:
    $(GOBUILD) -o $(BINARY_NAME) .

test:
    $(GOTEST) $(TEST_FLAGS) ./...

clean:
    $(GOCLEAN)
    rm -f $(BINARY_NAME)

اس Makefile میں، دو نئے متغیرات ہیں جن کا نام دیا گیا ہے۔ BINARY_NAME اور TEST_FLAGS . دی BINARY_NAME متغیر تیار کردہ ایگزیکیوٹیبل فائل کا نام بتاتا ہے۔

دی TEST_FLAGS متغیر آپ کو ٹیسٹ چلاتے وقت اضافی جھنڈوں کی وضاحت کرنے کی اجازت دیتا ہے (اس صورت میں، میں پرچم ٹیسٹ کے عمل کے دوران وربوز آؤٹ پٹ کو قابل بناتا ہے)۔

Makefiles آپ کے پروجیکٹ کے لیے ماحولیاتی متغیرات اور جھنڈوں کو ترتیب دینے کا ایک آسان طریقہ بھی فراہم کرتا ہے۔

اگر آپ کو سیٹ کرنے کی ضرورت ہو تو آپ ان لائنوں کو اپنی Makefile میں شامل کر سکتے ہیں۔ GOOS اور گوارچ ایک مخصوص آپریٹنگ سسٹم یا فن تعمیر کے لیے آپ کے پروجیکٹ کو بنانے کے لیے متغیرات۔

 # Makefile 

# Variables
GOCMD=go
GOBUILD=$(GOCMD) build
GOTEST=$(GOCMD) test
GOCLEAN=$(GOCMD) clean
BINARY_NAME=app
TEST_FLAGS=-v
GOOS=linux
GOARCH=amd64

# Targets
build:
    $(GOBUILD) -o $(BINARY_NAME) .

test:
    $(GOTEST) $(TEST_FLAGS) ./...

clean:
    $(GOCLEAN)
    rm -f $(BINARY_NAME)

اپ ڈیٹ شدہ میک فائل میں، کے لیے دو نئے متغیرات ہیں۔ GOOS اور گوارچ ماحولیاتی متغیرات جو آپ کو اپنی تعمیر کے لیے ٹارگٹ آپریٹنگ سسٹم اور فن تعمیر کی وضاحت کرنے کی اجازت دیتے ہیں (اس صورت میں، GOOS متغیر کو مقرر کیا گیا ہے۔ لینکس اور گوارچ کو amd64 x86-64 فن تعمیر پر لینکس کے لیے پروجیکٹ بنانے کے لیے)۔

اپنے پروجیکٹ کی مخصوص ضروریات کی بنیاد پر ان متغیرات کو اپنانا یاد رکھیں۔

آپ کا حوالہ دے سکتے ہیں۔ دستاویزات پر جائیں۔ کے لیے معاون اقدار کی فہرست کے لیے GOOS اور گوارچ اگر آپ کو ایک مختلف پلیٹ فارم بنانے کی ضرورت ہے۔

میک فائلز کے ساتھ آٹومیشن بنائیں

میک فائلز کوڈ کو مرتب کرنے، دستاویزات تیار کرنے اور انحصار کے انتظام کے لیے بھی کارآمد ہیں۔

Makefiles کے ساتھ، آپ تالیف کے وقت کو خودکار کر سکتے ہیں، جس سے آپ کا وقت اور محنت کی بچت ہوتی ہے۔

یہاں ایک میک فائل ہے جو گو پروگرام کو مرتب کرتی ہے:

 # Define variables 
GOCMD = go
GOBUILD = $(GOCMD) build
BINARY_NAME = myprogram

# Default target
all: build

# Build target
build:
    $(GOBUILD) -o $(BINARY_NAME)

# Clean target
clean:
    rm -f $(BINARY_NAME)

میک فائل متغیرات کی وضاحت کرتا ہے جیسے جی او سی ایم ڈی (گو کمانڈ) اور گوبلڈ (تعمیر کمانڈ)۔ دی تعمیر ہدف کو دعوت دیتا ہے۔ تعمیر جاؤ ہمارے گو پروگرام کو مرتب کرنے اور مخصوص نام کے ساتھ بائنری تیار کرنے کا حکم ( میرا پروگرام اس معاملے میں). دی صاف ہدف پروجیکٹ سے تیار کردہ بائنری کو ہٹاتا ہے۔

  پروگراموں کی تعمیر کے لئے ایکشن میں makefile

آپ انحصار کی تنصیب کو خودکار بنانے اور اپنے پروجیکٹ کے بیرونی انحصار کو اپ ڈیٹ رکھنے کے لیے میک فائلز کا استعمال کر سکتے ہیں۔

 # Define variables 
GOCMD = go
GOBUILD = $(GOCMD) build
GOGET = $(GOCMD) get
BINARY_NAME = myprogram

# Default target
all: build

# Build target
build:
    $(GOBUILD) -o $(BINARY_NAME)

# Install dependencies
deps:
    $(GOGET) -u

# Clean target
clean:
    rm -f $(BINARY_NAME)

میک فائل میں ایک ہے۔ محکمہ ہدف جو استعمال کرتا ہے۔ جاؤ حاصل کرلو پروجیکٹ انحصار کو انسٹال یا اپ ڈیٹ کرنے کا کمانڈ۔ آپ دوڑ سکتے ہیں۔ ڈیپس بنائیں اپنے پروجیکٹ کے انحصار کو انسٹال کرنے کے لیے۔

میک فائلز دستاویزات کی تیاری کو خودکار کر سکتے ہیں اور آپ کو بہتر بنا سکتے ہیں۔ کوڈ کے عمل کے طور پر دستاویزات .

یہاں ہے کہ آپ کیسے کر سکتے ہیں۔ godoc ٹول کے ساتھ اپنے گو پروجیکٹس کے لیے خودکار دستاویزات تیار کریں۔ اور میک فائل:

اینڈروئیڈ پر حذف شدہ تصاویر کو دوبارہ حاصل کرنے کا طریقہ
 # Define variables 
GODOC = godoc
DOCS_DIR = docs

# Default target
all: docs

# Generate documentation
docs:
    $(GODOC) -html -dir . > $(DOCS_DIR)/index.html

# Clean target
clean:
    rm -rf $(DOCS_DIR)

میک فائل میں، دستاویزات ہدف کو دعوت دیتا ہے۔ godoc کے ساتھ حکم -html آپ کے گو کوڈ کے لیے HTML دستاویزات تیار کرنے کے لیے جھنڈا لگائیں اور دستاویزات کو محفوظ کرتا ہے۔ دستاویزات ڈائریکٹری

آپ چلائیں گے۔ دستاویزات بنائیں اپنے گو پروجیکٹ کے لیے تازہ ترین دستاویزات تیار کرنے کا حکم۔

میک فائلز یونکس پر مبنی آپریٹنگ سسٹم کے ساتھ کام کرنے کے لیے کارآمد ہیں۔

میک فائلز کی لچک کا فائدہ اٹھاتے ہوئے، آپ اپنی مرضی کے مطابق تعمیراتی کمانڈ کی وضاحت کر سکتے ہیں اور پیچیدہ کاموں کو منٹوں میں انجام دے سکتے ہیں۔ Makefile وقت کی بچت کرتا ہے اور تعمیراتی ماحول میں مستقل مزاجی اور تولیدی صلاحیت کو یقینی بناتا ہے۔

میک فائلز کا ایک اور فائدہ یونکس پر مبنی سسٹمز کے ساتھ اس کی مطابقت ہے۔ میک یونکس پر مبنی آپریٹنگ سسٹمز پر وسیع پیمانے پر تعاون یافتہ یوٹیلیٹی ہے، بشمول لینکس اور میک او ایس، جو اسے ڈویلپرز کے لیے ایک پورٹیبل اور قابل اعتماد ٹول بناتی ہے۔