MarNor Skrevet 4. oktober 2004 Del Skrevet 4. oktober 2004 Hei Hva vil det si at en fil er en "makefil". Er det noen spesielle krav til at en ".cpp" fil kan kompileres med kommandoen "make"? Fint om noen kan hjelpe meg med dette :-) Marthe Lenke til kommentar
gspr Skrevet 4. oktober 2004 Del Skrevet 4. oktober 2004 Ta en titt her, så får du nok svar. Lenke til kommentar
iDude Skrevet 5. oktober 2004 Del Skrevet 5. oktober 2004 En makefile inneholder regler for hvordan man skal kompilere større program. Primært beskriver den hvordan man skal kompilere enkeltfiler og hvordan man skal linke sammen disse filene til et kjørbart element. Om du bare har en cpp-fil er det mye greiere å kompilere den på kommandolinja med g++, men dersom du øker antall filer som må kompileres og linkes sammen vil du finne at en makefil e.l. er et must. Lenke til kommentar
JBlack Skrevet 5. oktober 2004 Del Skrevet 5. oktober 2004 (endret) Make kan brukes til mer enn bare programmering. En makefil beskriver hvilke andre filer en fil som skal lages er avhengig av, og hva som skal til for å bygge denne filen. Formatet ser slik ut: fil: avhengig1 avhengig2 avhenig3 ..... <tab>kommando1 <tab>kommando2 ..... (Merk at mellomrommet før kommandoene er én <tab> og ikke <space>.) Edit: La inn <tab> i teksten, fordi tabulatorer tydeligvis ikke vises. Når man så kjører make, så vil den for å bygge 'fil' se på avhengighetene og sjekke om noen av disse filene er nyere enn det 'fil' er. Hvis det er tilfelle så kjøres alle kommandoene, hvis resultat bør være en oppdatert 'fil'. Hver av avhengighetene kan ha egne regler i makefilene, slik at man får et hierarki av filer som er avhengig av hverandre. Den store fordelene med å bruke Makefile, er at man på denne måten kun bygger de deler av prosjektet som er nødvendig å bygge. Når man har store prosjekter kan det ta timesvis å kompilere, noe som er unødvendig når man her gjort bare en liten et sted. Da vil makefilen sørge for å kun kompilere på nytt det som er nødvendig. Et eksempel på en makefil som ikke er programmering: forside.html: header.txt footer.txt forside.txt <tab>cat header.txt > forside.html <tab>cat forside.txt >> forside.html <tab>cat footer.txt >> forside.html ommeg.html: header.txt footer.txt ommeg.txt <tab>cat header.txt > ommeg.html <tab>cat ommeg.txt >> ommeg.html <tab>cat footer.txt >> ommeg.html footer.txt: kontakt.txt disclaimer.txt <tab>cat disclaimer.txt >footer.txt <tab>cat kontakt.txt >>footer.txt I Makefiles kan man også bruke en rekke variabler for å gjøre ting enklere. Men det får du lese om sjæl. Endret 5. oktober 2004 av JBlack Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå