د Red Hat یو کارمند د اهدافو مجلس سیسټم وړاندې کړ. د GNU میک 4.2 خوشې کول

ریچارډ WM جونز، لیکوال libguestfsپه Red Hat کې کار کوي معرفي شوی د نوي جوړونې اسانتیا موخېد جوړونې په کار کې د نیمګړتیاوو او ستونزو له منځه وړل په داسې حال کې چې د سکریپټونو ټولیز سادگي او پوهه ساتل دي. د میک یوټیلیټ په 1976 کې ډیزاین شوی او یو شمیر مفکورې نیمګړتیاوې لري؛ پرته له دې چې عمومي مفهوم بدل کړي دا نیمګړتیاوې له منځه یوسي.
د اهدافو سرچینه کوډ لخوا توزیع شوی د GPLv2+ لاندې جواز لري.

ستونزې به حل شي:

  • یوازې د انحصار حل کولو تاکتیک لپاره ملاتړ - "د اسمبلۍ لارښود چلیږي که چیرې د هدف فایل ورک وي یا له یو انحصار څخه زوړ وي." اهداف پالن لري چې نور تاکتیکونه پلي کړي، لکه د یو آر ایل شتون لپاره چک کول، د هر فایل سره د ترمیم وخت پرتله کول، د بسته بندۍ ارزونه کوجيد چکسمونو پرتله کول، د ازموینې قضیې چلول د ازموینو غوره کولو سره.
  • کله چې د جوړو اهدافو پروسس کول، جوړ د فایلونو او قاعدو نومونه نه جلا کوي، او د پایلې په توګه، هیڅ چک نشته چې کله د قواعدو چلولو په وخت کې، هغه فایل چې دا ادعا کوي چې رامینځته کیږي واقعیا به رامینځته شي. د مثال په توګه ، که تاسو د "ټیسټ" په نوم یو قاعده ولرئ چې د ازموینې سره سکریپټونه پرمخ وړي ، د "ټیسټ" په نوم فایل په ناڅاپي ډول رامینځته شوی ، نو ازموینې به نور نه ویل کیږي ، ځکه چې میک به په پام کې ونیسي چې هدف جوړ شوی او اړتیا نلري. هر عمل (د دې لپاره چې په جوړ کې د ستونزې په شاوخوا کې کار وکړي، تاسو کولی شئ د "فوني: ټیسټ" لارښود مشخص کړئ). اهداف په ښکاره ډول فایلونه او د قانون نومونه جلا کوي.

    د Red Hat یو کارمند د اهدافو مجلس سیسټم وړاندې کړ. د GNU میک 4.2 خوشې کول

  • د مجلس لارښوونو لپاره یوازې یو پیرامیټر چمتو کولو کې ستونزه.

    د Red Hat یو کارمند د اهدافو مجلس سیسټم وړاندې کړ. د GNU میک 4.2 خوشې کول

    اهداف تاسو ته اجازه درکوي چې د نومول شوي پیرامیټرونو خپل سري شمیر وکاروئ. د مثال په توګه، تاسو کولی شئ په جلا توګه د نوم څخه د ډیبګ فایل نښه راوباسئ:

    د Red Hat یو کارمند د اهدافو مجلس سیسټم وړاندې کړ. د GNU میک 4.2 خوشې کول

  • د شیل ترجمان سره تعامل کې ستونزې. د مثال په توګه، په فایل او ډایرکټر نومونو کې د ځایونو د تیښتې کنټرول اړتیا، د هرې کمانډ اجرا کولو پر مهال د جلا شیل ژباړونکي په لاره اچولو کې د سرچینو ضایع کول، د "$" کرکټر دوه ګونی تفسیر (په دواړو شیل او میک کې کارول کیږي) په پام کې نیولو سره.

    دا ستونزې په اهدافو کې د اسمبلۍ متغیرونو لپاره د "$" پرځای د "%" سمبول په کارولو سره حل کیږي ("$" یوازې د شیل لپاره پاتې کیږي) ، د پارسر په کارولو سره. LALR(1), کوم چې تاسو ته اړتیا لري چې لارې او د فایل نومونه د نرخونو سره محاصره کړئ او د کوډ بلاکونه د منحل منحلاتو سره روښانه کړئ. د کمانډ ټول بلاک د کمانډ شیل په یوه مثال کې پیل شوی، او د ځانګړي ځایونو ته اشاره کولو پرته، د بلاک دننه د خپل سري کوډ فارمیټ اجازه ورکول کیږي.

    وو:
    هدف: foo.o bar.o
    ${CC} ${CFLAGS} $< -o $@

    دا شوه:
    "target": "foo.o", "bar.o" {
    %CC %CFLAGS %< -o %@
    }

د اهدافو نور ځانګړتیاوې:

  • د خپل سري نومونو او پیرامیټونو مشخص کولو لپاره اختیاري ملاتړ:

    هدف ټول = : "هدف"

    د هدف لینک =
    "target" : "foo.o"، "bar.o" {... }

    هدف تالیف (نوم) =
    "%name.o" : "%name.c"، "dep.h" { %CC %CFLAGS -c $^ -o $@ }

  • د پیل کولو دوه طریقې: د فایل نومونو سره د ودانیو هدفونو سره سمون لپاره موډ جوړ کړئ (د مثال په توګه، فایل "foo.o" هدف "%name.o" سره سمون لري)، او د مستقیم تالیف حالت:

    هدف ټول = : لینک

    د هدف لینک =
    "target" : "foo.o"، تالیف ("bar") { ... }

    هدف تالیف (نوم) =
    "%name.o" : "%name.c"، "dep.h" { %CC %CFLAGS -c $^ -o $@ }

  • د مجلس تاکتیکونه د ځانګړو مقرراتو لخوا ټاکل کیږي چې د غونډې هدف بیا راټولولو اړتیا ټاکلو لپاره کارول کیدی شي. که چیرې د فایل شتون ته لینک جوړ شوی وي، نو دا په واضح ډول د اړونده نښه (د قاعدې نوم لپاره "هدف" او * فایل ("هدف") د فایل چک کولو لپاره ټاکل کیږي.

    "target" : "foo.o"، "bar.o" {... }

    *دوتنه("هدف"): *دوتنه("foo.o")، *دوتنه("bar.o") {...}

  • پرمخ وړونکی کولی شي د مجلس تاکتیکونو خپلسري ځانګړتیاوې تعریف کړي. د "* فایل" بیرغ د ډیفالټ لخوا تعریف شوی (@{...} د محصول فشار ته اشاره کوي، او "exit 99" د بیارغونې اړتیا ته اشاره کوي):

    تاکتیک *دوتنه (د فایل نوم) = @{
    ټیسټ -f % د فایل نوم || وتل 99
    د f لپاره په٪ کې

    سرچینه: opennet.ru

Add a comment