Makepp
FAQDocumentationGalleryDownloadSourceForgeCPAN

Makepp HejmpaĝoEsperantoAngla / English

Kongrua sed fidinda kaj plibonigita anstataŭo por make

lernu.net

Makepp, muntoprogramo kiu havas plurajn eblojn kiuj permesas fidindan munton kaj pli simplajn muntodosierojn, estas kongrua anstataŭo por GNU make. Ĝi ofertas preskaŭ la tutan sintakson kiun GNU make ofertas, kaj povas esti uzata kun muntodosieroj produktita de utilaĵoj kiel automake. Ĝi estas nomita makepp (aŭ make++) pro tio ke estis projektita kun speciala subteno por C++, kiu intertempe estis etendita al aliaj lingvoj kiel Swig aŭ enigita SQL. Ankaŭ ĝia rilato al make estas analoga al tiu de C++ al C: ĝi estas preskaŭ 100% retrokongrua sed aldonas multajn novajn eblojn kaj multe pli bonajn manierojn skribi muntodosierojn.

Kelkaj trajtoj kiujn makepp aldonas al make estas: plibonegigita trakto de munto kun pluraj muntodosieroj (rekursia munto ne plu estas necesa — legu de Miller Rekursia Munto Konsiderata Danĝera, angle: Recursive Make Considered Harmful, pri kial tio estas mojosa); aŭtomata skanado de enigitaj (#include) dosieroj; remunto ekkaŭzita se munta komando ŝanĝiĝas; kontrolsuma signaturo por fidinda munto, sufiĉe lerta por pretervidi sensignifan spac- aŭ komentŝanĝon; etendeblo per Perl programado (ene de muntodosieroj); deponejoj (aŭtomate importanta dosierojn de alia arbo); munto-stokejo (ne remuntante idente kion alia uzanto de la sama stokejo jam faris). Por pli kompleta listo de ebloj, vidu la manlibron.

Makepp 2.0 nun funkcias verŝajne en ĉiuj Linukso/Unikso-variaĵoj kaj Vindozo, same kiel en Ebcdic platformoj BS2000 kaj z/OS. Principe ĝi devus funkcii kie ajn vi havas Perl 5.6.0, aŭ pli alta. Perl 5.6.0 havas konatajn cimojn en la x86 platformo kiu kaŭzas paneojn en grandaj muntoj. Perl 5.6.1 havas cimojn en kelkaj platformoj kiuj kaŭzas strangajn paneojn, sed en aliaj platformoj funkcias bone. Mi ĝenerale uzas Perl 5.8.0 aŭ pli nova.

Vi povas skribi al la sourceforge makepp forumoj por helpomalferma diskuto en Esperanto, la Angla, Germana aŭ Franca.

Novaĵoj

: CVS kaptdosierujo 2.0.98.5 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball, Xz tarball, Debian/Ubuntu, RPM. La enkonstruita &template lingveto inspirita de automake estas nove priskribita. Ĝi nun havas @include(dosiernomo)@ makroon. La C skanilo nun atentas pri kompililaj variabloj kiel C_INCLUDE_PATH aŭ LIB. Parentezaj paroj nun enigas unu la alian kiel en GNU make aŭ Shell: $(nomo ...()...)

: CVS kaptdosierujo 2.0.98.4 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball, Xz tarball, Debian/Ubuntu, RPM. Rimarkinde estas nur la opcia variablo $MAKEPP_DEBUG. Krome ĝi havas diversajn sencimigojn.

: CVS kaptdosierujo 2.0.98.3 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball, Xz tarball, Debian/Ubuntu, RPM. Instalo kontraŭ /usr/bin/env ebla kun PERL=perl (sen pado). Nova opcio --loop por munti same kiel ajn ofte vi volas sen relegi muntodosierojn. Laŭvole pretervidi lininumerojn en klera C signaturo. Bukli ĝis mankanta reglo por munti la enigan dosieron estas trovita. Kunpremu man-paĝojn per gzip se loka sistemo faras tiel, laŭ Debian politiko. Forigi ĉiujn ecojn kiuj avertis esti preterpasitaj.

: CVS kaptdosierujo 2.0.98.2 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball, Xz tarball, Debian/Ubuntu, RPM. Post nekutime mallonga paŭzo jen denove ni kun sencimigoj por kelkaj malnovaj cimoj, kiuj nur nun ekdoloris. Do jen rekomendo, se vi rimarkas problemojn.

: CVS kaptdosierujo 2.0.98.1 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball, Xz tarball, Debian/Ubuntu, RPM. Post la ekskurso al Esperanto traduko, reen al kodado. Estas unu nova opcio por makeppreplay, kiu permesas modifi la memorigitan komandon kaj kelkaj sencimigoj kaj optimigoj. Tiu ĉi kaptdosierujo forigas la subtenon por Perl 5.6 kaj la ĉirkaŭirojn kiun ĝi bezonis.

: Hejmpaĝo tradukita al Esperanto

En tiu Eŭropa Tago de Lingvoj, dum Esperanto iom post iom populariĝas en la interreto, la antaŭnelonga 125a naskiĝtagreveno de la lingvo estis bona motivigo por traduki tiun ĉi paĝon. Tio estis farita duonaŭtomate baze de la rezultoj de Guglo Traduko, la tri motoroj en Traduku kaj Esperantilo. Neniu el tiuj perfektas, sed kuniginte iliajn rezultojn, ni alproksimiĝis. La Komputada Leksikono aldonis la teĥnikan terminaron.

: Versio 2.0 eldonita

Post sep jaroj kaj sennombraj ŝanĝoj, jen ĝi: Gzip tarball, Xz tarball, Debian/Ubuntu, RPM. Por tiuj, kiuj ne sekvis la kaptdosierujojn kaj eldonajn kandidatojn, tiu ĉi estas kvazaŭ kompleta reprogramado de versio 1.40.1 kun multaj novaj ebloj.

Kerna eblo ĉiam estis lertaj signaturoj por linvgoj similaj al C/C++, t.e. ne retraduki se sole komentoj aŭ spacetoj ŝanĝiĝis. Tio nun facile etendeblas al aĵnaj sufiksoj aŭ dosiernomoj. La sama nun ankaŭ haveblas por xml dosieroj, kun elekto inter du sintaksaj analiziloj.

Bonvolu helpi provante tion kun via projekto! Krom se ĝi ege ĉirkaŭiras la mankojn de Gnu make, neniuj aŭ malmultaj modifoj devus necesi. Ankaŭ, se vi havas aliron al nekutima sistemo aŭ arĥitekturo, helpu plenigi testajn truojn lanĉante t/run_all.t -T kaj raportante ajnajn erarmesaĝojn kune kun la enhavo de la kreita t/V5.* dosierujo!

Makepp 2.0 estas dediĉita al la vizia lastatempe mortinta Dennis Ritchie, patro de C kaj kunkreinto de Unikso, la bazo ne nur de make, sed de ĉiuj modernaj komputiloj kaj inteligentaj poŝtelefonoj. Dankegoj iras al gravaj kontribuintoj Amadeus Germanujo kaj NVIDIA, same kiel al ĉiuj kiuj sendis flikojn, ideojn aŭ cimraportojn aŭ eĉ deforan aliron por sencimigi surloke!

Antaŭrigardo: Makepp 2.1 plibonigos la promesitan kongruecon al Gnu make, en kelkaj etaj aspektoj kiuj malsamas sen neceso. Ĝi forigos la malnovaĵojn kiuj kaŭzas avertojn ke oni evitu tion, same kiel subtenon por la malnovega Perl 5.6 eble eĉ ĝis ĉirkaŭ 5.8.5. Novaj konsiderataj ebloj inkluzivas iteracian sintakson similan al branĉaj ordonoj, ankaŭ rultempe ene de agoj de reguloj, regulesprimaj reguloj, analiziloj por TeX/LaTeX kaj Lazy C++ (maldiligenta C++), krome nova ilo makepp­declude uzanta nian profundan komprenon de muntita programo por elimini senutilajn enigu (#include) ordonojn.

: Eldona kandidato 2.0rc3 (teĥnike 1.50-120304) publikigita

Kelkaj negravaj korektoj: Gzip tarball, Xz tarball, Debian/Ubuntu, RPM. Sole kelkaj negravaj cimoj estis raportitaj kaj korektitaj ekde rc2. Multaj dosieroj tuŝitas pro literumila korekto de dokumentaro kaj komentoj.

: Eldona kandidato 2.0rc2 (teĥnike 1.50-120111) publikigita

Kelkaj negravaj korektoj: Gzip tarball, Xz tarball, Debian/Ubuntu, RPM. Sole kelkaj negravaj cimoj estis raportitaj kaj korektitaj ekde rc1. La plej grava ŝanĝo estas instalo de la html dokumentaro en nova formato, la sama kiu uzitas por la nova aspekto de tiu ĉi retpaĝaro.

: Nova aspekto de retpaĝaro lanĉita

Dankegon al 조연희 (Jo Younhee/Ĉo Jonhi) por la refasonado de la emblemo kun laboranta kamelo kaj manfarita tiparo! Kaj dankon al html-templates por la baza artaĵo, kiun mi modernigis helpe de {less}.

: Eldona kandidato 2.0rc1 (teĥnike 1.50-111120) publikigita

Teksto kiu estis ĉi tie nun estas parto de la fina eldono de 2.0 supre: Gzip tarball, Xz tarball, Debian/Ubuntu, RPM.

: CVS kaptdosierujo 1.50-110915 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball, Xz tarball. Tio estis la lasta kaptdosierujo de neniam eldonita versio 1.50.

Ŝanĝoj estas subtilaj: muntodosiera analizo nun havas la saman rangordon kiel gmake, permesante global esti ŝlosilvorto antaŭ build_cachedefine ordonoj. perl {} unuliniaĵoj entenante dupunkton ne plu estas fuŝe rekonata kiel regulo kaj perversaj variablaj nomoj kun spaceto ene nun estas komprenataj.

: CVS kaptdosierujo 1.50-110621 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball, Xz tarball. Tiu ĉi, krom vpath, nur korektas cimojn, inkluzive unu enkondukitan per la lasta granda ŝanĝo. Tiu ĉi eldono revenas al nia kutima kvalito-nivelo por uzebleco.

: CVS kaptdosierujo 1.50-110417 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball, Xz tarball. Tiu ĉi korektas la plej longe konatan cimon de makepp, nome se funkciaj operandoj liveris komojn, ĝi konfuziĝis. Tio devus esti nerimarkota por multaj el vi, sed ĝi postulis grandan internan ŝanĝon, do provu atente, antaŭ ol instali. Se vi havas proprajn funkciojn, kiuj prenas operandojn, vi devas legi la eldonajn noticojn kaj la dokumentaron, pardonu!

: CVS kaptdosierujo 1.50-110116 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball, Xz tarball. Kelkaj cimoj estas korektitaj (precipe uzantoj de aktuala Cygwin devus ĝisdatigi) kaj denove ĝi estas plialproksimigita al Gnu make. Do pliaj pakaĵoj nun munteblas, kvankam daŭre estas problemo kun la Linuksa kerno.

Ĉiuj konataj antaŭtraktilo de enigita SQL/C nun komprenatas. Tio gravas por ke dependo je enigaj dosieroj aŭtomate remuntas, anstataŭ bezoni erarigeman mane flegitan liston en via muntodosiero. Aŭ la enigaĵoj povas eĉ esti generitaj memstare kiam bezonataj, se via muntosistemo tiel funkcias. (OCI aŭ OTL ne uzas apartan sintakson, do de ĉiam la C/C++ skanilo de makepp bone traktis ilin.)

CMake generas rekursiegan aron de muntodosieroj. Makepp, perfektema kiel ĝi estas, eniris senfinan rekursion je ciklo kiun klasika make pretervidas. Anstataŭe, ni nun sintakse analizas tiujn muntodosierojn inteligente, tute forigante la rekursion. Malfeliĉe ni devas ŝargi ĉiujn build.make dosierojn, ĉar ili nek havas normigitan nomon, nek produktas dosierojn nur en sia propra dosierujo, do ne aŭtomate ŝargeblas laŭbezone. Ankaŭ la nedokumentita plenumskalo ne nombras la laboron, sed nur la nun forigitan rekursion, do ĝi ĉesis funkcii. Neniu provis kun kdecmake, ekzerco lasata al tiuj, kiuj konas ĝin bone — sukcesraporto bonvena! Kompreneble la granda celo estus generi veran makepp muntosistemon, ĉar ni ofertas kion CMake promesas.

La nun mallongigita opcio --traditional(-recursive-make) havas novan variaĵon --hybrid(-recursive-make) kiu provas trakti laŭeble multan rekursion en la ĉefa procezo, uzante veran rekursion nur en dosierujoj kun pluraj muntodosieroj.

: CVS kaptdosierujo 1.50-101117 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball. Kelkaj cimoj estas korektitaj kaj ĝi estas plialproksimigita al Gnu make. Do pliaj pakaĵoj nun munteblas.

Skanila terminaro nun klaras (kaj la paĝo reskribita) por finfine speguli reprojektadon kiu okazis antaŭ kelkaj jaroj. Nun estas tri terminoj, la leksika analizilo (pri kiu uzantoj ne bezonas zorgi), la sintaksa (komando) analizilo kaj la (dosieraj) skaniloj. La skip-word sintaksa analizilo nun funkcias pli bone.

: CVS kaptdosierujo 1.50-100422 publikigita

Jen denove bone elprovita beta kaptdosierujo: Gzip tarball. Laŭ peto estas nova regulo-modifilo :include kiu permesas profiti de kroma dependo-genero de gcc -MD, IBM xlc -M (kaj kun artifiko eĉ MS cl), kiu normale kolizias kun la malkovro de dependoj per makepp antaŭ la munto. Krome estas korektoj, plej notinde elturniĝo kontraŭ kraŝo de makepplog en Perl 5.12.0.

: Makepp ĉe Germana Perl Kunveno

Hodiaŭ estis prezento (OOo) en la Germana de makepp, kaj speciale de ĝiaj Perl aspektoj, ĉe la Deutscher Perl-Workshop. Iom pli ampleksa artikolo (PDF) aperis en la kongreslibro.

: CVS kaptdosierujo publikigita

Jen denove bone elprovita beta kaptdosierujo. La brilaĵo estas bona civitaneco: niaj klasoj ne plu malpurigas multajn nomujojn kaj nun anstaŭe ĉiuj estas en la pakaĵo Mpp (kiu estas la mallongiga prefikso de la makepp familio de komandoj, ekz. mppc estas alinomo de makeppclean.) Krome estas kelkaj korektoj, plej notinde simbolaj ligiloj (kiuj estas problemaj dependoj, ĉar ili samtempe reprezentas du dosierojn) finfine havas konsekvencan traktadon.

: CVS kaptdosierujo publikigita

Jen denove bone elprovita beta kaptdosierujo. Krom kelkaj cimo korektoj, elstaraĵo estas la nova eksperimenta komando makeppreplay (mallonge: mppr). Ĝi lanĉas nur la agojn, ekzakte kiel makepp laste lanĉis ilin. Fari nenion alian signifas ke ĝi tre rapidas. Ĝi ankoraŭ estas iom nekomforta, ĉar ĝi ne decidas kion munti, lasante la uzanton specifi la muntendajn dosierojn — sed en praktika uzo ofte estas malmultaj pripensendaj celdosieroj.

: CVS kaptdosierujo publikigita

Jen denove bone elprovita beta kaptdosierujo. Krom plirapidigo kaj sencimigo (speciale por deponejoj), tiu ĉi versio estas alportita al z/OS. La mankinta call (voko) funkcio estas provizita. Dosiero .makepprc kun opcioj ene estas serĉata, do vi povas stoki ilin en la munto arbo al kiu ili rilatas.

Kelkaj sencimigoj daŭre survojas por eĉ pli bona GNU make kongrueco (komo en variablo ne estu parametra separilo kaj variabloj kun spaco ennome). Poste tio jam devus simili al la aspekto la venonta oficiala versio.

: CVS kaptdosierujo publikigita

Jen denove bone elprovita beta kaptdosierujo. Krom multaj generalaj plibonigoj kaj korektoj, elstaraĵo de tiu versio estas la multe evoluigita subteno por ĉiuj Vindozaj ĉirkaŭaĵoj, inkluzive subteno por paralelaj muntoj.

: CVS kaptdosierujo publikigita

Jen denove bone elprovita beta kaptdosierujo. Ĝi fariĝas pli kaj pli rapida, denove 10% ĝis 15% pli ol la lasta. Kaj ĝi riparas diversajn cimojn, devigo por uzantoj de la opcioj -kjn. La munto-stokejo nun ofertas statistikojn kaj replikadon, kio rezulas en tempo savo kun pluraj diskoj aŭ komputiloj. En Linukso kaj Solaris tio ankaŭ savas multe da spaco. Ĉiuj enkonstruitaj filtriloj (escepte de &sort, ordigo) nun povas generi C/C++-ecan linisinkronigon. Ĉiu komando nun havas mallongigon kiel mpp por makepp, mppc por makeppclean kaj mppl por makepplog.

logo: Pliboniga projekto "Just MakePP it!"

Amadeus Germanujo GmbH tenis ekigan renkontiĝon kun la studantoj de la Johannes Gutenberg Unversitato, Majenco, kaj iliaj instruisto. Dum la venonta monato ili formaligos mezureblajn postulojn bazite sur la ideoj (germanaj) donitaj al ili, la vizio (germana) kiun ili formulis, kaj la detalaj intervjuoj kiujn ili kondukis. La ideoj inkluzivas reverkadon de la sintaksa analizilo, tiel ke ĝi povu esti etendita per sintaksa foreach (por ĉiuj) kaj while (dum) iteracioj. Du ideoj koncernas la internan procezo-vicigilon kaj la manieron uzi ĝin en sintaksaj komando-analiziloj kaj skaniloj, tiel ke ili fariĝu pli efikaj. La kvara ideo estas krei autoconf-similan kadron bazitan sur makepp kaj enmeti la portebleco-provojn el ekzistantaj fontoj. Tiel muntaĵo sistemoj povas agordi sin mem al ajna komputilo.

Ilia postuloj-dokumento intertempe estas eldonita sur la universitata raporto retejo.

: CVS kaptdosierujo publikigita

Laŭ viaj petoj, kaj ĉar ni tiom malrapide eldonas stabilajn versiojn, tie nun estos bone testita beta kaptdosierujoj de temp' al tempo.

: Galerio aldonita

Por helpi vin uzi la novan makeppgraph utilaĵon, estas nun galerio kun klarigoj pri kiel la grafeoj estis kreitaj.

: Retejo refarita

La nova aspekto de la venonta versio de dokumentaro estis aplikita al ĉi tiu paĝo kaj la lasta 1.40.1 dokumentaro. GNU Emacs 22.0.50 el ilia CVS nun ankaŭ venas kun makefile-makepp-mode.

: NVIDIA muntosistemo-prezento

Du el la ĉefaj makepp programistoj prezentis makepp-n kaj ĝian rolon en giganto muntosistemo de NVIDIA je la Perforce uzanto konferenco. Legu ambaŭ la artikolon kaj la prezentaĵon sur ilia prezentejo.

: Versio 1.40.1 eldonita

Tiu versio estas identa al 1.40 krom ke iel la tar-arĥivo por 1.40 estis koruptita. Ĉi tiu estas la lasta versio kiu apogis Perl 5.005.

: Versio 1.40 eldonita

Tiu ĉi versio korektas multajn erarojn el 1.19 (Cygwin korektoj kaj multaj de malgrandaj problemoj sur Unikso), havas redizajnitan leksike analizan interfacon por subteni aldonajn lingvojn pli facile (ekz. Verilog estas subtenata nun), havas kliento-servilo interfacon por rapida eko, kaj kelkajn malgrandajn novajn funkciojn. Vidu la eldonajn rimarkojn por detaloj.

Nur tre malgrandaj ŝanĝoj okazis inter 1.40beta1 kaj la plena 1.40 eldono. La makepp programistoj plejparte koncentriĝas pri la sekva eldono, kiu devus havi plurajn novajn funkciojn.


Daniel Pfeiffer & Gary Holt
Laste modifita: