# Makefile para exercícios ESTÁTICOS de POV-Ray # Last edited on 2010-03-04 15:43:50 by stolfi # Para cada novo exercício ESTÁTICO (não animado), # crie um novo sub-diretório "mo814/tp{NN} na sua # área Linux, onde {NN} é o número do laboratório, # e copie para ele este Makefile. # O nome do arquivo principal da descrição sua cena deve ser # OBRIGATORIAMENTE "main.pov", e a imagem final será "main.png" # A variável ${OTHERINPUTS} deve ser uma lista de # outros arquivos que fazem parte de seu modelo. # Ela automaticamente inclui todos os arquivos do diretório # corrente com extensão ".inc" (chamados via "#include" pelo # "main.pov"), imagens (usadas em texturas), arquivos de # fontes ".ttf" (usados em objetos de tipo texto), etc.. # Caso seu modelo use outros arquivos além desses, # acrescente-os no final da lista abaixo: # OTHERINPUTS := \ ${filter-out main.pov main.png main.gif, \ ${wildcard *.inc *.png *.jpg *.PNG *.JPG *.jpeg \ *.JPEG *.gif *.GIF *.bmp *.BMP \ } \ } # Os parâmetros abaixo definem o tamanho de uma imagem isolada em pixels. # O aspecto (razão largura:altura) deve ser igual ao aspecto da camera # (razão right:up) especificada no "main.pov". # FULLWIDTH := 480 FULLHEIGHT := 640 WIDTH := ${FULLWIDTH} HEIGHT := ${FULLHEIGHT} # Especifique a densidade de raios por pixel linear. Pode ser NRAYS = # 1 para rapidez, NRAYS = 2 para qualidade: # NRAYS := 1 # Use "make" para rodar o POV-Ray no arquivo "main.pov". # Use "make-export" para entregar seu trabalho no final da aula. # ---------------------------------------------------------------------- # Normalmente, você não deveria precisar mexer nas linhas abaixo: # Cuidado: linhas que começam com 8 colunas em branco devem # começar com 1 TAB, e não com SPACEs. # Nome do arquivo ".pov" principal, e prefixo para arqs de saída MAIN := main # None completo do programa: POVRAY := povray # Sub-diretório com bibliotecas de objetos, texturas, etc. POVINC := /usr/share/povray/include # Diretório onde encontrar descrições ".TTF" de fonts POVTTF := ${HOME}/ttf # Comando para visualizar as imagens produzidas pelo POV-Ray IMVIEW := display -title '%d/%f' # Comando para converter imagens de um formato para outro CONVERT := convert # Script que efetua a entrega dos programas EXPORT := ${HOME}/bin/mc930-export .PHONY: all export export-home image show # O comand "make" equivale a "make image": all: image show # O comand "make image" cria uma imagem estática a partir de ${MAIN}.pov: image: ${MAIN}.png # O comand "make export" copia seu trabalho para sua área ${HOME}/public_html/: export: ${MAIN}.png ${MAIN}.pov ${OTHERINPUTS} ${EXPORT} ${MAIN}.png ${MAIN}.pov ${OTHERINPUTS} # Receita para criar ${MAIN}.png a partir de ${MAIN}.pov ${MAIN}.png: ${MAIN}.pov ${OTHERINPUTS} # Apaga a imagem da rodada anterior, se houver: -/bin/rm -f ${MAIN}.png # Roda o POV-Ray: nice ${POVRAY} \ +FN +Q9 \ +W${WIDTH} +H${HEIGHT} \ +AM1 +A0.0 +R${NRAYS} \ +D +SP32 +EP4 \ +L$${HOME}/lib/povray +L${POVINC} +L${POVTTF} \ +I${MAIN}.pov \ +O${MAIN}.png # "make show" mostra a imagem pronta na tela, se existir: show: @if [[ -s ${MAIN}.png ]]; \ then ${IMVIEW} ${MAIN}.png ; \ else echo "A imagem ${MAIN}.png não foi criada!" ; \ fi