Hvordan å kompilere C koder i Makefile

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.