Richard WM Jones, marubuci yana aiki a Red Hat, sabon kayan aikin haɗawa , da nufin kawar da gazawa da matsalolin amfani da make utility yayin da ake kiyaye sauƙin rubutu da kuma bayyana shi gaba ɗaya. An tsara make utility a shekarar 1976 kuma yana da kurakurai da dama na ra'ayi. Manufofi suna da nufin magance waɗannan kurakurai ba tare da canza ra'ayi gaba ɗaya ba.
Lambar tushe ta maƙasudai mai lasisi a ƙarƙashin GPLv2+.
:
- Tallafi ga dabarar warware dogaro ɗaya kawai—"ana gudanar da umarnin gini idan fayil ɗin da aka nufa ya ɓace ko ya girmi ɗaya daga cikin dogaro." Manufofin suna shirin aiwatar da wasu dabaru, kamar duba kasancewar URL, kwatanta lokutan gyara da kowane fayil, da kuma kimanta ginin kunshin a ciki , kwatanta checksums, gudanar da gwaje-gwaje tare da zaɓaɓɓun tsallake gwaje-gwaje.
- Lokacin sarrafa burin ginawa, make ba ya bambanta tsakanin fayiloli da sunayen ƙa'idodi, kuma sakamakon haka, babu wani bincike don tabbatar da cewa fayil ɗin da yake da'awar ƙirƙira za a ƙirƙira shi lokacin da aka gudanar da ƙa'idar. Misali, idan wata ƙa'ida mai suna "gwaji" tana gudanar da rubutun gwaji kuma an ƙirƙiri fayil mai suna "gwaji" ba da gangan ba, gwaje-gwajen za su daina kiransa, kamar yadda make zai ɗauka cewa an gina abin da ake nufi kuma ba ya buƙatar wani aiki. (Don yin aiki a kan wannan, zaku iya ƙayyade umarnin ".PHONY:gwaji" a cikin make.) Manufofi suna bambanta tsakanin fayiloli da sunayen ƙa'idodi.

- Matsalar samar da siga ɗaya kawai don umarnin haɗawa.

Manufofi suna ba da damar amfani da kowace lamba ta sigogi masu suna. Misali, zaku iya cire tutar fayil ɗin gyarawa daban daga sunan:

- Matsalolin da ke tattare da mai fassara harsashi. Misali, buƙatar sarrafa ɓullar sarari a cikin sunayen fayiloli da kundin adireshi, nauyin albarkatun ƙaddamar da mai fassara harsashi daban don kowane umarni, fassarar alamar "$" guda biyu (wanda aka yi amfani da shi a cikin harsashi da kuma yin), da kuma ƙofa.
Ana magance matsalolin da aka ambata a cikin Manufofi ta hanyar amfani da alamar "%" maimakon "$" don masu canjin tarawa ("$" ya rage kawai ga harsashi), ta amfani da mai fassara , wanda ke buƙatar ambaton hanyoyi da sunayen fayiloli da kuma ƙayyade tubalan lambar tare da maƙallan lanƙwasa. Ana gudanar da dukkan tubalan umarni a cikin misali guda ɗaya na harsashin umarni, kuma a cikin tubalan, an yarda da tsarin lambar ba bisa ƙa'ida ba, ba tare da an ɗaure shi da sarari na musamman ba.
Ya kasance:
manufa: foo.o bar.o
${CC} ${CFLAGS} $< -o $@Ya zama:
"manufa": "foo.o", "bar.o" {
%CC %CFLAGS %<-o %@
}
Sauran fasalulluka na Manufofi:
- Taimakon zaɓi don ƙayyade sunaye da sigogi na musamman:
burin duk = : "manufa"
hanyar haɗin manufa =
"manufa": "foo.o", "bar.o" { ... }tattara burin (suna) =
"%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ } - Yanayin ƙaddamarwa guda biyu: yi yanayin daidaita manufofin gini tare da sunayen fayiloli (misali fayil ɗin "foo.o" ya dace da manufar "%name.o"), da yanayin tattarawa kai tsaye:
burin duk = : mahada
hanyar haɗin manufa =
"manufa" : "foo.o", tattara ("sanduna") { ... }tattara burin (suna) =
"%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ } - Ana bayyana dabarun ginawa ta hanyar ƙa'idodi na musamman waɗanda za a iya amfani da su don tantance ko ana buƙatar sake gina maƙasudin gini. Idan ana buƙatar kasancewar fayil, ana ƙayyade wannan a sarari ta amfani da tutar da ta dace ("manufa" don sunan doka da *fayil ("manufa") don duba fayil).
"manufa": "foo.o", "bar.o" { ... }
*fayil("manufa"): *fayil("foo.o"), *fayil("bar.o") { ... }
- Mai haɓakawa zai iya ayyana tutocin dabarun ginawa na musamman. An ayyana tutar "*fayil" ta tsohuwa (@{…} yana nuna hana fitarwa, kuma "fita 99" yana nuna buƙatar sake ginawa):
dabara *fayil (sunan fayil) = @{
test -f %fayil name || fita 99
don f a cikin %source: budenet.ru



