# Opes de compilao
CXXFLAGS=-g -Wall -ansi -pedantic

# Comandos a usar na construo:
# Para o pr-processamento e compilao:
CXX=c++

# Para a fuso:
CC=c++

# Arquivos a usar na fuso:
LDLIBS=

# Um ficheiro de construo consiste num conjunto de regras que
# indicam que ficheiros dependem de que outros ficheiros.  A regra
# tpica tem a forma:
#
# alvo : dependncias
#
# onde alvo  o nome do ficheiro alvo e dependncias  a lista de
# ficheiros de que o alvo depende.   possvel indicar que comando
# deve ser usado para actualizar o alvo a partir das dependncias.
# Nesse caso a regra ter o seguinte aspecto:
#
# alvo : dependncias
#         comando
#
# onde tem de existir um tabulador antes do comando!

# O primeiro alvo explcito encontrado num ficheiro de construo  o
# alvo que o construtor tenta construir se no lhe for indicado nenhum
# outro.  Neste caso esse alvo (fictcio) chama-se tudo.   fictcio
# porque serve apenas para dizer que o objectivo  na realidade
# construir dois executveis.

# Este ficheiro de construo serve para criar dois programas: media e procura
tudo: media procura

# O ficheiro executvel (programa) media depende dos ficheiros objecto
# listados:
media: media.o aluno.o
	$(CC) $(CXXFLAGS) -o media media.o aluno.o

# O ficheiro executvel (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 (no 
# necessrio dizer que os ficheiros objecto dependem dos respectivos
# ficheiros de implementao, pois o construtor sabe-o):
aluno.o: aluno.H aluno_impl.H
media.o: aluno.H aluno_impl.H
procura.o: aluno.H aluno_impl.H
