next up previous
Next: Uma Lista de Comandos Up: FMA 215 Aula 16: Previous: Tarefas

Problemas e dicas

  1. É comum querermos gerar um arquivo PS a partir de um arquivo LATEX. Para tanto, é necessário que exista o arquivo fonte, que o compilemos para gerar um arquivo DVI e, então, façamos a conversão para deste para PS com o comando

    dvips arquivo.dvi -o arquivo.ps

    Crie uma Makefile capaz de realizar essas tarefas. Não se esqueça de incluir nas dependências eventuais arquivos que sejam incluídos por meio do comando input. Sugestão: puxe do servidor o arquivo fonte desta apostila e crie sua Makefile.

  2. Consulte a apostila sobre arquivos ``tar e backups'' e desenvolva uma Makefile capaz de gerar tais tipos de arquivos num certo tipo de mídia (floppies ou zips), verificando antes a existência prévia desses arquivos. Use a própria capacidade de comparação de datas da Makefile para que ela considere ou não necessária a atualização do arquivamento. A Makefile deve ser capaz de montar a mídia num diretório e executar o comando tar convenientemente.

  3. A Makefile que produzimos nas tarefas apresenta todos os comandos que executa. Imagine que você estivesse preparando essa Makefile para impressionar seus amigos e não quisesse que nenhum deles soubesse o que se passa. Como silenciar o comando make? Dica: consulte ``Summary of Options'' em info make. Descubra qual é a variável especial definida na Makefile que cumpre essa exigência. Inspecione as outras opções e verifique qual delas permite que a Makefile execute tarefas paralelamente.

  4. Suponhamos que você não esteja conseguindo resolver algum problema no processo de ``debugging'' de sua Makefile. Dê o comando

    make -d >& log.txt

    respire fundo e leia o arquivo log.txt para saber como make se comporta com sua Makefile. Trata-se de um longo arquivo.

  5. Descubra como alterar a shell default da Makefile de bash para tcsh ou alguma outra. Dica: há uma variável na seção ``Quick reference'' de info make que trata disso.

  6. Desafio. No ítem 4, efetuamos a modificação do arquivo fp_def.f para que o parâmetro lá definido fosse alterado. Complete a Makefile das tarefas para que ela possa alterar automaticamente esse arquivo ao lhe darmos como argumento um número. Observe que deverá haver um alvo padrão (``default'') caso não forneçamos nenhum argumento. Dicas: crie um ``target'' extremamente genérico que dependa do arquivo fp_def.f e que saiba como editá-lo (provavelmente você terá de fazer uso do editor sed); chame a própria Makefile recursivamente para construir o executável. Sugestões: construa um ``fake target'' com o nome Makefile para evitar recursão infinita ou ``crashes'' (por quê?); dê um touch num arquivo de controle para evitar compilações redundantes (isso é necessário?).


next up previous
Next: Uma Lista de Comandos Up: FMA 215 Aula 16: Previous: Tarefas