make
For alternative betydninger, se Make (flertydig). (Se også artikler, som begynder med Make)
Original skaber(e) | Stuart Feldman |
---|---|
Udgivet | 1977 |
Tilgængelig på | Engelsk |
make er et computerprogram til styring af omformning af filer fra et format til et andet. Typisk bruges make til at styre oversættelsen af programmer fra kildekode til færdigt program. Det bruges mest på Unix-lignende systemer, men det findes også til andre platforme. Ud fra afhængigheder, der er beskrevet i en fil med navnet Makefile og tidspunkterne for de enkelte filers seneste ændring kan make regne ud, hvilke filer, der skal behandles. Denne mekanisme kan spare meget tid når store programmer skal oversættes.
I sin enkleste form beskriver en Makefile, hvordan hver enkelt fil skal fremstilles og hvilke filer, den har afhængigheder til. En makefile til et Hello world-program kunne se sådan ud:
# Der bruges GNU-make
# Indbyggede variabler
CC = cc
CFLAGS = -O2 -Wall
LFLAGS =
# Lav som standard en programfil kaldet hello.
alt: hello
# Programmet består an en objektfil, som skal linkes
hello: hello.o
$(CC) $(LFLAGS) -o hello hello.o
# Objektfilen laves på baggrund af en filerne hello.c og licens.h
hello.o: hello.c licens.h
$(CC) $(CFLAGS) -c -o hello.o hello.c
Kommentarer markeres med #. Variabler defineres med lighedstegn og bruges med syntaksen $(variabel). Hver opgave, der skal udføres har et navn, som skrives i starten af en linje og afsluttes med et kolon. Eventuelle filer, der skal være tilstede før opgaven kan udføres angives på samme linje. Kommandoerne, der skal udføres indledes med et tabuleringstegn.
De fleste varianter af make har indbyggede regler for programmer skrevet i C, så det er tilstrækkeligt at beskrive afhængighederne. Den konkrete udførelse af oversættelsen kan så styres med indbyggede variabler.
Se også
Eksterne henvisninger
![]() | Spire Denne artikel om software og programmering er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den. |
|
Medier brugt på denne side
Forfatter/Opretter: Everaldo Coelho (YellowIcon);, Licens: LGPL
Et ikon fra Crystal-temaet