Make
O ficheiro "Makefile" é constituido por comandos como os seguintes: foo.o: foo.c foo.h bar.h gcc -o foo.o foo.c logobig.ppm: logo.pov $(POVRAY) logo.pov -k0 -o logobig.ppm O primeiro comando ordena a recompilação do ficheiro foo.o se um dos ficheiros foo.c, foo.h ou bar.h for mais recente que foo.o. Diz-se que foo.o depende de foo.c, foo.h ou bar.h. O segundo comando estabelece uma dependência de logobig.ppm em relação a logo.pov e ordena a compilação do ficheiro logobig.ppm através do programa POV-Ray. Os ficheiros Makefile são utilizados para compilar programas, mas podem ser utilizados em qualquer situação em que alguns ficheiros são produzidos a partir de outros através de programa que podem ser executados a partir da linha de comandos. Estrutura do makefileUm Makefile consiste de linhas de dependência, que definem um destino (uma regra), seguido por dois pontos (:) e opcionalmente um conjunto de arquivos nos quais o destino depende. A linha de dependência é organizada de maneira que o destino (do lado esquerdo do caractere :) depende dos componentes (do lado direito do caractere :). Após cada linha de dependência, uma série de linhas de texto identado por tabulação pode vir adiante, o que define a maneira de como transformar os componentes (normalmente arquivos fonte) no destino (normalmente a "saída"). Se qualquer um dos componentes for modificado, os comandos abaixo da linha serão executados. A estrutura básica é: # Comentários são iniciados com o símbolo cerquilha (#).
destino [destino ...]: [componente ...]
[<TAB>comando 1]
.
.
.
[<TAB>comando n]
Um exemplo de um ficheiro (arquivo) makefile# Especifica o compilador
CC = g++
# Especifica as opções do compilador
CFLAGS = -g
LDFLAGS = -L/usr/openwin/lib
LDLIBS = -lX11 -lXext
# Necessário para reconhecer .cpp como uma extensão de ficheiro (arquivo)
.SUFFIXES: $(SUFFIXES) .cpp
# Nome do executável
PROG = life
# Lista dos ficheiros (arquivos) objetos necessários para o programa final
OBJS = main.o window.o Board.o Life.o BoundedBoard.o
all: $(PROG)
# Compilação do programa e passos das ligações de dependências
$(PROG): $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) -o $(PROG) $(OBJS)
.cpp.o:
$(CC) $(CFLAGS) -c $*.cpp
Como obter o MakeOs utilizadores do GNU/Linux devem recorrer ao endereço seguinte: http://www.gnu.org/directory/. Alternativas
Ligações externas |
Portal di Ensiklopedia Dunia