diff options
| author | Rogério <roger.lista@gmail.com> | 2018-10-20 23:47:54 -0300 | 
|---|---|---|
| committer | Rogério <roger.lista@gmail.com> | 2018-10-20 23:47:54 -0300 | 
| commit | e3123b92837ed05dd802c24e5e99d966d2a9f306 (patch) | |
| tree | f15183205b121c9b526c70f4fbd40496ee882bbe | |
| parent | 097fbf70761a8e525e574162b684e14e166f871b (diff) | |
Remove make translate
| -rw-r--r-- | pt-br/make-pt.html.markdown | 242 | 
1 files changed, 0 insertions, 242 deletions
| diff --git a/pt-br/make-pt.html.markdown b/pt-br/make-pt.html.markdown deleted file mode 100644 index 8e7603cc..00000000 --- a/pt-br/make-pt.html.markdown +++ /dev/null @@ -1,242 +0,0 @@ ----
 -language: make
 -contributors:
 -    - ["Robert Steed", "https://github.com/robochat"]
 -    - ["Stephan Fuhrmann", "https://github.com/sfuhrm"]
 -filename: Makefile
 -
 -lang: pt-br
 ----
 -
 -Um Makefile define um gráfico de regras para criar um alvo (ou alvos). Sua finalidade é fazer o mínimo de trabalho necessário para atualizar um alvo para a versão mais recente da fonte. Famosamente escrito ao longo de um fim de semana por Stuart Feldman em 1976, ainda é amplamente usada (particularmente no Unix e no Linux) apesar de muitos concorrentes e críticas.
 -
 -Existem muitas variedades de make na existência, no entanto, este artigo pressupõe que estamos usando o GNU make, que é o padrão no Linux.
 -
 -```make
 -
 -# Comentários podem ser escritos assim.
 -
 -# O arquivo deve ser nomeado Makefile e então pode ser executado como `make <alvo>`.
 -# Caso contrário, nós usamos `make -f "nome-do-arquivo" <alvo>`.
 -
 -# Aviso - use somente TABS para identar em Makefiles, nunca espaços!
 -
 -#-----------------------------------------------------------------------
 -# Noções básicas
 -#-----------------------------------------------------------------------
 -
 -# Regras são do formato
 -# alvo: <pré-requisito>
 -# onde os pré-requisitos são opcionais.
 -
 -# Uma regra - esta regra só será executada se o arquivo0.txt não existir.
 -arquivo0.txt:
 -	echo "foo" > arquivo0.txt
 -	# Mesmo os comentários nestas seções da 'receita' são passados para o shell.
 -	# Experimentar `make arquivo0.txt` or simplyou simplesmente `make` - primeira regra é o padrão.
 -
 -# Esta regra só será executada se arquivo0.txt for mais recente que arquivo1.txt.
 -arquivo1.txt: arquivo0.txt
 -	cat arquivo0.txt > arquivo1.txt
 -	# se as mesmas regras de citação do shell.
 -	@cat arquivo0.txt >> arquivo1.txt
 -	# @ pára o comando de ser ecoado para stdout.
 -	-@echo 'hello'
 -	# - significa que make continuará em caso de erro.
 -	# Experimentar `make arquivo1.txt` na linha de comando.
 -
 -# Uma regra pode ter vários alvos e vários pré-requisitos
 -arquivo2.txt arquivo3.txt: arquivo0.txt arquivo1.txt
 -	touch arquivo2.txt
 -	touch arquivo3.txt
 -
 -# Make vai reclamar sobre várias receitas para a mesma regra. Esvaziar
 -# receitas não contam e podem ser usadas para adicionar novas dependências.
 -
 -#-----------------------------------------------------------------------
 -# Alvos falsos
 -#-----------------------------------------------------------------------
 -
 -# Um alvo falso. Qualquer alvo que não seja um arquivo.
 -# Ele nunca será atualizado, portanto, o make sempre tentará executá-lo.
 -all: maker process
 -
 -# Podemos declarar as coisas fora de ordem.
 -maker:
 -	touch ex0.txt ex1.txt
 -
 -# Pode evitar quebrar regras falsas quando um arquivo real tem o mesmo nome
 -.PHONY: all maker process
 -# Este é um alvo especial. Existem vários outros.
 -
 -# Uma regra com dependência de um alvo falso sempre será executada
 -ex0.txt ex1.txt: maker
 -
 -# Alvos falsos comuns são: todos fazem instalação limpa ...
 -
 -#-----------------------------------------------------------------------
 -# Variáveis Automáticas e Curingas
 -#-----------------------------------------------------------------------
 -
 -process: Arquivo*.txt	# Usando um curinga para corresponder nomes de arquivos
 -	@echo $^	# $^ é uma variável que contém a lista de pré-requisitos
 -	@echo $@	# imprime o nome do alvo
 -	#(fpara várias regras alvo, $@ é o que causou a execução da regra)
 -	@echo $<	# o primeiro pré-requisito listado
 -	@echo $?	# somente as dependências que estão desatualizadas
 -	@echo $+	# todas as dependências, incluindo duplicadas (ao contrário do normal)
 -	#@echo $|	# todos os pré-requisitos 'somente pedidos'
 -
 -# Mesmo se dividirmos as definições de dependência de regra, $^ vai encontrá-los
 -process: ex1.txt arquivo0.txt
 -# ex1.txt será encontrado, mas arquivo0.txt será desduplicado.
 -
 -#-----------------------------------------------------------------------
 -# Padrões
 -#-----------------------------------------------------------------------
 -
 -# Pode ensinar make a converter certos arquivos em outros arquivos.
 -
 -%.png: %.svg
 -	inkscape --export-png $^
 -
 -# As regras padrões só farão qualquer coisa se decidirem criar o alvo.
 -
 -# Os caminhos de diretório são normalmente ignorados quando as regras de
 -# padrões são correspondentes. Mas make tentará usar a regra mais
 -# apropriada disponível.
 -small/%.png: %.svg
 -	inkscape --export-png --export-dpi 30 $^
 -
 -# make utilizará a última versão para uma regra de padrão que encontrar.
 -%.png: %.svg
 -	@echo esta regra é escolhida
 -
 -# No entanto, o make usará a primeira regra padrão que pode se tornar o alvo
 -%.png: %.ps
 -	@echo esta regra não é escolhida se *.svg and *.ps estão ambos presentes
 -
 -# make já tem algumas regras padrões embutidas. Por exemplo, ele sabe
 -# como transformar arquivos *.c em arquivos *.o.
 -
 -# Makefiles antigos podem usar regras de sufixo em vez de regras padrões
 -.png.ps:
 -	@echo essa regra é semelhante a uma regra de padrão.
 -
 -# make sobre a regra de sufixo
 -.SUFFIXES: .png
 -
 -#-----------------------------------------------------------------------
 -# Variáveis
 -#-----------------------------------------------------------------------
 -# aka. macros
 -
 -# As variáveis são basicamente todos os tipos de string
 -
 -name = Ted
 -name2="Sarah"
 -
 -echo:
 -	@echo $(name)
 -	@echo ${name2}
 -	@echo $name    # Isso não funcionará, tratado como $ (n)ame.
 -	@echo $(name3) # Variáveis desconhecidas são tratadas como strings vazias.
 -
 -# Existem 4 lugares para definir variáveis.
 -# Em ordem de prioridade, do maior para o menor:
 -# 1: argumentos de linha de comando
 -# 2: Makefile
 -# 3: variáveis de ambiente do shell - faça importações automaticamente.
 -# 4: make tem algumas variáveis predefinidas
 -
 -name4 ?= Jean
 -# Somente defina a variável se a variável de ambiente ainda não estiver definida.
 -
 -override name5 = David
 -# Pára os argumentos da linha de comando de alterar essa variável.
 -
 -name4 +=grey
 -# Anexar valores à variável (inclui um espaço).
 -
 -# Valores variáveis específicos de padrões (extensão GNU).
 -echo: name2 = Sara # Verdadeiro dentro da regra de correspondência
 -	# e também dentro de suas recursivas dependências
 -	# (exceto que ele pode quebrar quando seu gráfico ficar muito complicado!)
 -
 -# Algumas variáveis definidas automaticamente pelo make
 -echo_inbuilt:
 -	echo $(CC)
 -	echo ${CXX}
 -	echo $(FC)
 -	echo ${CFLAGS}
 -	echo $(CPPFLAGS)
 -	echo ${CXXFLAGS}
 -	echo $(LDFLAGS)
 -	echo ${LDLIBS}
 -
 -#-----------------------------------------------------------------------
 -# Variáveis 2
 -#-----------------------------------------------------------------------
 -
 -# O primeiro tipo de variáveis é avaliado a cada vez que elas são usadas.
 -# TIsso pode ser caro, então existe um segundo tipo de variável que é
 -# avaliado apenas uma vez. (Esta é uma extensão do GNU make)
 -
 -var := hello
 -var2 ::=  $(var) hello
 -#:= e ::= são equivalentes.
 -
 -# Essas variáveis são avaliadas procedimentalmente (na ordem em que
 -# aparecem), quebrando assim o resto da línguagem!
 -
 -# Isso não funciona
 -var3 ::= $(var4) and good luck
 -var4 ::= good night
 -
 -#-----------------------------------------------------------------------
 -# Funções
 -#-----------------------------------------------------------------------
 -
 -# make tem muitas funções disponíveis.
 -
 -sourcefiles = $(wildcard *.c */*.c)
 -objectfiles = $(patsubst %.c,%.o,$(sourcefiles))
 -
 -# O formato é $(func arg0,arg1,arg2...)
 -
 -# Alguns exemplos
 -ls:	* src/*
 -	@echo $(filter %.txt, $^)
 -	@echo $(notdir $^)
 -	@echo $(join $(dir $^),$(notdir $^))
 -
 -#-----------------------------------------------------------------------
 -# Diretivas
 -#-----------------------------------------------------------------------
 -
 -# Inclua outros makefiles, úteis para código específico da plataforma
 -include foo.mk
 -
 -sport = tennis
 -# Compilação condicional
 -report:
 -ifeq ($(sport),tennis)
 -	@echo 'game, set, match'
 -else
 -	@echo "They think it's all over; it is now"
 -endif
 -
 -# Há também ifneq, ifdef, ifndef
 -
 -foo = true
 -
 -ifdef $(foo)
 -bar = 'hello'
 -endif
 -```
 -
 -### More Resources
 -
 -+ [documentação gnu make](https://www.gnu.org/software/make/manual/)
 -+ [tutorial de carpintaria de software](http://swcarpentry.github.io/make-novice/)
 -+ aprenda C da maneira mais difícil [ex2](http://c.learncodethehardway.org/book/ex2.html) [ex28](http://c.learncodethehardway.org/book/ex28.html)
 | 
