# Opções de compilação CXXFLAGS=-g -Wall -ansi -pedantic # Comandos a usar na construção: # Para o pré-processamento e compilação: CXX=c++ # Para a fusão: CC=c++ # Arquivos a usar na fusão: LDLIBS= # Um ficheiro de construção consiste num conjunto de regras que # indicam que ficheiros dependem de que outros ficheiros. A regra # típica tem a forma: # # alvo : dependências # # onde alvo é o nome do ficheiro alvo e dependências é a lista de # ficheiros de que o alvo depende. É possível indicar que comando # deve ser usado para actualizar o alvo a partir das dependências. # Nesse caso a regra terá o seguinte aspecto: # # alvo : dependências # comando # # onde tem de existir um tabulador antes do comando! # O primeiro alvo explícito encontrado num ficheiro de construção é o # alvo que o construtor tenta construir se não lhe for indicado nenhum # outro. Neste caso esse alvo (fictício) chama-se tudo. É fictício # porque serve apenas para dizer que o objectivo é na realidade # construir dois executáveis. # Este ficheiro de construção serve para criar dois programas: media e procura tudo: media procura # O ficheiro executável (programa) media depende dos ficheiros objecto # listados: media: media.o aluno.o $(CC) $(CXXFLAGS) -o media media.o aluno.o # O ficheiro executável (programa) procura depende dos ficheiros # objecto listados: procura: procura.o aluno.o $(CC) $(CXXFLAGS) -o procura procura.o aluno.o # Os ficheiros objecto dependem dos ficheiros fonte listados (não é # necessário dizer que os ficheiros objecto dependem dos respectivos # ficheiros de implementação, pois o construtor sabe-o): aluno.o: aluno.H media.o: aluno.H procura.o: aluno.H