Programar em C/Makefiles: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
EvertonS (discussão | contribs)
Linha 297:
*make clean
*make mrproper
 
====Make install:====
 
Automatisando a instalação do programa com a regra install: .<br>
* install: .Coloca o binario ou executavel em uma determinada pasta ,/bin ou /usr/bin no linux
mais pode ser em qualquer outra.E so usar o comando "mv" ou "cp" mover ou copiar.
* Crie uma pasta bin dentro de "Projetos". Devem saber que nao devem colocar nada inutil que venha da internete na pasta raiz do linux.
*Vamos fazer duas variaveis:
**prefix=/caminho/ate onde/esta/ Projetos
**bindir=$(prefix)/bin .Igual a /caminho ate/Projeto/dentro de Projeto a pasta bin .
**E adicionarmos a regra install:all com seus comandos.
Modificando o make principal.
 
 
########################## O Makefile principal ##########################"
#Valeu Everton
#Coloque o caminho ate Projeto aqui
prefix=/home/USER/Projeto
bindir=$(prefix)/bin
CC=gcc
CFLAGS=-W -Wall -ansi -pedantic
EXEC=teste
SRC= $(wildcard *.c)
OBJ= $(SRC:.c=.o)
all: $(EXEC)
@echo "Compilando Projeto"
@echo "O patrao foi compilado"
#A linha que vai compilar sub-make
@cd sub-make && $(MAKE)
teste: $(OBJ)
@$(CC) -o $@ $^
%.o: %.c
@$(CC) -o $@ -c $< $(CFLAGS)
main.o: main.c teste.h
@$(CC) -o $@ -c $< $(CFLAGS)
#Entao depois e so executar make e depois make install
install:all
@mv $(EXEC) $(bindir)/
.PHONY: clean mrproper
clean:
@rm -rf *.o *~
# E a mesma coisa que dar um F4 dentro da pasta sub-make
# e escrever make clean
@cd sub-make && $(MAKE) $@
mrproper: clean
@cd bin && rm -rf $(EXEC)
#modificamos aqui tambem
@cd sub-make && $(MAKE) $@
 
Então quando você digitar no console "make" depois "make install" ele vai colocar o binario que esta em
"Projetos" dentro de "bin".<br>
Se você quizer colocar o binario que esta na pasta "sub-make" na pasta "bin"
*Copiar e colar no makefile da "sub-make" as variaveis "prefix" e "bindir"e a regra install:com seu comando.
*E no "Makefile principal" em baixo de "install:" coloque esta linha @cd sub-make && $(MAKE) $@
*Aqui eu modifiquei o "mrproper" porque agora os binarios que devem ser apagados com "make mrproper" estão em "bin".
*Vou deixar voces modificarem o "mrproper" do "sub-makefile" como pessoas adultas e responsaveis ;) Valeu galera.
Os comandos no console são:<br>
*make
*make install
*make clean
*make mrproper .Para apagar os binarios.
 
[[Categoria:Programar em C]]