Thaisbean neach-obrach Red Hat siostam co-chruinneachaidh Goals. Sgaoileadh GNU Make 4.2

Richard WM Jones, ùghdar libguestfs, ag obair aig Red Hat, toirt a-steach goireas togail ùr amasan, ag amas air cuir às do uireasbhaidhean agus duilgheadasan ann an cleachdadh dèanamh fhad ‘s a chumas iad sìmplidheachd agus tuigse iomlan nan sgriobtaichean. Chaidh an goireas dèanamh a dhealbhadh ann an 1976 agus tha grunn easbhaidhean bun-bheachdail ann; Tha Amasan an dùil cuir às do na h-uireasbhaidhean sin gun a bhith ag atharrachadh a ’bhun-bheachd coitcheann.
Còd stòr amasan air a sgaoileadh le le cead fo GPLv2+.

Trioblaidean fuasglaidh:

  • Taic airson dìreach aon innleachd fuasglaidh eisimeileachd - “tha an stiùireadh cruinneachaidh air a ruith ma tha am faidhle targaid a dhìth no ma tha e nas sine na aon de na h-eisimeileachd.” Amasan an dùil innleachdan eile a chuir an gnìomh, leithid a bhith a’ cumail sùil airson làthaireachd URL, a’ dèanamh coimeas eadar amannan atharrachaidh le faidhle sam bith, a’ measadh a’ phacaid a chaidh a thogail a-steach. cuach, coimeas checksums, a 'ruith chùisean deuchainn le taghadh roghnach a' leum air deuchainnean.
  • Nuair a bhios tu a’ giullachd thargaidean togail, cha bhith dèanamh a’ sgaradh fhaidhlichean agus a’ riaghladh ainmean, agus mar thoradh air an sin, chan eil dearbhadh sam bith ann nuair a ruitheas tu riaghailt, gun tèid am faidhle a tha e ag ràdh a thèid a chruthachadh a chruthachadh. Mar eisimpleir, ma tha riaghailt agad ris an canar “deuchainn” a bhios a ’ruith sgriobtaichean le deuchainnean, thèid faidhle leis an t-ainm“ test ”a chruthachadh gun fhiosta, cha tèid na deuchainnean a ghairm tuilleadh, oir beachdaichidh dèan gu bheil an targaid air a thogail agus nach eil feum air. gnìomh sam bith (airson Gus obrachadh timcheall air an duilgheadas ann an dèanamh, faodaidh tu an stiùireadh “.PHONY: test” a shònrachadh). Bidh amasan gu soilleir a’ sgaradh fhaidhlichean agus ainmean riaghailt.

    Thaisbean neach-obrach Red Hat siostam co-chruinneachaidh Goals. Sgaoileadh GNU Make 4.2

  • Duilgheadas le bhith a 'toirt seachad aon paramadair airson stiùireadh co-chruinneachaidh.

    Thaisbean neach-obrach Red Hat siostam co-chruinneachaidh Goals. Sgaoileadh GNU Make 4.2

    Leigidh amasan leat àireamh neo-riaghailteach de pharamadairean ainmichte a chleachdadh. Mar eisimpleir, faodaidh tu soidhne faidhle deasbaid a tharraing air leth bhon ainm:

    Thaisbean neach-obrach Red Hat siostam co-chruinneachaidh Goals. Sgaoileadh GNU Make 4.2

  • Duilgheadasan ag eadar-obrachadh leis an eadar-theangair shligean. Mar eisimpleir, an fheum air smachd a chumail air teicheadh ​​​​bho àiteachan ann an ainmean faidhle is eòlaire, sgudal ghoireasan air eadar-theangair slige fa leth a chuir air bhog nuair a bhios tu a’ coileanadh gach àithne, eadar-mhìneachadh dùbailte a ’charactar “$” (air a chleachdadh anns an dà shlige agus an dèanamh), a’ gabhail a-steach indentations.

    Tha na duilgheadasan sin air am fuasgladh ann an Amasan le bhith a’ cleachdadh an t-samhla “%” an àite “$” airson caochladairean cruinneachaidh (“$” air fhàgail airson an t-slige a-mhàin), a’ cleachdadh parser LALR(1), a dh’ fheumas tu slighean agus ainmean faidhle a chuairteachadh le luachan agus blocaichean còd a shoilleireachadh le braces lùbach. Tha am bloc àithne gu lèir air a chuir air bhog ann an aon eisimpleir den t-slige àithne, agus taobh a-staigh a’ bhloca, tha cruth còd neo-riaghailteach ceadaichte, gun iomradh a thoirt air àiteachan sònraichte.

    Bha:
    targaid: foo.o bar.o
    ${CC} ${CFLAGS} $< -o $@

    Thàinig e gu bhith:
    "target": "foo.o", "bar.o" {
    %CC % CFLAGS %< -o %@
    }

Feartan eile de Amasan:

  • Taic roghainneil airson ainmean neo-riaghailteach agus crìochan a shònrachadh:

    amas uile = : "target"

    ceangal amas =
    "target" : "foo.o", "bar.o" {... }

    amas cruinneachadh (ainm) =
    " %name.o " : " %name.c " , " dep.h " { %CC %CFLAGS -c $^ -o $@ }

  • Dà dhòigh cur air bhog: dèan modh gus targaidean togail a mhaidseadh le ainmean faidhle (mar eisimpleir, am faidhle “foo.o” a rèir targaid “%name.o”), agus modh cruinneachaidh dìreach:

    amas uile = : link

    ceangal amas =
    "target" : "foo.o", cuir ri chèile ("bàr") {... }

    amas cruinneachadh (ainm) =
    " %name.o " : " %name.c " , " dep.h " { %CC %CFLAGS -c $^ -o $@ }

  • Tha innleachdan cruinneachaidh air an co-dhùnadh le riaghailtean sònraichte a dh'fhaodar a chleachdadh gus faighinn a-mach am feumar targaid cruinneachaidh ath-chruinneachadh. Ma thèid ceangal a dhèanamh ri làthaireachd faidhle, tha seo air a dhearbhadh gu soilleir tron ​​​​t-soidhne co-fhreagarrach (“targaid” airson ainm an riaghailt agus * faidhle (“targaid”) airson sgrùdadh a dhèanamh air an fhaidhle).

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

    * faidhle ("targaid") : * faidhle ("foo.o"), * faidhle ("bar.o") { ... }

  • Faodaidh an leasaiche feartan neo-riaghailteach innleachdan cruinneachaidh a mhìneachadh. Tha am bratach "* file" air a mhìneachadh gu bunaiteach (tha @{...} a 'comharrachadh casg air toradh, agus tha "fàgail 99" a' comharrachadh gu bheil feum air ath-thogail):

    innleachd * faidhle (ainm faidhle) = @{
    deuchainn -f %filename || fàgail 99
    airson f ann an %

    Source: fosgailtenet.ru

Cuir beachd ann