Hvordan å kompilere C koder i Makefile
En programmerer kan kompilere C eller C ++ kildefilene for hånd ganske lett, så lenge prosjektet ikke er for stor. Men sammenstille store mengder kildefilene blir manuelt kjedelig og er utsatt for feil. Videre mange C prosjekter krever kompilering å skje i en bestemt rekkefølge, slik at avhengigheter mellom filene er oppfylt. Programmerere deretter bruke Make-filer til å administrere kompilere kildekoden til større prosjekter. Make-filer arbeide med "gjøre" -kommandoen til å diktere hvordan og når C filer i et program er kompilert.
Bruksanvisning
1 Lag en Makefile å kompilere en kildefilen. Forutsatt at en C kildefilen (kalt "hello.c") og en C header fil (som heter "hello.h") finnes, oppretter du en fil i samme katalog som heter "makefile." I Makefile, oppgir følgende utsagn:
hello.o:
gcc hello.cpp
Nå kjører "gjøre" fra terminalen. Dette bør kompilere hello.c til en "* .out" fil.
2 Bruk en Makefile for å håndtere en avhengighet. I Makefile, endre oppføringen for å ligne dette eksemplet:
hello.o: hello.h
gcc hello.cpp
Makefile definerer "hello.o" target til å avhenge av hello.h. Hvis hello.h finnes, så kommandoen til å kompilere hello.cpp vil utføre.
3 Bruk Makefile å kompilere flere avhengigheter. Anta nå at en annen fil, "goodbye.c" finnes i samme katalog som "hello.c." Endre Makefile for å vise at hello.o avhenger ut filen av goodbye.c:
hello.o: goodbye.o
gcc hello.cpp
goodbye.o:
gcc goodbye.c
I dette eksempel kreves hello.o goodbye.o. Så, Makefile kompilerer første goodbye.c å skape goodbye.o, og deretter hello.o vil ha sin avhengighet oppfylt.