WhyTools Byg Miljø

link: http://idav.ucdavis.edu/~okreylos/ResDev/WhyTools/index.html

En irriterende del af at skrive og vedligeholde et storstilet software-projekt med snesevis af klasser, kildefiler, C ++ skabeloner og andre ressourcer er at opretholde en Makefile der automatiserer genopbygningen proces og skærer ned ekspeditionstider under udviklingen ved kun at omkompilering disse kilder, der har blevet ændret, eller som er afhængige af kilder, der er blevet ændret. Mange andre krav til software skabelsesprocessen, såsom at opretholde forskelligt bygget versioner af objekt filer på samme tid, produktion af debug og versioner, forvaltning af de ydre softwarepakker, der skal knyttes til et projekt, støtte til udvikling under forskellige drifts- systemer eller compiler miljøer osv, kan vende den tilsyneladende simple opgave med at skabe og opretholde en ordentlig makefile til et mareridt. Mens meget enkle makefiler kan spilde tid på grund af unødvendig kompilering, måske ikke perfekt vedligeholdt komplekse makefiler være farligt ved ikke at opdatere objekt filer på en kildekode forandring og dermed indføre falske fejl i et projekt (den berygtede “make clean” problem).

Projekt Mål

De vigtigste mål i udviklingen WhyTools var at skabe et build miljø med en overvejende skabelonsvennefunktioner makefile, således at de fleste intelligens og blændværk lagres i en central projekt-uafhængig sted, og at projektspecifikke makefiler er så korte og enkle som muligt uden at ofre effektivitet under udviklingsprocessen. Den WhyTools miljø tilbyder følgende funktionalitet:
Understøttelse af flere operativsystemer og compilere fra samme hjemmemappe.
Understøttelse af flere objekt filversioner i samme projekt mappe.
Fuldautomatisk kildekode afhængigheden generering og vedligeholdelse (ingen “gøre, afhænger” nødvendigt).
Støtte til projekt mapper med undermapper.
Støtte automatisk inddragelse af eksterne software-pakker, der kræver oprettelse omfatter stier, bibliotek søgning stier og lister over omfattede biblioteker til at arbejde.
Definerbare destination mapper for afhængigheder filer, objekt filer, biblioteker og eksekverbare at eliminere rod inde i en projekt mappe.
Enkelhed. Selvom WhyTools opbygge miljø tilbyder helt avanceret funktionalitet, bruge det i et projekt er så simpelt som at kopiere en skabelon makefile ind i projektets rodmappe, at sætte nogle parametre som compiler og linker flag, og skrive “gøre”.
Projektspecifikke makefiler normalt kun indeholder indstillinger for compiler og linker flag, listen over eksterne softwarepakker refereres til af et projekt, og mål om at bygge et projekts eksekverbare og / eller dynamiske delte biblioteker. Makefile for rigtige projekter kan være så kort som 10-20 linjer plus standardtekst kopieret fra skabelonen Makefile.
Udelukkende baseret på GNU gøre, sed og find.
Hvorfor WhyTools?

Hvorfor ikke WhyTools?
Projekt status

Den aktuelle version af WhyTools build miljø kan downloades fra download siden. Følgende liste over manglende funktioner vil blive behandlet i fremtiden, som tiden tillader:
Rekursiv udvidelse af softwarepakke afhængigheder er ikke rigtig rekursiv; Det er i øjeblikket begrænset til ni niveauer af afhængigheder.
De kommandosekvenser at kompilere C / C ++ kilder, og at knytte objekt filer i en enkelt eksekverbar bør flyttes fra BasicMakefile til SystemDefinitions, da de måske skal tilpasses baseret på operativsystemet / compiler suite.
På grund af en fejl i fabrikat (?), Behøver dåse kommandosekvenser ikke mulighed for at undertrykke ekko af valgte linjer i en kommando sekvens. Dette er yderst irriterende; nødt til at finde en løsning.
Støtte til “targetless” projekter i øjeblikket ikke inkluderet. Jeg forestille leverer en standard mål “Main”, der ville være forbundet ved at inkludere alle kildefiler findes i projektet bibliotek og alle dens undermapper. Det kræver nogle fund / sed magi.
På dette tidspunkt, man stadig nødt til at udstede en “rense”, når parametre i byggefilen ændres, for eksempel når en definition sættes til CFLAGS variabel. Det ville være rart at lave mål afhænger af Makefile variabler så godt, på en eller anden automatisk måde. Med andre ord, ændre en parameter, og gøre automatisk genkompilere alle kilder, der refererer denne variabel.

Sider i denne sektion

Tutorial
En kort (og lidt hyperbolsk) tutorial om, hvorfor du absolut brug for WhyTools opbygge miljø, og hvordan man får det op at køre på ingen tid.
Dokumentation
Detaljeret dokumentation af de indstillinger, der kan have behov for at blive justeret for at installere WhyTools bygge miljø på en brugers konto, og en liste over parametre, der kan justeres til de enkelte projekter.
Hent
Hent side for alle filer nødvendigt at installere og bruge WhyTools opbygge miljø.

Comments are closed.